XTuner是一个由InternLM团队开发的高效、灵活、全功能的大型语言模型微调工具包。该项目旨在为用户提供一个简单易用且功能强大的工具,用于微调各种大型语言模型,包括InternLM、Llama、Qwen、ChatGLM、Baichuan等主流模型。
XTuner支持广泛的模型家族,包括但不限于:
模型系列 | 具体模型 | 特点 |
---|---|---|
InternLM | InternLM、InternLM2、InternLM2.5、InternLM3 | 中文优化,性能优异 |
Llama | Llama 2、Llama 3 | Meta开源模型 |
Qwen | Qwen 1.5等 | 阿里巴巴开源模型 |
ChatGLM | ChatGLM3-6B等 | 清华大学开源模型 |
Baichuan | Baichuan2等 | 百川智能开源模型 |
Mixtral | Mixtral 8x7B | Mistral AI的混合专家模型 |
其他 | Gemma、DeepSeek、MiniCPM等 | 各大公司开源模型 |
XTuner在多模态领域表现出色,特别是在视觉语言模型方面:
# 创建Python 3.10虚拟环境
conda create --name xtuner-env python=3.10 -y
conda activate xtuner-env
pip install -U xtuner
pip install -U 'xtuner[deepspeed]'
git clone https://github.com/InternLM/xtuner.git
cd xtuner
pip install -e '.[all]'
# 查看所有可用配置
xtuner list-cfg
# 复制配置文件进行自定义
xtuner copy-cfg ${CONFIG_NAME} ${SAVE_PATH}
# 单GPU微调
xtuner train internlm2_5_chat_7b_qlora_oasst1_e3 --deepspeed deepspeed_zero2
# 多GPU微调
NPROC_PER_NODE=${GPU_NUM} xtuner train internlm2_5_chat_7b_qlora_oasst1_e3 --deepspeed deepspeed_zero2
# 将PTH模型转换为Hugging Face格式
xtuner convert pth_to_hf ${CONFIG_NAME_OR_PATH} ${PTH} ${SAVE_PATH}
# 与微调后的模型对话
xtuner chat ${NAME_OR_PATH_TO_LLM} --adapter ${NAME_OR_PATH_TO_ADAPTER}
XTuner作为InternLM生态系统的重要组成部分,与其他工具紧密集成:
XTuner是一个功能全面、性能优异的大型语言模型微调工具包。它不仅支持广泛的模型和训练算法,还提供了完整的工具链,从数据准备到模型部署,为用户提供了一站式的解决方案。无论是学术研究还是工业应用,XTuner都能满足不同场景下的需求,是进行大型语言模型微调的理想选择。