小猫都能懂的大模型原理 2 - 初见大语言模型

本文较长,建议点赞收藏。更多AI大模型应用开发学习视频及资料,在智泊AI

现在大家遇到问题,第一反应都不是使用搜索引擎,而是问 chatGPT,chat 大家都知道是聊天的意思,但是 GPT 它到底是个什么呢?

展开一下全名:Generative Pretrained Transformer,翻译过来就是生成式预训练 Transformer

所以在此之前我们需要更清楚知道 Transformer 到底是个啥。

Transformer 架构

说到 Transformer 还是不能不提其源头,鼎鼎大名的《Attention Is All You Need》,这篇论文提出了这个名为 Transformer 的深度神经网络架构。

在论文里面,这个架构是长这样的:

其核心就是自注意力机制

注:后来很多 GPT 只保留了 decoder。

最基本的原理

回忆一下神经网络,我们的输入和输出,经过神经网络训练一顿操作!调整好权重,就能输出像模像样的答案。

那么对文字是不是也能这么操作呢?没错的,事实证明完全可以。

因为文字这个东西,现成的正确答案真的太多啦,我们训练的时候可以这样:

复制代码
输入:番茄是  
正确结果:番茄是红

如果猜到的不是红,那就计算损失,把权重往对的那边凹一下。

经过很多 TB 的文字数据训练之后,就成就了现在的大语言模型,它似乎了解地球上一切文字知识,并且表达出来毫无维和感。

科学似乎还无法解释这件事,大模型可以流畅回答训练样本里没有的内容,这就称为涌现。例如大模型其实没有专门学过翻译呢,但是它偏偏就可以在繁多的参数里面懂得如何翻译不同语言。

输入和输出

对于大模型来说,输入和输出,本质上是 Token。

通过这个分词工具,可以更清晰地理解 Token 的概念,它不一定是一个字母、一个单词、一个符号,而有可能是它们的组合。

如图所示:

所以在训练的时候,输入输出就是:

yaml 复制代码
输入:30357, 21290, 226, 3221  
输出:30357, 21290, 226, 3221, 16491

吗?

不是的,实际训练的肯定不是这个 Token ID,而是这个 ID 代表的含义本身。

把文字转换为向量就是所谓的词嵌入(embedding) (关于 RAG 后面再开坑)。根据《从零构建大模型》的说法:最小的 GPT-2 模型(参数量为 1.17 亿)使用的嵌入维度为 768,而 GPT-3模型(参数量为 1750 亿)使用的嵌入维度为 12288。

在这个场景下,简单来说就是让这个 Token 转换为一个 768 个值的数组......

例如番茄就是 [0.9,0.4,0.7,0.5,0.9...后面还有七百多个维度],对比其它水果可能是这样的:

维度 含义 "番茄"的值 "草莓"的值 "黄瓜"的值
1 有多红 0.9 0.85 0.1
2 甜度 0.4 0.8 0.1
3 水分 0.7 0.6 0.9
4 是否属于蔬菜 0.5 0.1 0.8
5 是否可生吃 0.9 0.95 0.8

注意:这里的含义只是比喻,实际上各个维度的含义人类是看不懂的。

大家应该差不多理解了,真正的输入输出就是这些几百上千维度

把这些值的正确排列经过神经网络训练,让其预测下一个 Token 是某个词的概率(logits),然后取概率比较高的值。

最后举个输入输出例子:

less 复制代码
输入: "番茄是"  
↓ Token化  
Token: [123, 456, 789]  
↓ 转换为向量  
Vector: [[0.1,0.2,...], [0.3,0.4,...], [0.5,0.6,...]]  
↓ 神经网络预测  
Hidden State: [0.7, -0.2, 1.1, ..., 0.3]  # 768维隐藏状态  
↓ 通过输出层投影  
Logits: [-2.3, 1.5, ..., 4.2, ..., 2.1, ...]  # 词汇表大小的向量  
↓ Softmax转换为概率  
概率分布: [0.001, 0.003, ..., 0.45(对应"红"), ..., 0.25(对应"圆的"), ...]  
↓ 选择最高概率  
输出: Token ID 4567 (对应"红")

中间看不懂不用怕,下一章就会讲到自注意力机制的原理啦~

循环生成

上面一顿输入输出其实只生成了一个新 Token,你需要生成一句话的话,就继续把新的 Token 拼到原来的句子里,继续循环下去,就能生成一整段话啦。

参考资料

  • • 从零构建大模型
  • • Deep Dive into LLMs like ChatGPT

学习资源推荐

如果你想更深入地学习大模型,以下是一些非常有价值的学习资源,这些资源将帮助你从不同角度学习大模型,提升你的实践能力。

本文较长,建议点赞收藏。更多AI大模型应用开发学习视频及资料,在智泊AI

相关推荐
AI绘画哇哒哒5 分钟前
【干货收藏】深度解析AI Agent框架:设计原理+主流选型+项目实操,一站式学习指南
人工智能·学习·ai·程序员·大模型·产品经理·转行
User_芊芊君子4 小时前
HCCL高性能通信库编程指南:构建多卡并行训练系统
人工智能·游戏·ai·agent·测评
爱喝白开水a9 小时前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
落霞的思绪10 小时前
GIS大模型RAG知识库
agent·rag
香芋Yu13 小时前
【LangChain1.0】第九篇 Agent 架构设计
langchain·agent·架构设计
组合缺一13 小时前
Solon AI (Java) v3.9 正式发布:全能 Skill 爆发,Agent 协作更专业!仍然支持 java8!
java·人工智能·ai·llm·agent·solon·mcp
User_芊芊君子16 小时前
AI Agent工业化落地避坑指南:从技术卡点到量产,脉脉AMA给我的实战启示
人工智能·ai·agent·脉脉测评
韦东东1 天前
RAGFlow v0.20的Agent重大更新:text2sql的Agent案例测试
人工智能·大模型·agent·text2sql·ragflow
ASS-ASH1 天前
AI时代之向量数据库概览
数据库·人工智能·python·llm·embedding·向量数据库·vlm
带刺的坐椅1 天前
用 10 行 Java8 代码,开发一个自己的 ClaudeCodeCLI?你信吗?
java·ai·llm·agent·solon·mcp·claudecode·skills