能不能用作为小白菜的话术来讲解大模型的大体训练流程?

大白话解读大模型训练的

不错鼓励并赞赏 标签: 其他      评论 / 2023-12-15


笔者作为前端人员去讲解大模型有点关羽门前耍大刀的感觉,不过作为小白菜学习了一段时间,稍微有些见解,期望让更多小白菜能够快速理解。描述过程中有问题欢迎随时留言指出~~

ChatGPT这块大体分为了这几个部分:大模型训练、模型精调、Prompt工程化,我们本章主要针对用大白话说大模型训练的流程,也是最贵的流程,传说中的极度奢侈品。

首先笔者画了一张图(此图翻译于英文版本)

在讲解之前,大模型训练没有大家想的那么简单,那么是后续推出的各种低代码或者零代码的可视化操作训练工具,都是集成了大量的调试后的最佳流程实践集合体,背后运行的很复杂。总之,用户操作越简单来到达目标,背后付出了越大的努力。

在看文章之前,有些关键词还是需要了解的,说白了就是大模型训练的话术,代表的意思自己查去吧,背后的知识点很多,只需要知道话术代表的实现结果即可。

  • Transformer架构
  • 词向量
  • Bert架构
  • Prompt
  • 自监督学习
  • loss函数
  • SFT
  • RM
  • RL
  • RLHF
  • 梯度下降
  • Embedding
  • 模型微调(预训练阶段,全参数微调和部分参数微调)
  • 模型精调(SFT阶段,基于预训练的模型进行调整)

大模型训练阶段主要分为:

  • 预训练阶段
  • 监督微调
  • 奖励模型
  • 强化学习

先不用理解以上各个阶段词汇代表的意思,但要记住,这个流程是大模型训练特有,普通的机器学习不是这样的,笔者就多次掉进机器学习的坑中。

那么一起先看看训练的第一阶段,预训练阶段:

如上图所示,第一阶段备注中已经标明,这个阶段占据了整体训练流程90%以上的时间,有的说法是99%的时间。

为何占据这么多时间?发生了什么?

大家要知道途中所示数据集这块,可以看到基本都是来自互联网的数据,量大质量低,数据异常庞大,但是这些数据中要是混淆了一些不合时宜的故事、图片或者其他片段,小伙伴可以想象,把一个小孩脑海里面灌输了很多不好的画面,那么孩子后续的表现是否正常?就知道这个阶段有多重要了。

数据的好坏决定了大模型的质量,不谈性能啥的,如果输入端就有问题,所以输出无论多么高效和准确,最后也是个不靠谱的结果,后面也就不会再用第二次了

所以这个数据集虽然放在这里,怎么来的,怎么筛选的,有哪些手段都是很重要不可忽视的环节。

预训练阶段

数据集

数据是怎么来的呢?

说白了就是来自互联网,大体分布如下:

  • 公开数据集,研究结构、大学或者社区维护的,例如:Kaggle数据集等
  • 公司内部数据,这些记录了用户行为数据和客户反馈等信息,当然肯定是保护了用户的隐私性和安全问题
  • 爬虫技术,这个就是在网上遛弯,重点关注那些热门知识沉淀社区,例如Github这类的
  • 传感器数据,这类就是温度、湿度、位置等各种数据
  • 众包服务,很重要,聘请大量人力进行标注
  • 合作伙伴数据,与其他组织、机构和合作伙伴合作。肯定是符合法律规定和隐私规定的
  • 开发的APIS接口,比如Twitter、地图类的
  • 模拟的数据,其实就是利用比如成熟训练好的模型response结果
  • 文件调查,这个通俗易懂
  • 开源项目贡献,实践出真知的数据

那么我们一起看看Llama模型数据来源如下:

如上图所示,基本就是从各个热门地方抓取数据,common crawl和C4都是网络爬取的,只是方式不同,然后还有一些高质量的数据集。例如,GitHub、维基百科、书籍、ArXiv论文存档、StackExchange问答网站等。这些都混合在一起,然后根据给定的比例进行采样,形成 GPT 神经网络的训练集。总之来说,数据来源就是尽可能收集那些名头响,热度高,专业度强的知识库。

抓完了数据直接就灌给工具进行训练了吗?开玩笑呢,这里面你知道有没有问题的数据,所以还要有数据预处理,并且需要花费大量时间去处理这些数据。那么都有哪些处理方式呢?

数据预处理

笔者大体进行了分类,数据预处理会根据数据的质量来采取不同的组合行为,不局限以下方法,不按照以下顺序处理

  • 标记化
  • 特殊符号处理
  • 统一化大小写
  • 停用词的去处
  • 处理未知词汇
  • 数据清洗和去噪
  • 序列长度标准化
  • 数据标签的处理
  • 数据格式的转换
  • 数据的采样和平衡

以上知识使用的一些技术方案,这个过程中,以上过程不会重点去说,说了也不懂,但是要了解一些重要的环节,其他的小伙伴按照目录自行在网络上查阅,至少这棵树,脑子里要有。下面就介绍以上前几个知识点。

标记化

标记化是文本片段和标记与整数之间的一种无损转换,这个阶段有许多算法。重点是分词,分词中常用WordPiece 和 BPE,当然还有其他的BBPE、 Unigram 、 SentencePiece 等。有兴趣小伙伴可以查阅WordPiece 和 BPE,在这个标记后的数据模型需要一个与之相关的词向量,标记化是词向量的输入,词向量是标记的表征。词向量也是需要

小常识:(1)这个阶段,......

想看更多内容,进入后方可查看:
每月更新优惠券(如果未更新,请耐心等待):

免费3天加入观看:

限时折扣:


Hi 看这里!

大家好,我是PRO

我会陆续分享生活中的点点滴滴,当然不局限于技术。希望笔墨之中产生共鸣,每篇文章下面可以留言互动讨论。Tks bd!

博客分类

您可能感兴趣

作者推荐

呃,突然想说点啥

前端·博客

您的鼓励是我前进的动力---

使用微信扫描二维码完成支付