Llama3 中文通用 Agent 微调模型实战教程
前言
Llama3 模型发布后,国内开发者对其进行了广泛的训练和适配。除了中文纯文本模型外,多模态版本也在陆续发布中。考虑到国内用户对 Agent(智能体)场景的特定需求,魔搭社区 LLM&AIGC 模型微调推理框架 SWIFT 基于 Llama3-8b-instruct 原始版本训练了通用中文模型,并保留且适配了中文 Agent 能力。这是开源社区中率先完整适配中文环境的通用 Agent Llama3 模型。
本教程将详细介绍如何使用 SWIFT 框架对 Llama3 进行中文 Agent 能力的微调,包括环境准备、数据配置、训练命令解析及推理部署。
使用方式
推荐用户直接使用 swift 进行推理或部署:
# 安装依赖
pip install ms-swift -U
# 推理
swift infer --model_type llama3-8b-instruct --model_id_or_path swift/Llama3-Chinese-8B-Instruct-Agent-v1
# 部署
swift deploy --model_type llama3-8b-instruct --model_id_or_path swift/Llama3-Chinese-8B-Instruct-Agent-v1
本模型可以联合 ModelScopeAgent 框架使用,具体参考官方文档中的 Agent 微调最佳实践部分。
环境准备
我们使用了魔搭官方框架 SWIFT 进行模型训练。开发者如果希望训练 Llama3 中文版本,请参考以下安装方式。
系统要求
- GPU: 建议至少 8GB 显存用于 LoRA 微调,推荐 A100 或 V100 以获得更佳性能。
- Python: 建议 Python 3.9 及以上版本。
- CUDA: 确保 CUDA 驱动与 PyTorch 版本兼容。
安装步骤
# 设置国内镜像源加速下载
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
# 克隆 SWIFT 仓库
git clone https://github.com/modelscope/swift.git
cd swift
# 安装 LLM 相关依赖
pip install -e '.[llm]'
# 环境对齐 (通常不需要运行,如果你运行错误,可以跑下面的代码,仓库使用最新环境测试)
pip install -r requirements/framework.txt -U
pip install -r requirements/llm.txt -U
数据准备
为了适配中文及 Agent 场景,我们对语料进行了一定混合配比。训练 Llama3 使用的语料如下:
- COIG-CQIA:包含中国传统知识、豆瓣、弱智吧、知乎等中文互联网信息,增强中文常识与文化理解。
- 魔搭通用 Agent 训练数据集:专门针对 Agent 任务构建的数据集,强化工具调用和规划能力。
- alpaca-en:英文指令微调数据,保持基础指令遵循能力。
- ms-bench 魔搭通用中文问答数据集:提升通用中文问答质量。
SWIFT 支持很多其他对训练有帮助的开源数据集,如 Firefly 中文数据集、DeepCtrl 多语数据集、Alpaca/ShareGPT 等。如开发者希望用其他数据集训练 Llama3,只需要在命令行指定 --dataset firefly-all-zh 等即可使用它们。


