AI大模型开发架构设计(4)——人人需要掌握的大模型微调

文章目录

    • 人人需要掌握的大模型微调
      • 1 大模型Fine-tuning(微调)
        • 需要具备三个方面的能力
        • Fine-tuning(微调)
        • 何为Fine-tuning(微调)
        • 什么情况下使用微调?
        • 怎么微调?
      • 2 LoRA
        • 原理浅析
        • 代码准备
        • 生成新模型
        • 训练模型
        • 数据集dataset
        • 看看输出

人人需要掌握的大模型微调

1 大模型Fine-tuning(微调)

需要具备三个方面的能力
  • Prompt Engineer(提示词工程)
  • LangChain(一个框架的名字)
  • Fine-tuning(微调)

image.png

Fine-tuning(微调)
  • 何时 Fine-tuning(微调)
  • 什么情况下使用微调?
  • 不同微调方式
  • 基于LoRA微调
何为Fine-tuning(微调)

关于模型训练

  • From Scratch:从头训练
  • Fine-tune:微调/接着别人的训练
  • From Scratch:从头训练

    • 对于大模型而言,对一般的团队和个人:不行
      • 训练周期太长
      • 数据量要求太大
      • 成本太高

AI大模型开发架构设计(4)——人人需要掌握的大模型微调_第1张图片

AI大模型开发架构设计(4)——人人需要掌握的大模型微调_第2张图片

  • Fine-tune:微调/接着别人的训练
    • 对于大模型而言,这很有意义
      • 你要用什么,就训练什么,数据可以更精准,量可以更小
      • 拥有已训练好的大模型的特性优势
      • 成本极大降低
什么情况下使用微调?
  • 计算资源太少
  • 数据集相似,但数据集数量太少
  • 自己搭建或者使用的 CNN 模型正确率太低
  • 你要使用的数据集和预训练模型的数据集相似,如果不太相似,比如你用的预训练的参数是自然景物的图片,你却要做人脸的识别,效果可能就没有那么好了,因为人脸的特征和自然景物的特征提取是不同的,所以相应的参数训练后也是不同的
怎么微调?
  • 全参数 Fine-tune:比如针对 1700 亿参数进行微调
  • 小参数量 Fine-tune
    • Adapters
    • Prompt-tuning:提示词
    • LoRA:只需要万分之一参数

AI大模型开发架构设计(4)——人人需要掌握的大模型微调_第3张图片

2 LoRA

原理浅析
  • 想要真正明白,需要先了解 Transformer 结构
  • 原始的 4096 × 4096 全连接方式 → 引入中间层 4096 × 4 + 4 × 4096 = 4096 × 8

AI大模型开发架构设计(4)——人人需要掌握的大模型微调_第4张图片

代码准备
  • 常用代码:https://github.com/huggingface/peft
  • PEFT:parameter-efficient fine-tuning
  • Hugging face:一家初创公司(2016),最早做聊天机器人,现在集成并开源了很多大模型库/方法

AI大模型开发架构设计(4)——人人需要掌握的大模型微调_第5张图片

生成新模型
  • 简单的代码调用,即可生成新模型:

AI大模型开发架构设计(4)——人人需要掌握的大模型微调_第6张图片

训练模型
  • 训练代码:

AI大模型开发架构设计(4)——人人需要掌握的大模型微调_第7张图片

数据集dataset

AI大模型开发架构设计(4)——人人需要掌握的大模型微调_第8张图片

看看输出
  • Fine-tune 之前

  • Fine-tune 之后

AI大模型开发架构设计(4)——人人需要掌握的大模型微调_第9张图片

你可能感兴趣的:(AIGC,AIGC,Prompt,Engineer,LangChain,Fine-tuning,LoRA)