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都能滿足不同場景下的需求,是進行大型語言模型微調的理想選擇。