文章通过图解方式通俗易懂地介绍了大语言模型(LLM)的工作原理。从条件概率概念入手,解释LLM如何根据上下文预测最可能的下一个单词。文章详细介绍了损失计算在模型优化中的作用,以及temperature参数如何影响输出的多样性和创造性。通过直观的例子和图示,帮助读者理解LLM并非简单选择概率最高的token,而是通过采样过程生成文本,从而在确定性和创造性之间取得平衡。
在 x(原帖链接见文章末尾) 上看到有人分享一组图解 LLM 工作原理的帖子,内容通俗易懂,就搬运过来汉化一下,和大家一起学习!
分享者是 Akshay,他是一位 AI/ML 工程师,在 x 上的介绍如下图所示:
LLM 工作原理解释
条件概率解释
他提到,在介绍 LLM 之前,需要先了解一下条件概率(conditional probability),应该是与高中、大学学的概率学相关。有一个很形象的例子:
有 14 个人,他们中的一部分人(7 个)喜欢网球、一部分人(8个)喜欢足球、少部分人(3 个)同时喜欢网球和足球、也有极少一部分人(2 个)都不喜欢网球和足球。用图表示如下:
所以如果要表示喜欢网球的人数概率,表示方法为 P(A),结果是 7/14;喜欢足球的人数概率,表示方法为 P(B),结果为 8/14;同时喜欢网球和足球的人数概率,表示方法为 P(A∩B),结果是 3/14;同时表示既不喜欢网球又不喜欢足球的人数概率,结果为 2/14。
那什么条件概率呢?
其实就是在另外一件事情发生的前提下,某件事情发生的概率。比如上面的事件 A 和事件 B,如果要表示在事件 B 发生的前提下,事件 A 发生的概率,那么表示方法是P(A∣B)。
所以,如果要计算一个人在喜欢足球的情况下,还喜欢网球的概率,计算方法为 P(A|B)=P(A∩B)/P(B)=(3/14)/(8/14)=3/8。
再拿阴天和下雨天为例来将条件概率:如果将今天下雨当作事件 A,阴天可能下雨作为事件 B(按照常识,阴天会有下雨的可能),而且事件 B 会影响下雨的预测。所以,阴天的时候就可能会下雨,这个时候就可以说条件概率 P(A|B) 是非常高的。
LLM 预测解释
回到 LLM 上来说,这些模式的任务就是预测下一个出现的单词。这就和前面讲的条件概率类似:如果给定已经出现过的单词,那下一个最可能出现的单词是哪一个?
所以,要预测下一个单词,模型就要根据之前给定的单词(上下文)来为每一个接下来可能出现的单词进行条件概率的计算,条件概率最高的单词就会被作为预测单词所选中。
而 LLM 学习的是一个高维度的单词序列概率分布。这个分布的参数就是经过训练的权重。但是这种概率毕竟是一种预测,并不是实际的结果,所以这个过程中就有一个损失计算(Loss calculation)的概念。
以下内容来自 ChatGPT。
Loss calculation(损失计算) 是指模型在预测过程中产生的误差的度量,通常用来衡量模型预测的结果与实际目标之间的差异。通过最小化损失函数,模型能够不断优化其参数,以提高对新数据的预测能力。
上图中提到的 Cross-entropy loss 和 Negative log-likehood 是两种损失函数。
- • Cross-entropy loss
Cross-entropy loss 指交叉墒损失,用来度量模型预测的概率分布与真实标签(即实际单词)间的差异。
交叉墒用于计算两个概率分布之间的差异。在语言模型中,一个概率分布是模型对每个可能的下一个单词的预测概率,另一个是实际的单词标签的“真实分布”(通常是一个one-hot分布,即正确单词的概率为1,其他为0)。交叉熵损失的计算公式如下:
- • Negative Log-Likelihood
Negative Log-Likelihood,负对数似然,简称 NLL。是机器学习中常用的一个损失函数,尤其在概率模型和分类问题中广泛应用。
以上内容来自 ChatGPT。
这种概率预测并选择最有可能的单词会带来一个问题如果总是选择可能性最大的单词,那么结果就是重复性的,这就让 LLM 显得缺乏创造性。
所以,这里面就有一个temperature(温度)的概念产生。
temperature(温度)
LLM 中,temperature(温度)是一个调整模型输出概率分布的超参数,通常用于文本生成和采样。它影响生成文本时的多样性和创造性,以及模型在选择下一个单词时的随机性。
因为在 LLM 中,大模型通常会生成一个概率分布,表示下一词在给定上下文下出现的可能性。例如,模型可能会为每个可能的下一个单词生成一个概率,就像前面图中所画的:
上下文是“The boy went to the“,下一个单词可能是“Cafe、Hospital、Playground、Park、School“,这几个单独对应的概率是“0.1、0.05、0.4、0.15、0.3“。
temperature 控制如何从概率分布进行采样:
- • Low temperature(低温度,比如 0.1 ~ 0.5):模型的输出会更加具有确定性,也就是更倾向于选择概率较高的单词,此时生成的文本更连贯、理性,内容更“保守”,但是也可能缺乏多样性和创意。
- • High temperature(高温度,比如 0.8 ~ 1.0):模型的输出会更加随机,也就使得低概率的单词有更大的机会被选中。这会增加生成文本的多样性和创造性,但是也可能导致输出不那么流畅或不太符合上下文。
temperature 是通过使用 softmax 函数来调整每个词的 logits(即原始的未经过归一化的分数)来对大模型的输出进行影响的。
softmax 函数是一个激活函数,用来将向量中的每个值转换成一个概率分布。其输出的每个值都会被转换成一个介于 0 和 1 之间的概率,并且所有输出的概率之和等于 1。
随后,作者给了两个不同 temperature 时候的示例来说明差别,第一张图是 low temperature 的,第二张图是 high temperature 的。
所以 LLM 并不是选择最佳(概率最大)的 token,而是对预测进行采样。所以,概率最高的 token 也有可能不会被选中。
所以,在 softmax 函数中,温度引入了一些调整,反过来这种调整又影响了采样过程。
最后作者给了一个很直观的代码示例来对 temperature 对采样的影响:
看来要学习 LLM,还需要深入学习大学的概率分布、统计、线性相关的课程啊。
那么,如何系统的去学习大模型LLM?
作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。
所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。
由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
为什么要学习大模型?
我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。
👉大模型学习指南+路线汇总👈
我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
👉①.基础篇👈
基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
👉②.进阶篇👈
接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
👉③.实战篇👈
实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
👉④.福利篇👈
最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!