科研动态

Dynamics

首页 >  科研动态 > 新闻  >  详情

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

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

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

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

      开源链接:

      https://github.com/InternLM/xtuner


     X种选择

     XTuner支持与书生·浦语(InternLM)、Llama等多款开源大模型的适配,可执行增量预训练、指令微调、工具类指令微调等任务类型。硬件要求上,在Tesla T4、A100等传统数据中心之外,开发者最低使用消费级显卡便可进行训练,实现大模型特定需求能力。

638307404465950000.png

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

    638307499290380000.gif638307501626050000.gif

       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

638307506841360000.gif

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


5.png

       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

comm@pjlab.org.cn

上海市徐汇区云锦路701号西岸国际人工智能中心37-38层

沪ICP备2021009351号-1