大语言模型系列-微调技术

前言

以BERT模型为代表的"预训练语言模型 + 下游任务微调"训练模式成为了自然语言处理研究和应用的新范式。此处的下游任务微调是基于模型全量参数进行微调(全量微调)。

以 GPT3 为代表的预训练语言模型(PLM)参数规模变得越来越大,这使得在消费级硬件上进行全量微调变得不可行。除此之外,模型全量微调还会损失多样性,存在灾难性遗忘的问题。

ps:全量finetune它们动辄需要几十至上百G显存训练部署,一般的实验室和个人开发者无力承担。

由此引出高效微调的方法,高效微调是指固定大部分预训练参数,仅微调少量或额外的模型参数,从而大大降低了计算和存储成本,同时,也能实现与全量微调相当的性能。在某些情况下,高效微调比全量微调效果更好,可以更好地泛化到域外场景。

高效微调技术粗略分为以下几类:

  • 增加额外参数(A):类适配器(Adapter-like)、软提示(Soft prompts)
  • 选取一部分参数更新(S)
  • 引入重参数化(R)

常见的参数高效微调技术有BitFit、Prefix Tuning、Prompt Tuning、P-Tuning、Adapter Tuning、LoRA等。

PEFT

PEFT(Parameter-Efficient Fine-Tuning,参数高效微调)是一个用于高效微调的库。

支持多种任务和模型,包括

  • Causal Language Modeling(LLaMA、ChartGLM等)
  • Conditional Generation(T5、BART等)
  • Sequence Classification
  • Token Classification
  • Text-to-Image Generation(Stable Diffusion)
  • Image Classification(ViT、Swin)
  • Image to text (Multi-modal models)
  • ...
    支持的微调方法:
  • LoRA
  • Prompt tuning
  • IA3
  • ...

SWIFT

SWIFT(Scalable lightWeight Infrastructure for Fine-Tuning)是基于PyTorch的轻量级、开箱即用的大模型微调、推理框架。它不仅集成了各类开源tuners,如LoRA、QLoRA、Adapter等,并且融合了ModelScope(魔塔)独立自研的特有tuner ResTuning,得益于此,各个模态的开发者均可以找到适合自己模型的开发方式。

SWIFT可以无缝集成到ModelScope生态系统中,打通数据集读取、模型下载、模型训练、模型推理、模型上传等流程。此外,SWIFT与PEFT完全兼容, 熟悉PEFT的用户可以使用SWIFT能力结合ModelScope的模型进行便捷地训练推理。

作为ModelScope独立自研的开源轻量级tuner ResTuning,该技术在cv、多模态等领域均经过了系列验证,在训练效果和其他微调方法相当的情况下,可以做到显存节省30%~60%,为cv、多模态模型的训练提供了新的范式,在未来会应用在越来越多的场景上。

  • 支持的模型:
    qwen 系列、qwen-vl 系列、baichuan 系列、chatglm2 系列、llama 系列、openbuddy-llama 系列、internlm 系列、stable diffusion系列、其他系列模型(polylm-13b,seqgpt-560m)
  • 支持的数据集:
    • NLP:alpaca-en (gpt4),alpaca-zh (gpt4),finance-en,multi-alpaca-all,code-en,instinwild-en,instinwild-zh,cot-en,cot-zh,firefly-all-zh,poetry-zh,instruct-en,gpt4all-en,cmnli-zh,jd-zh,dureader-robust-zh,medical-en,medical-zh,medical-mini-zh,sharegpt-en,sharegpt-zh,code-python-zh,advertise-gen
    • Agent:damo-agent-zh,damo-agent-mini-zh
    • 多模态:coco-en
    • 其他:cls-fudan-news-zh,ner-jave-zh
  • 可支持的微调方法:LoRA,QLoRA,ResTuning,Side,Prompt,Adapter,PEFT全系列tuners,全参数
  • 支持的显卡:GTX20系列、30系列、40系列消费级显卡,A10,A100,V100,T4,H100
相关推荐
冬奇Lab3 分钟前
开源项目第182期:Graphify — 把整个代码库变成可查询知识图谱,让 AI 编程助手真正「懂」你的项目
人工智能·开源·资讯
liulilittle13 分钟前
MOE路由:路由(logits: top-k/8)
c++·人工智能·算法·机器学习·llm
振浩微433射频芯片23 分钟前
用TU2303B双向无线模块打通标准化智能家居接入:433MHz方案的落地优势指南
服务器·网络·人工智能
m4Rk_28 分钟前
【论文阅读】Agent 记忆机制(34):MemoryBank——用遗忘曲线管理可强化的长期对话记忆
论文阅读·人工智能·学习·开源·github
初禾w-w31 分钟前
阿里云开源 UModel 并发起 USS 倡议:构建企业级通用语义标准,重塑 AI 交互底座
人工智能·阿里云·开源·企业ai·对象图语义·语义割裂
奈斯先生Vector35 分钟前
AI 辅助线上排障工作台:从故障证据、Codex 协作到可回放修复
人工智能·架构·开源·aigc·midjourney
东方小月40 分钟前
从零开发一个 Coding Agent(六):实现一个可脚本化的 Faux Provider
前端·人工智能
常山云栈40 分钟前
模型迁移、模型微调、模型蒸馏的区别是什么?
人工智能
Eloudy43 分钟前
从 vega 64 到 MI 100 ,AMD GPU 的裂变历史
人工智能·深度学习·gpu
代码方舟44 分钟前
零信任架构实战:基于天远柠檬查出险-登记证API构建自动化车辆履约评估网关
人工智能·python·架构·自动化