😎Andrej Karpathy大模型讲解笔记,一起学习LLM大语言模型的原理

231 阅读2分钟

本文是对 Andrej Karpathy 在油管上发布的 Deep Dive into LLMs like ChatGPT 视频的学习笔记,原视频主要讲解了一个类似 ChatGPT 这样的 LLM 的实现路径

前训练阶段

预训练

获取大量高质量并且多样化的互联网文本数据

网络爬虫从互联网获取原始数据,并进加工

  • 滤掉涉黄或者暴力的网站地址
  • 提取 HTML 标签中的文本内容
  • 筛选出特定语言
  • 需要过滤掉各种个人隐私信息等。

image.png

Token化

将人类语言数据集转化成 token 供神经网络输入

Token化网站 image.png

神经网络训练

LLM学习 token 在序列中彼此跟随的统计关系,预测给定上下文后,下一个最有可能出现的 token

神经网络初始参数是随机的,预测也是随机的。 希望正确的token的概率更高, 可以通过计算损失函数来实现,并通过反向传播算法(backpropagation)来调整神经网络的参数。 image.png

  • 输入:模型从数据集中随机抽取固定长度的 token 窗口(例如 8000 个 token)

  • 输出: 预测下一个 token 的概率分布,词汇表中每个 token 都有一个概率值。

Transformer 架构

希望正确的token的概率更高, 可以通过计算损失函数来实现,并通过反向传播算法(backpropagation)来调整神经网络的参数。

LLM可视化

编码器

注意力机制

  • 模型处理某个词,会关注输入序列中所有的词

前馈神经网络

  • 自注意力 模块进一步处理
解码器
  • 接受 编码器 的输出与 已经生成文本的输出

  • 自注意力机制关注 前面的词

后训练阶段

监督微调

image.png

image.png

幻觉现象

  • AI 不会说不知道(概率模型)
  • 多次比较输出
  • 前往搜索 ,将内容加入全局上下文中

强化学习阶段

“DeepSeek”模型大量采用强化学习(RL),模型可以学习到“思维链”的认知模式

  • 语言模型可能会给出不同的解题方法,最终答案可能正确,实际复杂情形下,模型可能会给出错误的答案,强化导向正确结果的解决方案模式,这就是强化学习。

image.png