查看原文
其他

上海AI实验室发布大模型训练工具箱XTuner,大幅降低训练成本

Shanghai AI Lab 上海人工智能实验室 2023-09-21

近日,上海人工智能实验室(上海AI实验室)发布低成本大模型训练工具箱XTuner,再次降低大模型训练门槛,惠及更多开发者和企业。


此前,上海AI实验室推出首个面向大模型研发与应用的全链条开源体系,贯穿数据、预训练、微调、部署和评测五大环节。本次发布的XTuner聚焦于微调环节,为各类开源大模型提供了轻量级微调框架,再次巩固全链条开源体系的实用工具属性。


传统大模型训练方式之下的高昂硬件成本,将不少开发者及企业“挡在门外”。XTuner支持多种层级硬件的适配,开发者最低只需使用8GB消费级显存,即可训练出适用于具体需求场景的“专属大模型”,“真金白银”拉低大模型训练成本,与各界一道共同推动技术进步。


开源链接:

https://github.com/InternLM/xtuner


X种选择

XTuner支持与书生·浦语(InternLM)、Llama等多款开源大模型的适配,可执行增量预训练、指令微调、工具类指令微调等任务类型。硬件要求上,在Tesla T4、A100等传统数据中心之外,开发者最低使用消费级显卡便可进行训练,实现大模型特定需求能力。
XTuner为各类开源模型提供了多样的微调框架 
除单点功能外,XTuner还具备以下三项“黑科技”,让开发者可以做到真正的“面向数据”工作。

黑科技一

适配多种数据集格式

XTuner 适配了多个热门开源数据集格式:
• Alpaca 格式,斯坦福大学开源数据集的格式,也是社区开源项目使用较多的一种格式;
• MOSS 格式,复旦大学开源指令微调数据集的格式,包含多轮对话和工具调用;
• Gunacao 格式,QLoRA 项目中所使用数据集的格式;
• OpenAI 格式,GPT-3.5-Turbo Finetune 接口要求的数据集格式;

开发者可直接使用对应格式的数据集,并支持多种格式数据源的混合使用,目前,更多适配的数据集格式正在持续更新。

pip install xtuner

# 训练混合了 Alpaca 格式和 Gunacao 格式的数据

xtuner train internlm_7b_qlora_alpaca_enzh_oasst1_e3

除了支持多种数据集格式外,XTuner还针对大语言模型数据的特点,对各种数据集格式做了充分的解耦,相较于其他的微调开源项目,可以在不破坏大语言模型对话模版的情况下,对其进行微调。

pip install xtuner
# 不破坏 Chat 模型对话模版,继续增量指令微调xtuner train internlm_chat_7b_qlora_oasst1_e3

针对GPU计算特点,在显存算力允许的情况下,XTuner支持将多条短数据拼接至模型最大输入长度,以此最大化GPU计算核心的利用率,显著提升训练速度。例如,在使用oasst1数据集微调Llama2-7B时,数据拼接后的训练时长仅为普通训练的 50%。

黑科技二

支持多种训练引擎结合

XTuner首次尝试将社区内常用的HuggingFace与OpenMMLab进行结合,兼顾易用性和可配置性。支持使用MMEngine Runner和HuggingFace Trainer两种训练引擎,开发者如有深度定制化需求,可根据使用习惯灵活配置。

pip install xtuner
# 使用 MMEngine Runner 训练
xtuner train internlm_7b_qlora_oasst1_e3
# 使用 HugingFace Trainer 训练xtuner train internlm_7b_qlora_oasst1_e3_hf

黑科技三

内置标准化流程,一键启动训练

XTuner内置了增量预训练、单轮&多轮对话指令微调、工具类指令微调的标准化流程,让开发者只需聚焦于数据本身。
同时,XTuner集成了QLoRA、DeepSpeed 和 FSDP 等技术,提供各种尺寸模型在各种规格硬件下的训练解决方案,通过XTuner一键式启动训练,仅需8GB显存即可微调 7B 模型。

pip install 'xtuner[deepspeed]'

# 8G 显存微调 InternLM-7B

xtuner train internlm_7b_qlora_oasst1_512_e3 --deepspeed deepspeed_zero2

基于此,开发者可以专注于数据,其他环节放心交给XTuner,将更多精力投入于更核心工作。


X种玩法

通过XTuner,开发者可以给大模型添加插件,补足大模型欠缺的能力。
目前,XTuner在HuggingFace Hub上提供了丰富的大模型插件,欢迎开发者下载体验。

Intern-Colorist 专属调色师

通过在少量颜色注释数据集上对 InternLM-7B 进行指令微调训练,XTuner成功解锁了其调色能力。最终得到的模型甚至可以像“乙方”一样反复修订。

pip install xtuner
xtuner chat internlm/internlm-7b --adapter xtuner/internlm-7b-qlora-colorist --prompt-template colorist

Llama-Online 更可靠及时的AI搜索引擎

借助XTuner及插件开源数据集,XTuner研究团队还解锁了InternLM、Llama 等开源模型的隐藏能力,使其可以联网搜索、调用工具,获得更可靠的回复。

pip install xtuner

xtuner chat meta-llama/Llama-2-7b-hf --adapter xtuner/Llama-2-7b-qlora-moss-003-sft --bot-name Llama2 --prompt-template moss_sft --with-plugins search --command-stop-word "<eoc>" --answer-stop-word "<eom>" --no-streamer

更多模型插件,欢迎下载体验:https://huggingface.co/xtuner

X种可能

X意味着能力无限拓展的可能。XTuner开发团队希望赋予其更多趣味属性,与开源社区一起“玩”转大模型,开发多种集趣味与实用性于一身的应用。欢迎广大开发者在 XTuner 社区讨论,共同进行有趣开发。
XTuner讨论区:
https://github.com/InternLM/xtuner/discussions
围绕大模型研发与应用,上海AI实验室发布了贯穿数据、预训练、微调、部署和评测五大环节的全链条工具体系,并提供免费商用,欢迎开发者参与体验,共推行业进步。
InternLM书生·浦语大模型,包含面向实用场景的70亿参数基础模型与对话模型 (InternLM-7B)。
https://github.com/InternLM/InternLM
LMDeploy面向大模型部署的推理工具链,支持十亿到千亿参数语言模型的高效推理。推理性能领先开源社区。
https://github.com/InternLM/lmdeploy
OpenCompass面向大模型评测的一站式、全方位评测平台,包含超过 40 个评测集、30 万评测题目。通过全自动分布式评测,保障开源模型性能可高效复现。
https://github.com/open-compass/opencompass
Lagent基于大语言模型的轻量级、开源智能体(agent)框架,支持用户快速地将一个大语言模型转变为多种类型的智能体,并提供了一些典型工具为大语言模型赋能。
https://github.com/InternLM/lagent

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存