大神Andrej Karpathy最新讲座:深入探讨ChatGPT类大语言模型

你是否好奇过ChatGPT为何能对答如流?它真的是"天生聪明"吗?
其实大模型的成长就像人类的学习过程:从海量阅读(预训练)到老师辅导(监督微调),再到社会实践(强化学习)。本文将带你走进大模型的训练密室,揭秘预训练的神秘面纱、监督微调的魔法时刻,以及对抗"AI幻觉"的攻防战。

第一阶段:预训练——打造互联网文档模拟器

  • 网页数据的来源:Common Crawl维护着一个免费、开放的 Web 爬虫数据存储库,任何人都可以使用

  • 预处理:对得到的网页数据进行预处理,过滤掉我们不需要的信息,详见关于预训练阶段搜集训练数据集的博客

  • 分词tokenization:得到用于训练的文本数据之后,并不能直接将它们输入模型中进行训练,需要对它们进行分词,构建一个词汇表,根据词汇表中每个词汇的索引,将文本转换成数字,这里的数字没有任何意义,只是一个唯一的ID。一般来说,词汇表越大,转换后得到的序列越短!!! 在transformer架构中,因为注意力机制的存在,序列的长短会影响到模型的上下文大小 GPT4用的分词器Tiktokenizer,由它得到的词汇表大小为100277

  • 预训练结束得到的模型是基础模型base model,它只是我们训练数据集的token模拟器,而不是ChatGPT类型的对话模型或者问答助手。它会根据我们输入的token前缀来预测下一个token,一直重复直到得到结束token或者达到最大上下文长度的限制。在这个过程中,它只是不断在重复它在训练数据中学习到的统计模式,而且因为采样(sample)方式的不同,对于相同的token前缀,它会有不同的预测结果。视频中介绍了Llama3基础模型的使用:Hyperbolic-用于基础模型的推理,

  • 虽然基础模型base model只是一个token预测器或者模拟器,但是它在训练过程中其实已经学到了训练数据中的知识,它的权重参数可以看作是一个压缩文件,压缩了训练数据中的知识,但是它不是无损压缩,而是有损耗的压缩。当我们给基础模型一个prompt时,它会依据这些进行预测来生成之后的文本,但信息并没有显示地存储在权重参数中,这只是对训练数据的模糊回忆(当某段训练数据经过反复训练时,模型有可能背诵下来,即原样复述),我们并不能完全相信生成的内容。模型只是以概率的方式做出最好的预测,对于未曾见过的前缀token(即prompt),它很可能出现幻觉(hallucination)

  • 虽然基础模型base model还不是一个问答助手,但是根据设计prompt(如:少样本学习),可以让模型通过上下文学习(in-context learning),猜测用户的意图,最终给出符合用户预期的回答。eg:视频中的翻译任务,先给出几个正确英译韩的翻译文本对,然后给出想要翻译成韩语的英文单词,模型就能很好地理解用户意图,进而给出翻译回答。

  • 基础模型其实就是token层面的互联网文档(训练数据)模拟器,所以它可以生成与互联网文档具有相同统计特征的标记(token)序列。

