OpenAI联合创始人通俗解读大语言模型
大型语言模型(LLMs)无疑是过去两年里最炙手可热的AI话题。这些技术奇迹的背后,原理其实既简单又深刻。OpenAI的联合创始人Andrej Karpathy曾做过一次极其通俗的解读,下面我们就顺着他的思路,深入&浅出地把大语言模型拆开看明白。
大语言模型可以比作两个文件
说白了,大语言模型就是由海量数据通过复杂计算训练出来的一个“智能体”,它能理解、生成甚至模仿人类语言。但若把模型拆到最简,本质就两个核心组件:一个巨大的参数文件,外加一段运行参数的代码文件。
参数文件好比模型的“DNA”,里面装着数以亿计甚至万亿计的权重。这些权重通过训练大量数据得来,共同织成一张复杂的神经网络,专门用来捕捉、学习并模仿人类语言的细微差别。每个权重都承载着特定的信息与规则,让模型看到输入时能做出预测。
代码文件则是模型的“大脑”,它负责告诉计算机怎么用参数文件里的权重处理输入文本、执行推理并生成输出。这段代码可以用各种编程语言写,它定义了模型的架构——比如怎么根据当前输入选出最合适的下一个词,又怎么结合上下文生成连贯的段落。
两个文件一结合,模型就活了。只要有台装好软件的电脑,无需联网,你就能直接跟它对话。写文章、编代码、解难题,样样都行。
就拿Meta开源的热门模型Llama2 70B来说,你可以在电脑文件系统里找到两个核心文件:一个参数文件,一个运行代码文件。每个参数用16位浮点数(2个字节)存储,累加起来参数文件的体积达到了140GB——这数字既反映了模型的复杂度,也预示着它的处理能力有多强。
运行代码文件呢?可能出乎你的意料:大约500行C语言代码就够用。把代码编译完,再链接上参数文件,一个完整的Llama2 70B模型就诞生了。这时候你就可以向它提问或请求,不论是查资料、写文本,还是其他复杂任务,它都会根据训练中学到的知识库给出回应。
如何获取参数文件
模型回答问题,这叫“推理阶段”。推理阶段用模型训练时学到的知识(参数文件)理解用户查询并生成回答,计算需求相对较低,在个人电脑或云端小环境里就能跑。
那参数文件从哪来?当然是训练,训练可比推理复杂太多。
模型训练阶段,相当于对海量互联网数据做一次“压缩”。目标是从广泛数据里提取有用信息和模式,然后把知识存进参数。这个过程需要巨大的计算资源,尤其对于数百亿参数的大模型。
想训练一个模型,首先得从互联网爬取大量数据,然后建一个大规模的GPU集群。训练的过程,就是把数据“压缩”到参数文件里。以700亿参数的Llama2为例,需要6000块GPU,花12天时间,从大约10TB的互联网数据中最终得到一个140GB的“压缩文件”,整个过程耗费约200万美元。
预测下一个单词
有了参数,代码实现的神经网络到底在做什么?
参数文件或者说这个“压缩文件”,就是大模型对世界的理解。有了它,模型就能开始工作了。
简单来说,大型语言模型的工作原理基于一个核心任务:依靠包含压缩信息的神经网络,预测给定序列中的下一个单词。
比如我们输入“cat sat on a”,模型会动用它亿万参数,通过神经元相互连接,探索这些词汇之间的潜在联系。每个神经元连接都代表特定的语言模式或知识片段,模型沿着这些连接找出最可能的下一个词汇,然后给词库里每个词一个概率——概率最高的就是最佳选择,比如“mat”有97%,于是形成“cat sat on a mat”这个完整句子。
不可避免的幻觉问题
神经网络就是在做下一个单词的概率预测。但当我们把海量数据浓缩成参数时,不可避免地会丢失信息。而且,并非所有可能遇到的问题都直接出现在训练数据里,所以最先进的模型也无法保证输出100%准确。
当我们向模型提问时,有时它只是在模仿训练中学到的内容,然后根据这些学习内容给出一个似乎合理、大致正确的方向。这种现象可以理解为“幻觉”——模型在没有确切答案时,强行构建一个貌似合理的输出。
神经网络最神奇的地方在于:我们完全知道它的架构细节——比如上图就是Transformer模型,我们清楚每个阶段发生了什么数学计算。问题在于,这100B的参数分布在整个网络中,我们只知道如何迭代调整让它在预测下一个词的任务中表现更好,但我们并不知道这些参数具体在做什么、怎么协同工作的、每个参数代表什么意思。
有时我们可以把模型理解成一个“数据库”,但这数据库有点奇怪和怪异:它不只存储静态信息,而是通过海量文本学习构建了一个复杂的知识网络,能动态交互地对查询做出回应。
举个例子:问“Tom Cruise的妈妈是谁?”,模型能回答“Mary Lee Pfeiffer”——这就像从精心整理的数据库里检索。但反过来问“Mary Lee Pfeiffer的儿子是谁?”,模型可能回答“不知道”。这揭示了大型语言模型作为“数据库”的一个局限性:它的知识基于训练数据构建,可能不包含所有方向的关联信息。面对没有直接学习过的查询,模型就可能答不上来。
这种行为让大语言模型又奇特又怪异。它们不是传统意义上的键值对应,里面的“知识”是一种更复杂、更抽象的数据表示。模型回答问题不是从固定库里直接检索,而是通过对训练数据的深层理解,尝试重构和推断可能的答案。
训练第二阶段:微调
从互联网爬取文档的训练叫第一阶段——预训练。现在我们进入第二阶段:微调。因为我们大多数时候并不想要一个纯粹的文档生成器。
微调可以看作第二次训练。预训练阶段,模型通过处理TB级别的通用数据学习广泛的语言规律和知识;微调则用较小但高质量、针对性强的数据集进一步优化模型,让它更好地适应特定应用场景。
然而即使经过微调,大模型仍然可能遇到“幻觉”问题。这源于模型的工作机制——它基于概率和统计推断,而不是真正的理解和逻辑推理。
训练第三阶段:标注偏好
第三阶段也是一种微调,主要针对第二阶段生成的结果进行比较标注——从多个回答中选出更好的那个,并反馈给模型。评审员会根据准确性、逻辑性、信息丰富度和表达清晰度等标准进行对比和标注。
收集到人类的评估反馈后,这些反馈被当作奖励信号,指导AI模型进行强化学习训练。模型尝试不同策略,根据反馈结果调整行为,以提高获得正面评价的概率,就像人通过奖惩机制学新技能。
在OpenAI ChatGPT的训练流程中,这个阶段叫做RLHF(人类反馈强化学习)。
LLMs 的未来
1. LLM Scaling Law
当前AI领域一个普遍观察是:模型越大,处理复杂任务的能力往往越强。在大语言模型上尤其明显——下一个单词预测的准确性和模型规模直接相关。
具体来说,预测准确率可以通过一个非常平滑且可预测的函数来刻画,主要由两个变量决定:模型参数数量(n)和训练使用的文本数据量(d)。知道了参数量和处理文本量,就能以较高信心预测模型性能。
更多参数意味着更强的学习能力,能捕捉语言中更微妙的规律;更大训练数据则提供更丰富的信息和上下文。随着两者增长,模型的语言理解和生成性能自然会提升。
2. 接入更多的工具
就像人类用各种工具提升解决问题的能力一样,给大语言模型配上多样化的工具也能显著增强其实用性和功能性。
- :实时访问互联网海量信息,获取最新数据,回答时效性问题。
上网浏览
- :执行精确的数学计算和数据分析,对财务分析、科学研究等领域很重要。
计算器功能
- :参与软件开发、代码调试和算法设计,不仅理解和生成自然语言,还能编写和优化代码。
编程能力
- :整合专门化模型(如图像识别、语音处理),提供更全面深入的分析。
调用其他模型
这些工具让LLMs从单纯的文本工具蜕变为多功能、高效率的智能助手,在教育、科研、商业等领域都能大显身手。
3. LLM 多模态发展
未来的LLMs不只处理纯文本,还能理解和生成包含多种数据类型的复合内容——比如从图像中提取信息并用自然语言描述,或者根据文本生成图像和视频。
多模态能力也有助于模型更好地理解语言背后的情感和语境,更准确捕捉和反映人类意图。同时,多模态LLMs能在与用户互动中实时学习和适应——观察用户的行为、表情和反馈,动态调整响应。这种交互式学习提高了用户体验,也为构建更智能的自适应教育、娱乐和辅助设备打下了基础。
4. 深思熟虑 Tree of Thought
当前LLMs有点像“直觉式思维”——依照接收的信息自动、迅速、不加思考地回答。它效率高,但容易受偏见影响,可能在信息不充分时做出判断。
这就是为什么复杂数学或推理类问题经常让ChatGPT掉链子——这类问题通常需要理性思考,即一步步推理。
未来借鉴“思维树”概念,意味着我们要让模型既能快速响应,又能进行深度、逻辑性强的分析推理。这样的模型能更好模拟人类决策过程,输出更准确、更具洞察力的答案。
5. 自优化能力
未来大语言模型的关键趋势之一是自我优化——模型不仅执行给定任务,还能基于反馈和结果持续改进性能和效率。
就像AlphaGo那样,通过集成强化学习机制,在与环境交互中调整行动策略,同时持续学习和更新知识库,避免“灾难性遗忘”。引入增强学习、连续学习、自我诊断和元学习等机制,让模型不断改进,适应日益复杂多变的任务需求。
6. 客户端定制化LLM
大型语言模型正快速走向定制化。用户可以个性化模型,让它以特定“身份”完成特定任务,满足个性化需求和特定场景的要求。
7. 至关重要的安全性
随着模型越来越智能,它们面临的安全挑战也越来越复杂。比如ChatGPT刚出来时,有很多“越狱”方法,其中一个是“奶奶漏洞”——构建特定的故事背景诱导模型回答本应拒绝的问题。例如,捏造一个“已经去世的奶奶”曾是化学工程师,编造她念述凝固汽油弹的配方当作睡前故事,再让模型扮演这位奶奶继续讲故事。
这个例子揭示了LLMs面临的安全和伦理挑战:如何确保模型不被恶意利用来获取或生成不当信息。应对之道需要多管齐下:
- :提升模型对复杂情境的识别,更好察觉潜在恶意意图。
改善模型理解能力
- :设置更严格的规则,确保处理敏感内容时遵循明确指导原则。
增强伦理和安全规则
- :开发实时监测系统,一旦发现不当内容立即干预。
实施动态监控与干预
- :不断研究新攻击手段,持续优化安全措施,应对演变的安全挑战。
持续研究与更新
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名