书生浦语笔记七

预训练

  1. 数据量比较大
  2. 数据质量非常低
  3. 书生万卷的大模型微调数据集

模型微调阶段

  1. 目的
    1. 预训练模型无法满足需求的时候
      1. 减少幻觉
      2. 遵循指令,流畅回答
      3. 面向特定任务场景
    2. Prompt Engineering的局限性
    3. 数据安全性问题
      1. 私有化部署
        1. 企业内部的数据
        2. 敏感的数据
      2. 降低训练成本
      3. 提高训练效率
      4. 动态学习能力
      5. 非常的可靠
    4. 需要个性化服务
  2. 微调的方式
    1. 从参数规模进行划分
      1. FFT全量微调
      2. PEFT
        1. 定义:对部分的内容进行封装
          1. Prompt Tuning
          2. Prefix Tuning
          3. LoRA
          4. QLoRA
    2. 从训练数据进行划分
      1. SFT(Supervised Fine Tuning)
      2. RLHF(Reinforcement Learning with Human Feedback)
      3. RLAIF(Reinforcement Learning with AI Feedback)
  3. 微调的主要步骤
    1. 明确目标任务
    2. 选择和测试基座模型
      1. 可以选择一个小模型进行验证
    3. 数据准备
      1. 数据收集
      2. 数据清洗
      3. 数据预处理
      4. 标注
      5. 划分
    4. 设定微调策略
      1. LoRA
        1. QLoRA
    5. 设置超参数
      1. 学习率
      2. 批量大小
      3. 训练轮数
    6. 模型初始化
    7. 开始微调训练
    8. 模型评估和调优
    9. 模型性能的测试
    10. 模型部署应用

针对模型微调数据阶段的具体的讲解

  1. 数据的📱
    1. 网络数据
    2. 公开的数据集
    3. 人工标注
      1. 书生会在五月份开源一个数据标注工具📱
  2. 数据的扩充
    1. 数据增强
      1. 针对已有的数据进行改造,获得更多的数据量
    2. Self-intruct
      1. 使用GPT4等的大模型生成一个很好的问答对
        1. 如何生成这种问答对呢?
    3. 非对话类数据的转化
      1. 感觉这种方法其实是比较好的,关键是如何转化呢?
  3. 数据的处理(可以多多关注XTuner的文档)
    1. 格式转化
    2. 划分训练集和测试集
    3. 开始自定义微调
  4. 微调数据的分类
    1. 按照任务类型进行分类
      1. 开放式问答
      2. 闭域问答
    2. 按照数据类型进行划分
      1. 单轮文本对话
      2. 多轮文对话
      3. 多模态对话
      4. 交互式对话
    3. 按照垂直领域划分
      1. 法律
      2. 医疗
    4. 对微调数据进行评估
      1. 数据质量高
      2. 多样性
      3. 真实数据
      4. 数据量多(没有质量重要)
      5. 相关的参考论文
        1. LIMA
          1. 扩大数据量是有用的,但是不同时扩大提示多样性的话,收益会大大减少
        2. MAYBE
          1. 特定的任务的模型可能从固定的任务重获益,从而获得更高的习惯能
        3. COIG-CQIA :Quality is all you need
          1. 弱智吧
  5. 微调结果的评价
    1. 人工评价
    2. 评测工具
      1. OpenCompass,更客观
    3. ELO排名
      1. 更加的简单直接

RHF阶段

  1. 排序和打分的阶段
  2. 数据集非常小但是质量非常高

强化学习阶段

  1. 常用的就是chatgpt

实验阶段

  1. 数据:弱智吧的数据
    1. 如何构建高质量的数据

      1. 数据的采集
        1. 领域的相关性
        2. 质量高
          1. Harmless
            1. 某些问题我们可以拒绝回答
          2. Honest
          3. Helpful
      2. 数据预处理
      3. 数据的标注
        1. 人工标注(成本比较高)
          1. 可以使用OpenDataLAB
        2. 自动标注
          1. GPT4来生成回复,用人工来判断其如何
      4. 数据增强
        1. 文本重述
        2. 翻译循环
        3. 合成数据生成
    2. 数据划分

      1. 划分成训练集
    3. 使用COIG-CQIA的数据集为例

    4. 格式,我们最后需要转化成openAI的数据集的格式,生成一个转换成这样的脚本

      {
      	"messages":{
      		{
      			"role":"user",
      			"content":''
      		},
      		{
      			"role":"assistent",
      			"content":""
      		}
      
    5. 划分一个训练集和测试集

  2. 开始进行自定义微调
    1. 参考前面的微调自定义小助手
    2. 转成HuggingFace格式的数据
    3. 魔性的整合
  3. 进行闭环的迭代进行训练,改变数据或者增加数据看一下对其的提升

  • 33
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值