第二阶段:监督微调——给AI请家教

  • 神经网络是通过在数据集中训练得到的,我们无法对其进行显式编程来更改它的行为,所以我们只能通过构建问答对数据集对它进行训练来隐式编程

  • 问答对数据集是由人工进行标注的,经过问答对数据集训练的基础模型base model会非常迅速地调整它的行为,并且会学习问答对数据集中的助手如何回答人类提问的统计模式(规律)

  • 分词tokenization:后训练的数据集——问答对是一个结构化的文本,在对其进行标记化tokenization时,如何体现这种结构呢?视频中介绍的做法是引入一些在预训练阶段未曾出现的特殊token(如:开始标记<|im_start|>,间隔标记<|im_sep|>,结束标记<|im_end|>等),这样模型就能从中学到这是用户的提问,还是助手的回答。具体可以查看分词网站:GPT4o在后训练阶段对问答对数据的分词

  • OpenAI关于SFT(监督微调)的论文,训练模型遵循人类的指令(指令微调,InstructGPTInstructGPT)

  • 模型开发公司给出标注说明(需要很详细,所以标注说明的文档通常会很长,比如几百页),负责构造问答对的职员将遵循这些说明,提出prompt并给出理想的助手回复。

  • OpenAI并没有开源InstructGPT的人工标注训练集,但是也有一些人尝试基于文章进行复现,例如:OpenAssistant/oasst1 ·Hugging Face 的数据集

  • LLM也被用到问答对数据集的构建。随着LLM的发展,人工标注数据集的方式因为成本高效率低而渐渐被淘汰,LLM辅助构造数据集成为主流,一个例子是:thunlp/UltraChat:大规模、信息丰富且多样化的多轮聊天数据(和模型)

  • 和AI大模型对话,其实是在和数据标注员对话,因为模型学习到的只是经过数据标注员处理的文本信息的统计规律,模型在统计上模仿数据集。

  • 模型在后训练之后,在面对它不知道或者不确定的事情时,它仍然会模仿训练集中答案的格式或者风格进行编造,也就是很可能会产生幻觉(hallucination),可以在huggingface的模型推理广场Inference Playground - a Hugging Face Space by huggingface,尝试早期的模型

  • 缓解大模型幻觉的方法1:在之前构造的问答对中,我们的回答都是肯定语气,很自信地回答所有问题,而没有考虑对于模型本身不知道的问题该如何回答的,这就会导致模型模仿到这种语气,就算自己不知道也可以很自信地凭空捏造。所以我们的解决办法是构造一些关于模型未曾涉及到的知识的问答对,让它对于不知道的问题要拒绝回答。但是该怎么判断哪些知识模型知道?哪些是不知道的呢?也就是如何探测到模型认知的边界? 解决办法是使用经验,可以看看Llama3是如何处理幻觉

  • 论文中的探测模型知识边界的方法大致上是:从训练集中随机截取一段文本,对这个文本构造一些问答对(这个可以使用LLM来完成),然后将问答对中的问题丢给模型,看它回答是否正确(我们也可以多次重复问相同的问题,看它的答案是否差异很大),如果正确则说明它知道这部分知识;如果不正确则说明它不知道这部分知识,我们探测到了它的知识边界,需要对这部分知识构造关于拒绝回答的数据集来训练,从而缓解幻觉问题。

  • 缓解大模型幻觉的方法2:大模型中的海量权重参数可以看作是对训练数据的模糊记忆,对于重复度比较高的数据它可能会有比较好的记忆,但是对于一些比较稀有的数据它可能记得不是很清楚。所以在它不确定问题的答案时,除了拒绝回答,还可以让它刷新记忆或者回忆,从而让它回忆起知识,常用的方法是为模型引入工具,具体的做法是引入一些特殊的token,定义好这些特殊token的使用格式或者规则协议(例如:当它看到搜索结束的token时,它不会采样序列中的下一个标记,而是暂停从模型中生成,启动一个会话去使用搜索工具进行对问题的查询,获得检索得到的所有文本后,将它们当作prompt输入模型,这样模型就得到了关于问题的更丰富的上下文信息,从而可以据此作出更好的回答)模型推理时的知识获取渠道有两个:自身的权重参数包含的知识 && 上下文窗口中的知识。所以方法2的做法是利用搜索工具增加与问题有关的上下文,实现模型推理时的知识刷新,但这种刷新只是暂时性的,因为模型在推理时权重参数是固定的,没有被更新

  • 模型是如何学会使用工具的呢,例如网页搜索?

    同样是使用数据集,我们需要大量的对话数据(其实几千个就够了),通过这些数据向模型展示如何使用网页搜索

  • 权重参数中的知识是模糊的回忆;上下文窗口中的知识是工作时的记忆

  • 模型需要token来思考: 在模型进行推理时,它是根据上下文信息进行计算,一个一个token地生成预测,在这个过程中每个token的计算量是有限的(姑且认为是固定的)。当我们问一个需要深度思考才能得到答案的难题时,由于得到答案所需要的计算量比较大,而单个token的计算量是有限的,所以我们要让计算分布在整个答案中,分步思考,进行一些中间计算,分散推理,最后得出答案。通过这种方式,就可以将问题进行分解,每个token只需要处理非常简单的问题,最后累加就可以得到更可靠的答案。倘若我们一开始就让模型说出答案,由于单个token的计算量不足以支撑模型进行思考,这其实本质是让训练模型根据问题在一个token中猜测答案。

  • 模型不擅长计数,但非常擅长复制粘贴,我们可以通过调用代码工具,让它将问题复制到代码工具中并编写代码,运行得到结果,这样得到的答案更可靠。模型的世界是关于token的世界,所以它不擅长拼写或者字符级的任务。

