零基础认识大语言模型(LLM)工作原理(1.引子--为什么 AI 突然变聪明了?)
最近正好有空,打算抽时间复盘总结一下这些年零零散散学习的AI知识.
下面是目录
零基础认识大语言模型(LLM)工作原理目录 - GuZhenYin - 博客园
好了,废话不多说,我们直接开始
第一章 为什么 AI 突然变聪明了?
1.1 AI 真的突然变聪明了吗?
如果你是在 2022 年底第一次接触 ChatGPT,可能会有一种非常强烈的感觉:
AI 怎么突然变聪明了?
以前,我们手机里的语音助手只能完成一些固定操作。
例如:
"打开微信"
它能听懂。
但是:
"帮我写一封向领导请假的邮件,语气委婉一点。"
它几乎一定做不到。
再比如。
如果你问:
"今天适合去拍日落吗?"
以前的大多数 AI 往往会回答:
我没有理解你的意思。
或者干脆搜索几条网页给你。
但 ChatGPT 出现以后,人们第一次发现:
它不仅能回答问题,还能:
- 写代码
- 写论文
- 翻译几十种语言
- 制定旅行计划
- 编故事
- 总结几百页文档
- 帮程序员排查 Bug
- 甚至还能陪人聊天。
于是很多人开始认为:
AI 突然拥有了智慧。
事实上,并不是 AI 在一夜之间发生了"质变"。
真正发生变化的是:
人类终于找到了一种能够充分利用海量数据和超大规模神经网络的方法。
这种方法,就是今天几乎所有聊天 AI 背后的核心技术:
大语言模型(Large Language Model,简称 LLM)。
1.2 ChatGPT 为什么震惊世界?
2022 年 11 月,OpenAI 发布了 ChatGPT。
很多技术其实都不是第一次出现。
例如:
- 神经网络早在几十年前就已经提出。
- 深度学习在 2012 年开始快速发展。
- Transformer 架构发表于 2017 年。
- GPT 系列模型在 ChatGPT 之前已经迭代了多个版本。
真正改变世界的,并不是某一个全新的算法,而是这些技术第一次被组合成一个普通人都可以直接使用的产品。
ChatGPT 做了一件以前几乎没有 AI 做到的事情:
它可以像人一样持续进行自然对话。
注意,这里的"像人一样",并不是说它拥有人的意识,而是说:
- 它能够理解上下文;
- 能够连续回答几十轮问题;
- 能够根据你的要求不断修改答案;
- 能够完成各种以前需要不同软件才能完成的任务。
例如:
以前如果你想完成下面这些事情:
- 翻译英文;
- 总结 PDF;
- 写 Python 程序;
- 写 Java 接口;
- 写 Excel 公式;
- 写演讲稿;
通常需要使用很多不同的软件。
而现在,一个聊天窗口就可以完成。
于是,人们第一次意识到:
原来语言,可以成为一种统一的人机交互方式。
1.3 什么是大语言模型?
很多人第一次听到"大语言模型"这个名字时,会误以为:
是不是因为它会很多语言?
其实不是。
这里的"语言",指的是:
人类用于表达信息的文本序列。
而"大",主要体现在几个方面:
第一,是模型参数规模巨大。
传统机器学习模型可能只有几万个参数。
早期神经网络可能拥有几百万参数。
而现代的大语言模型,通常拥有数十亿甚至数万亿个参数(部分模型采用稀疏激活架构,因此一次推理并不会使用全部参数)。
第二,是训练数据巨大。
训练一个现代大语言模型,需要阅读海量文本,例如:
- 公开网页;
- 图书;
- 学术论文;
- 开源代码;
- 技术文档;
- 多语言语料。
这些数据通常以 Token(词元) 为单位进行统计,总规模可达到数万亿 Token。
第三,是计算规模巨大。
训练一次先进的大语言模型,通常需要大量高性能 GPU 或其他 AI 加速器持续运行数周甚至数月。
因此,大模型的"大",不仅仅指模型本身,还包括:
- 数据规模;
- 参数规模;
- 算力规模;
- 工程复杂度。
1.4 为什么以前的 AI 不会聊天?
这个问题其实很有意思。
并不是以前的人没有想到让 AI 聊天。
而是以前的方法决定了:
它几乎不可能做到真正自由的对话。
例如,一个传统聊天机器人可能这样工作:
用户输入:
今天天气怎么样?
程序:
如果包含"天气"
↓
调用天气接口
↓
返回天气
如果用户说:
今天适合穿什么?
程序员又要再写一套规则。
如果用户继续问:
那下午会下雨吗?
又要继续增加新的规则。
随着需求越来越多,系统会变得越来越复杂。
这种方式通常被称为:
基于规则(Rule-based)的系统。
它非常擅长处理固定流程。
但是几乎无法覆盖无限变化的人类语言。
而大语言模型采用的是另一种完全不同的方法:
它不是提前写好每一种回答。
而是在回答时,根据当前上下文,实时生成下一段文本。
正因为如此,它才能回答以前从来没有见过的问题。
1.5 GPT 真正改变了什么?
很多人认为:
GPT 最大的突破,是回答更准确了。
其实,更重要的变化是:
它把"语言"变成了一种通用接口。
以前:
不同任务,需要不同软件。
现在:
很多任务,都可以先转换成自然语言,再交给模型处理。
例如:
写 SQL:
帮我统计昨天订单数量。
写代码:
用 Java 实现一个 Redis 分布式锁。
写邮件:
写一封礼貌的催款邮件。
总结会议:
总结下面这份会议纪要。
这些任务表面上完全不同。
但对于模型来说:
它们都是:
根据已有文本,继续生成最合适的下一段文本。
也正因为如此,一个模型可以完成如此多不同类型的任务。
1.6 总结:一句话理解 LLM
读到这里,你可能仍然会觉得:
一个模型怎么可能同时会写代码、写小说、翻译、聊天?
其实,它们背后的核心原理只有一句话:
大语言模型的训练目标,是根据已有上下文,预测下一个最可能出现的 Token(词元)。
注意,这句话非常重要。
后面本系列的所有内容——包括 Token、Transformer、Attention、Thinking、Agent——几乎都可以看作是在回答同一个问题:
为什么"预测下一个 Token"这件看似简单的事情,最终能够表现出如此强大的智能?
浙公网安备 33010602011771号