当前位置: 首页 > article >正文

Day26下 - 大语言模型的 训练train 和 微调fine-tune 的区别

大语言模型学习的重点:

  • 模型的训练 / 微调
  • 部署模型
  • 上层开发(以 LangChain 家族为核心)
    • Open API
    • Prompt 开发
    • RAG 开发
    • Agent 开发

训练 train 和 微调 fine-tune 的区别

共同点:

  • 都是修改模型的参数

训练:

  • 从零开始,训练一个大模型
  • 类似买一块布,手动做一条裤子
  • 数据量:
    • 预训练 18T
  • 时间:
    • 2个月
  • 训练平台:
    • 千卡
    • 万卡
    • H100,A100

微调:

  • 从别人训练号的开源大模型开始,去做一个具体任务微调
  • 类似买一条成品裤,根据腿长剪裤脚
  • 数据量:
    • 几十条起
  • 时间:
    • 几分钟起
  • 训练平台:
    • 能把模型放下即可
    • 4090

三阶段:

第一阶段:预训练

  • Pre-Train
  • 内功修炼
  • 往往是厂家来做
  • 自监督
    • 无需标注
  • 自回归方式训练
  • 数据:
    • 一段一段的文本
  • 成果:
    • base 大模型
    • 半成品,不是直接用来做任务,而是让下游任务微调
    • 只能进行简单的文本续写(不具备质量遵循和函数调用能力)

第二阶段:监督指令微调

  • Supervised Finetune
  • 对标业务
  • 对标具体的任务
  • 外功修炼
  • 功能:
    • 对标人类聊天习惯
    • 指令遵循能力(你让它做什么,它就做什么)
    • 函数调用能力(大模型能够判断什么时候需要借助外部函数)
    • 复杂推理能力(大模型可以分步骤拆解问题和执行相关的推理)
  • 数据(知识编辑):
    • 问答对 question answer pair
    • system
    • user
    • assistant
    • function_call
    • history
    • ……
  • 两种风格:
    • 为了注入知识
    • 为了提升能力
  • 并行训练
  • 优秀是一种习惯

第三阶段:偏好优化

  • RLHF:Reinforcement Learning from Human Feedback
  • DPO:Direct Preference Optimization
  • 一问两答:
    • 一问:一个问题
    • 两答:
      • 一个不好的答案:大模型当前的回答
      • 一个好的答案:你修改后的答案
  • 这个阶段做的比较少,因为数据比较难整理
  • 产物:
    • chat
    • instruct

全程零代码

  • 模型的训练和微调,属于零代码的过程,可能需要做的是数据格式转换。

工程平衡:

  • 重点突出我们的微调能力
  • 但是,不能太大的破坏原有的能力!

模型的测评

大部分微调都把模型给整废了,而不是越来越好。厂家发布的模型半真半假,一般发布的都是最好的模型,咱们拿来整废了是常态,训练好是一件不太容易的事情。为什么不太容易?怎么就整废了?怎么才能弄好?没有万能公式一步到位,是个不断炼丹尝试的过程,比较玄学。

微调:

  • 废了是常态
  • 训练好是一件不太容易的事情

考试:

  • 全学科考试
    • MMLU
    • CMMLU
    • C-Eval
    • ……


http://www.kler.cn/a/442407.html

相关文章:

  • 【Idea启动项目报错NegativeArraySizeException】
  • Git学习笔记
  • 设计模式-工厂模式/抽象工厂模式
  • 小米vela系统(基于开源nuttx内核)——openvela开源项目
  • My ICLR Learning-Feedback
  • C语言数据结构与算法(排序)详细版
  • 第十五章 Linux Shell 编程
  • Redis Set操作
  • Django+React---从0搭建一个听音乐+聊天室的网站
  • Linux系统安装node.js
  • 数据版本管理和迁移工具Flyway用法最简说明
  • 什么是Modbus协议网关?
  • 康冠科技嵌入式面试题及参考答案
  • Flux Tools 结构简析
  • 解决树形列表中数值层级累加
  • WordPress克隆网站:用户指南
  • Ubuntu下apt 无法安装的解决步骤
  • 【机组】概述精炼考点(冯诺依曼、层次结构、翻译语言、执行程序的过程、基本工作原理、运算器、控制器、存储器)
  • 深入了解AI编程工具Cursor:智能编程的未来
  • MySQL数据库02|去重、条件查询、排序、聚合函数、分组、分页显示
  • 小程序中使用 Vue2 + Vuex 实现数据存储与获取
  • 长短期记忆神经网络(LSTM)介绍
  • rpc设计的再次思考20251215(以xdb为核心构建游戏框架)
  • 如何有效的开展接口自动化测试?
  • 使用Python实现两组数据纵向排序
  • 建立在商用GPT上的简单高效单细胞表示模型