一、环境配置
使用环境:InternStudioOpenAIDE 是面向算法开发者与研究员的云端集成开发环境。基于「容器实例」,「镜像中心」,「分布式训练」,「公开数据集」模块为用户提供 “算力、算法、数据” 深度学习模型训练三要素,让算法开发变得更简单、更方便https://studio.intern-ai.org.cn/ ,2024-5-19前可以免费使用24G显存A100,如果发现是8G请加群联系助教。
也可以使用autodl算力,教程如下:Llama3-Tutorial/docs_autodl/assistant.md at main · SmartFlowAI/Llama3-Tutorial · GitHub
接上一篇文章,CSDN,切换到虚拟环境,已切换请忽略
conda activate llama3
二、训练集准备
cd ~/Llama3-Tutorial
python tools/gdata.py
以上脚本在生成了 ~/Llama3-Tutorial/data/personal_assistant.json 数据文件格式如下所示,注意这事一个过拟合的数据集,微调之后就会乱答了,但主要想让大家感受微调之后的效果,想取得比较好的效果请自行准备数据集:
[
{
"conversation": [
{
"system": "你是一个懂中文的小助手",
"input": "你是(请用中文回答)",
"output": "您好,我是极AI,一个由 JiAI 打造的人工智能助手,请问有什么可以帮助您的吗?"
}
]
},
{
"conversation": [
{
"system": "你是一个懂中文的小助手",
"input": "你是(请用中文回答)",
"output": "您好,我是极AI,一个由 JiAI 打造的人工智能助手,请问有什么可以帮助您的吗?"
}
]
}
]
三、模型训练
操作完成大家可以多看看里面脚本的代码,学习
cd ~/Llama3-Tutorial
# 开始训练
xtuner train configs/assistant/llama3_8b_instruct_qlora_assistant.py --work-dir /root/llama3_pth
# Adapter PTH 转 HF 格式
xtuner convert pth_to_hf /root/llama3_pth/llama3_8b_instruct_qlora_assistant.py \
/root/llama3_pth/iter_500.pth \
/root/llama3_hf_adapter
# 模型合并
export MKL_SERVICE_FORCE_INTEL=1
xtuner convert merge /root/model/Meta-Llama-3-8B-Instruct \
/root/llama3_hf_adapter\
/root/llama3_hf_merged
四、推理验证
如果报错一般是算力不够,算力不够可以用~/Llama3-Tutorial/tools/internstudio_quant_web_demo.py脚本
streamlit run ~/Llama3-Tutorial/tools/internstudio_web_demo.py \
/root/llama3_hf_merged