XTuner 是一个高效、灵活且功能齐全的工具包,用于微调大型模型。
源代码
http://www.gitpp.com/snakefamer/xtuner
功能齐全
支持持续预训练、指令微调、代理微调。
支持使用预定义模板与大模型聊天。
输出模型可以与部署和服务器工具包(LMDeploy)以及大规模评估工具包(OpenCompass,VLMEvalKit)无缝集成。
高效的
支持几乎所有GPU上的LLM、VLM预训练/微调。XTuner能够在单个8GB GPU上微调7B LLM,以及超过70B的模型的多节点微调。
自动调度 FlashAttention 和 Triton 内核等高性能算子,以提高训练吞吐量。
兼容DeepSpeed 🚀,轻松利用多种 ZeRO 优化技术。
灵活的
支持各种LLM(InternLM,Mixtral-8x7B,Llama 2,ChatGLM,Qwen,Baichuan,...)。
支持VLM(LLaVA)。LLaVA-InternLM2-20B的性能非常出色。
精心设计的数据管道,可容纳任何格式的数据集,包括但不限于开源和自定义格式。
支持多种训练算法(QLoRA、LoRA、全参数fune-tune),让用户可以根据自己的需求选择最合适的解决方案。

XTuner是一个开源项目,专为高效、灵活且功能齐全的大型模型微调而设计。以下是关于XTuner的详细介绍及其价值所在:
XTuner介绍
XTuner是一个由MMRazor和MMDeploy联合开发的微调工具箱,它以配置文件的形式封装了大部分微调场景,使得非专业人员也能轻松进行微调操作。这个工具箱支持多种微调策略,包括增量预训练和指令跟随微调,以满足不同场景下的需求。
XTuner支持多种大模型,如InternLM、Llama/Llama2、ChatGLM2/ChatGLM3等,并提供了全参、LoRA、QLoRA三种微调方式。其中,QLoRA是LoRA微调的改进版。此外,XTuner还集成了DeepSpeed ZeRO优化策略,通过降低显存开销来提高训练效率。
为了支持超长上下文训练,XTuner还开发了一套超长上下文训练解决方案。这套方案支持全量训练超过百万个tokens的序列,以及“千亿级参数”模型。通过序列并行和扩展ZeRO3能力边界,XTuner实现了对超长序列训练的支持。
XTuner的价值
易用性和可访问性:XTuner通过配置文件的形式封装了大部分微调场景,使得0基础的非专业人员也能进行微调操作。这大大降低了大型模型微调的门槛,提高了易用性和可访问性。
多样化的微调策略:XTuner支持增量预训练和指令跟随微调等多种微调策略,以满足不同场景下的需求。这使得用户能够根据实际应用场景灵活选择合适的微调方式。
广泛的模型支持:XTuner支持多种主流的大型模型,如InternLM、Llama/Llama2等,这使得用户能够轻松地对这些模型进行微调,以满足特定的应用需求。
高效的显存优化:XTuner集成了DeepSpeed ZeRO优化策略,通过降低显存开销来提高训练效率。这使得在有限的硬件资源下能够更高效地进行模型微调。
支持超长上下文训练:XTuner的超长上下文训练解决方案为用户提供了更大的灵活性,支持训练超过百万个tokens的序列和千亿级参数的模型。这对于需要处理长序列和复杂任务的应用场景具有重要意义。
综上所述,XTuner作为一个开源项目,不仅提供了高效、灵活且功能齐全的微调工具包,还通过降低门槛、提供多样化的微调策略、广泛的模型支持、高效的显存优化以及支持超长上下文训练等方面的优势,为用户带来了极大的便利和价值。
XTuner 是一个高效、灵活且功能齐全的工具包,用于微调大型模型。
源代码
http://www.gitpp.com/snakefamer/xtuner