第三阶段:强化学习——AI的社会化训练

  • 可验证的领域进行强化学习:deepseek R1

  • 不可验证的领域进行强化学习:RLHF,reinforce learning from human feedback

  • 具体做法:重新训练一个新模型——奖励模型,来模拟人类对reasoning model生成的结果进行打分。

  • RLHF相比SFT效果好的原因之一:RLHF只要求人类标注者对模型生成的内容进行排序,而SFT则要求人类标注者自己编写prompt同时自己编写答案。对人类而言,判断比生成更容易,而且更不容易偏离人类偏好的统计分布

  • RLHF的缺点:

  • 奖励模型虽然是人类偏好模拟器,但它是对人类偏好的有损压缩,有可能不能完美模拟人类的偏好

  • 奖励模型中存在的对抗样本,阻碍了RLHF的发展。在强化学习的过程中,强化学习可能会操纵模型,通过发现一些对模型性能提升无意义,但是在奖励模型中却可以得到更高分数的文本序列,从而最终引导模型向错误的方向发展。而且这种无意义的对抗性样本是无限多的,很难通过标注SFT数据集对模型进行硬编码来解决。奖励模型(评分函数)是一个巨大的神经网络,而强化学习非常擅长找到欺骗它的方法

  • RLHF不是可以无限运行的强化学习,因为奖励模型在运行一段时间后,它的内在缺陷会暴露出来(强化学习发现了可以欺骗它的对抗性样本),所以某种意义上来说,RLHF不是强化学习,更像是一种“微调”

未来战场:AI的星辰大海

  1. 多模态革命:文字→图像→视频全打通

  2. 智能体协作:AI团队分工作战

  3. 推理时学习:边聊天边升级大脑

  4. 上下文突破:上下文窗口是有限且宝贵的资源,对于一些领域或者场景,需要比较长的上下文窗口,甚至是无限长,但这很昂贵,所以上下文窗口是技术发展的瓶颈,可能需要新的架构。

  5. 创意迁移:将数学推理能力移植到文学创作

防坑指南 & 资源宝库

防AI幻觉三原则

  1. 关键信息交叉验证

  2. 复杂问题分步求解

  3. 专业领域启用工具插件

前沿追踪工具包
🔍 Chatbot Arena 模型对战擂台
📰 AI News 每日AI快报
🐦 关注@ylecun等AI大牛推特
💡 牢记:AI是生产力工具,不是全能先知

结语

大模型的进化史,是人类将模糊的统计规律转化为智能的火花的过程。当我们惊叹于AI的创作能力时,也要清醒认知:每个惊艳回答的背后,都是万亿次概率计算的结果。用好这个"超级文本模拟器",才是人机协作的王道。要把大模型当作工具箱里的工具,可以提高我们的工作效率,但是不能完全相信它们,因为它们自身缺陷的存在,它们对随机做一些看起来很愚蠢的事情。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值