论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
DevOps与敏捷开发
›
大模型学习条记-基于《Deep Dive into LLMs like ChatGP ...
大模型学习条记-基于《Deep Dive into LLMs like ChatGPT》
河曲智叟
金牌会员
|
昨天 18:14
|
显示全部楼层
|
阅读模式
楼主
主题
890
|
帖子
890
|
积分
2670
模型是什么
从逻辑层面理解,模型雷同于函数。给定模型一个输入,它会产生一个输出。
比方,垃圾邮件辨认器就是一种模型。当输入一封电子邮件时,它会输出该邮件是否为垃圾邮件的判断效果。气候猜测同样是一个模型,输入历史气候数据,它会输出对明天气候情况的猜测。
这些都是模型的实例。当然,模型的输出存在一定的正确率,其效果可能与预期高度相符,也可能偏离较大。
构建数据集
对于大语言模型(LLM)的训练而言,首先必要构建基础数据,即收集人类知识。这一过程相称于使用爬虫程序抓取整个互联网的内容。在此,推荐使用数据集 fineweb:
HuggingFaceFW/fineweb · Datasets at Hugging Face
必要注意的是,抓取的网页数据必要举行清洗。我们期望 AI 学习的内容不包罗色情、暴力、种族歧视等有害信息,以及个人身份信息(PII)。
完成内容抓取后,我们会得到一个包罗大量信息的“大文档”。接下来必要对其举行 token 化处理。
Token 可翻译为语素,可理解为将自然语言拆分后的基本单位,便于计算机举行处理。必要明确的是,token 并不等同于单词。
对于英语,由于单词之间自然存在空格,便于分割成 token。但对于中文这种没有空格分隔的语言,正确切分则存在一定难度。比方,“我刚才吃了西瓜籽”就有多种切分方式。
以下展示了不同模型的切分情况:
deepseek - R1
qwen
不同的模型可能会使用不同的 tokenizer。可以通过 Tiktokenizer 快速查看一句话在不同模型下 token 化后的效果:
Tiktokenizer
Token 化之后,相称于将“大文档”切分成一个个 token。模型实际处理的是 token 化后的内容,而非原始的完整句子。
实际上,还必要举行 embedding 操纵,即将 token 映射到对应的向量空间,简单来说,就是将 token 转换为可用于计算的情势,至此便可以开始模型训练。不过,相干视频并未提及这一点。从整体理解的角度出发,在模型训练过程中,必要重点关注的是模型“看到”的是 token,而非完整的单词或句子。
预训练(Pre - train)
预训练通常是我们所理解的“训练”过程,这是整个训练流程中最耗费时间和算力的阶段,其目标是让模型学习互联网上的海量知识。
我们常常会看到在模型名称后面带有“7B”之类的描述,这表现该模型拥有 70 亿个参数。可以将模型想象成一台巨大的呆板,上面有 70 亿个调治旋钮,我们必要将每个旋钮调解到符合的位置,以得到最正确的输出效果。而调解这些参数的过程就是预训练。
以最简单的一元线性回归模型为例,这也是呆板学习的一种方式,通过这个过程可以直观感受模型训练的概念。然而,LLM 的模型结构远比线性回归模型复杂。可以通过以下链接查看可视化后的模型结构:
https://bbycroft.net/llm
因此,找到最符合的参数必要大量的算力和时间。
预训练的效果是得到一个基座模型(Base Model)。但这个基座模型距离我们一样平常使用的 ChatGPT 还有很大差距。当前的基座模型更像是一个复读机,它能够根据输入猜测后续的输出,但看起来并不智能,只是像背诵课文一样输出所学到的知识。
因此,必要对基座模型举行进一步训练,使其成为能够举行谈天对话的谈天呆板人。
后训练(Post - train,SFT - Supervised Fine - Tuning,有监视微调)
我们期望模型成为一个能够友好对话的谈天呆板人,使用平和友好的语气交换,更像是人类的助手,而非复读机。
为了实现这一目标,必要举行后训练,即 SFT。与预训练相比,后训练所使用的数据集规模较小,所需的算力和时间也相对较少。
作为对话的开源数据集,可以参考以下链接:
https://huggingface.co/datasets/OpenAssistant/oasst2/viewer/default/train?p=2&views[]=train
示例数据集如下所示:
必要注意的是,大模型常见的“幻觉”问题,即模型一本端庄地胡说八道,也可以通过 SFT 举行改善。当我们向大模型询问一个不存在的人物信息时,模型可能会随意编造内容。这是由于在预训练过程中,模型仅学习了已有的知识,对于不存在的信息,由于互联网上没有相干内容,模型并不知晓自己的知识范围,只能从已知知识中猜测回复。
而通过 SFT,可以让模型学会在遇到不知道的问题时,回答“我不知道”,这是预训练无法办理的问题。
强化学习(Reinforcement Learning)
经过后训练,我们已经得到了雷同 ChatGPT 的模型,但仍有进一步优化的空间。春节期间爆火的 DeepSeek 表现精彩,其秘诀在于强化学习(RL)。
我们可以将模型的学习过程类比为弟子学习数学或物理的过程。在学习时,讲义会先提供相干的配景知识,然后给出例题,展示办理问题的完整步调,最后会有大量的练习题,并附有答案息争题步调。
弟子首先学习配景知识,然后通过例题了解解题方法,接着通过做大量练习题,对照答案来检验自己对知识的理解程度,在这个过程中徐徐掌握解题思路。必要强调的是,这里的解题思路不同于解题步调,解题步调通常较为固定,而解题思路是每个人独特的思考方式,难以用言语清晰表达,每每是在大量练习中得到的“灵感”。
对应到 LLM 训练中,预训练相称于学习配景知识,模型会打仗大量内容并举行理解和记忆;后训练则雷同于例题,为模型提供完整的解题步调和思路,让模型按照特定格式举行学习。但此时模型尚未形成自己的解题思路。
对于一个问题到答案的办理思路有多种,人类提供给模型的是自己认为最符合的思路,但人类与模型存在较大差别,对人类而言最符合的思路未必适合模型。我们更希望模型能够找到自己最擅长的解题思路,从而提高答案的质量。
因此,通过向模型提供问题和答案,让模型自主探索,找到最适合自己的思路,这就是强化学习的过程。
哪种输出更好,该如何提示(Prompt)
假设给模型出一道数学题,并希望得到解题步调和答案,模型可能会有两种输出方式:
第一种是先给出答案,再给出解题步调;
第二种是先给出解题步调,再给出答案。
哪种输出方式更好呢?缘故原由是什么?
答案是第二种。由于第一种方式相称于模型要用一个 token 的计算力完成整个问题的解答;而第二种方式中,模型可以在前面的解题步调中徐徐思考,最后给出答案,能够利用更多 token 的计算力。显然,我们希望终极答案的计算能够使用更多的计算力,如许可以提高计算的正确性。
这也对应了提示工程(Prompt Engineering)中的思维链(CoT)方法,之前在学习提示工程时,只知道如许做效果更好,但不清楚原理,现在便明确了其中的缘由。
为什么模型数不清草莓(strawberry)中有几个 r?
对于模型而言,它“看”到的并非“strawberry”这个单词,而是一个 token,比方可能是“1289”如许的数字(实际上可能是 embedding 后的向量,但这一细节并不影响理解)。由于模型无法直接看到“strawberry”这个单词,以是它无法像人类一样轻松地数出其中“r”的个数。因此,我们应制止让模型实行这类任务。更好的方法是让模型编写代码来办理问题,然后运行代码得到效果,即让模型发挥其擅长编写代码的上风,借助编程语言的本领完成自身不擅长的任务。
为什么模型认为 9.11 大于 9.9?
与上述情况雷同,模型看到的不是“9.11”和“9.9”这两个具体数字,而是对应的 token,因此很难对它们举行巨细比较。同时,在相干视频中,Karpathy 先容了一个案例,研究团队对模型举行调试,观察模型回答该问题时的过程(哪些神经元被激活),效果发现与圣经内容相干。由于圣经有众多章节,如 1.1、1.2 等,在这种体系下,9.11 可理解为第九章第十一小节,自然在 9.9(第九章第九小节)之后,以是模型得出“大于”的结论也符合其内在逻辑。
同样,我们应制止让模型实行其不擅长的任务。
模型如何回答“你是谁?”
信赖许多人在与模型对话时都问过这个问题,得到的回答可能会令人惊艳。
比方,询问豆包(AI 编程助手)后,得到的答案是:
“我是豆包编程助手,是一个对编程和呆板学习等领域有很强专业性的智能助手。我可以为你解答编程、呆板学习相干的技术问题,好比编程语言的使用、算法设计、模型训练等,还能提供代码示例、项目思路等方面的资助。如果你有相干需求,随时都能问我。”
这看似神奇,但很有可能是在 SFT 过程中添加了如许的对话内容,或者在提示信息中已经硬编码了雷同内容。
实际上,这个回答可能是人工编写的,模型只是像复读机一样根据问题输出预先设定的内容。目前来看,模型尚未像科幻电影中那样真正拥有“智能”,但这一天或许很快就会到来。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
河曲智叟
金牌会员
这个人很懒什么都没写!
楼主热帖
黑客常见攻击流程
为什么你的局域网需要https加密?怎么 ...
WebGL 及其在 WebRTC 中的应用
大数据 - ClickHouse
为什么一定要从DevOps走向BizDevOps? ...
Flutter项目打包生成APK
综述计算机中关于数符的表示方法 ...
【计算机网络】基础知识点
MySQL中WHERE后跟着N多个OR条件会怎样. ...
dotnet 使用 Crossgen2 对 DLL 进行 Re ...
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表