▼最近直播超级多,预约保你有收获
—0—
背景
如果只需要构建一份任务相关的数据,就可以轻松通过网页界面的形式进行 Fine-tuning 微调操作, 那么必将大大减轻微调工作量。
今年的 ACL 2024见证了北航和北大合作的突破—论文《LLAMAFACTORY: 统一高效微调超百种语言模型》。他们打造的 LLaMA-Factory,集成了顶尖的训练效率技术,让用户能轻松通过网页界面 LLAMABOARD,无须编码,即对上百个语言模型进行个性化微调。
值得注意的是,项目在论文发表前,GitHub 上已获 13,000 Stars 和 1,600 forks,彰显了其巨大影响力。
—1—
微调界面预览(LLaMA Board)
—2—
如何准备微调环境?
第1步 clone LLaMA-Factory:git clone --depth1https://github.com/hiyouga/LLaMA-Factory.git
第2步进入目录:cd LLaMA-Factory
第3步创建基础环境:conda create-n<你的环境名称>python=3.10
第4步进入conda环境:conda activate <你的环境名称>
第5步安装依赖:pip install-e.[metrics]-ihttps://pypi.tuna.tsinghua.edu.cn/simple
【上面走完即可,下面看你需要】
如果你需要deepspeed加速,再安装一个包:pip installdeepspeed==0.14.3
[
{
"id": "p1",
"system":"你是一个销售小助手,你的任务是邀请程序员购买AI大模型课程",
"conversations": [
{
"from": "user",
"value":"你好,你是?"
},
{
"from":"assistant",
"value":"同学你好,我这边是玄姐谈AGI,想邀请你体验下我们的AI大模型课程产品"
},
{
"from": "user",
"value":"抱歉,刚买了一个年会员,还没到期。"
},
{
"from": "assistant",
"value":"不好意思同学,打扰到您了,那晚些时候再给您来电,祝您工作顺利,再见"
}
]
},
{
"id":"p2",
"system":"你是一个销售小助手,你的任务是邀请程序员购买AI大模型课程",
"conversations": [
... ...
]
},
... ...
]
接下来需要完成数据配置,具体操作如下:
第三步、cd目录,找到 dataset_info.json
cd LLaMa-Factory/data/dataset_info.json
第四步、在字典中添加自己的数据信息
"my_task": {
"file_name":finetune_data.json#你自己数据的路径,这里是直接存放在LLaMa-Factory/data/finetune_data.json目录下了,所以直接写数据名
"formatting": sharegpt
"columns": {
"messages": "conversations",
"tools": "id"
},
"tags": {
"role_tag":"from",
"content_tag":"value",
"user_tag": "user",
"assistant_tag": "assistant"
}
}
—3—
开始微调训练
方法一、以LLaMA Board 方式进行选参训练
### model
model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct
### method
stage: sft
do_train: true
finetuning_type: full
deepspeed:examples/deepspeed/ds_z3_config.json(加速,当显存不够,你可以使用ds_z3_offload_config.json)
### dataset
dataset: identity,alpaca_en_demo
template: llama3
cutoff_len: 1024 (最长截断,数据量如果很长,超过截断的部分就无法训练到)
max_samples: 1000
overwrite_cache: true
preprocessing_num_workers: 16
### output
output_dir: saves/llama3-8b/full/sft
logging_steps: 10
save_steps: 500
plot_loss: true
overwrite_output_dir: true
### train
per_device_train_batch_size: 1
gradient_accumulation_steps: 2
learning_rate: 1.0e-4
num_train_epochs: 3.0
lr_scheduler_type: cosine
warmup_ratio: 0.1
fp16: true
ddp_timeout: 180000000
### eval
val_size: 0.1
per_device_eval_batch_size: 1
eval_strategy: steps
eval_steps: 500
—4—
查看训练日志
微调过程完毕后,你可前往指定的输出目录(output_dir),在其中详尽审视训练日志,这些记录涵盖了关键指标,比如:训练损失与验证损失,助你全面了解模型学习的进展与性能。
—5—
微调后评估
要更新大模型的适配器,只需简单选取目标模型即可完成配置。而经过微调训练得到的大模型,其部署和调用方式则与其他预训练大模型保持一致,确保了使用的便捷性和通用性。
参考感谢:https://mp.weixin.qq.com/s/QHL_Q_3s6lfbqC4zkbQOKA
为了帮助同学们彻底掌握 AI 大模型Agent 智能体、知识库、向量数据库、 RAG、微调私有大模型的应用开发、部署、生产化,今天直播和同学们深度剖析,请同学们点击以下预约按钮免费预约。
本篇文章来源于微信公众号: 玄姐谈AI
微信扫描下方的二维码阅读本文
Comments NOTHING