大型语言模型(LLM)是人工智能领域一项引人瞩目的突破,它能够生成与人类写作水平相近的文本,这激发了专业人士和公众的想象力。 本文将深入探讨大型语言模型(LLM)的基本概念、起源和核心思想,并概述从零构建大型语言模型(LLM)的关键步骤,为读者提供一个全面而实用的学习路径。
什么是大型语言模型(LLM)?
大型语言模型(LLM)是一种专门用于处理和生成人类语言的深度神经网络。我们可能已经在各种流行的工具中接触过它们,例如 ChatGPT、DeepSeek、Gemini 和 Claude,这些工具都是由 大型语言模型(LLM)驱动的。
预测下一个词是 大型语言模型(LLM)的核心目标。例如,给定输入:“天空充满了星星在……”,模型可能会给出以下预测:
- 夜晚 -> 0.4
- 日落 -> 0.1
- 午夜 -> 0.5
模型会选择概率最高的词,这个概率是基于它在大量文本语料库(包括书籍、网站、文章、对话等)上学习到的模式。大型语言模型(LLM)并不像人类那样“理解”语言。它们没有信念、情感、意图或意识。它们是统计引擎,经过高度优化,可以根据前面的上下文生成最有可能的下一个词。
规模是 大型语言模型(LLM)成功背后的关键因素。它们训练所用的数据量庞大、计算资源丰富、架构复杂。这些因素结合在一起,产生了看似智能的输出,但实际上它们来自模式识别,而不是理解。大型语言模型(LLM)使用随机性或“温度”来改变答案。温度越高,模型探索的下一个词的范围就越广,从而产生更多样化和创造性的输出。较低的温度使模型更加确定性,并专注于最可能的选择。这种受控的随机性使 大型语言模型(LLM)能够对相同的输入产生不同的响应,尤其是在有多种可能的延续的开放式查询中。
自然语言处理(NLP)的历史:Transformer的出现
在 大型语言模型(LLM)出现之前,自然语言处理(NLP)领域的方法主要依赖于简单的统计模型和浅层神经网络。这些方法对于特定的任务有效,例如:
- 垃圾邮件检测:将消息分类为垃圾邮件或非垃圾邮件。
- 情感分析:确定评论或消息是正面的还是负面的。
- 命名实体识别(NER):识别文本中的实体,如名称、日期和位置。
- 词性标注:用语法角色(如名词、动词或形容词)标记单词。
虽然这些技术在各自的领域内表现良好,但它们在更广泛或更复杂的语言任务中表现不佳,尤其是在需要细致理解或自然文本生成的情况下。
循环神经网络(RNN)是自然语言处理(NLP)领域的一大进步,它是最早能够处理顺序数据的深度学习架构之一,例如语言。循环神经网络(RNN)一次处理一个单词,并保持一个隐藏状态,有效地“记住”以前看到的单词。但是,循环神经网络(RNN)也存在一些严重的局限性:顺序计算、记忆有限以及训练困难。
为了提高机器翻译等任务的性能,引入了编码器-解码器架构。这种设计涉及两个组件:编码器读取输入序列(例如,一个英语句子),并将其信息压缩成一个固定长度的上下文向量;解码器然后使用这个向量来生成输出序列(例如,法语翻译),逐字逐句。虽然这是一个重大突破,但该架构有一个关键缺陷:整个输入必须被压缩成一个上下文向量。对于短句子来说,这种方法效果不错。但是,随着输入长度的增加,重要的细节在压缩过程中丢失,导致性能下降,尤其是在翻译质量和信息保留方面。
随着任务变得越来越复杂,对流畅、连贯的文本生成的需求增加,现有架构已经不够用。人们需要一种更强大、可扩展、上下文感知的解决方案,该解决方案能够处理长距离依赖关系,高效地处理数据,并更好地捕捉人类语言的细微差别。Attention机制最终应运而生,并为现代 大型语言模型(LLM)奠定了基础。
Attention机制最早出现于2014年,Bahdanau等人提出了一种 Attention机制,以改进神经机器翻译。他们的想法是通过允许解码器动态地“关注”输入序列的不同部分,而不是依赖于单个固定上下文向量,从而增强基于循环神经网络(RNN)的编码器-解码器模型。这显著提高了翻译质量,尤其是在较长的句子中。
2017年发表的论文“Attention Is All You Need”是自然语言处理(NLP)的转折点,该论文介绍了 Transformer架构,这标志着自然语言处理(NLP)模型设计方式的根本转变。它的关键思想是:如果模型能够同时查看整个输入序列,并决定关注哪些部分,而不是一次读取一个单词并在时间步长内保持脆弱的记忆,会怎么样?
这个想法催生了自注意力机制(Self-Attention)的开发,在这种机制中,句子中的每个单词都可以直接“关注”其他每个单词,从而了解哪些单词与理解其含义最相关。自注意力机制使模型能够权衡所有单词之间的关系,而不管它们的位置如何,从而跟踪句子中的长距离依赖关系。Transformer完全依赖于自注意力机制,并且丢弃了循环,可以并行处理序列。
这种转变标志着自然语言处理(NLP)的巨大进步。从这个基础出发,大型语言模型(LLM)应运而生,它们是能够以前所未有的水平理解和生成语言的强大系统。Transformer不仅改进了自然语言处理(NLP),还重新定义了它。
为什么大型语言模型(LLM)中的“大”很重要?
大型语言模型(LLM)中的“大”指的是两个关键方面:
- 模型规模大:这些模型包含数十亿甚至数万亿个参数。参数是模型在训练过程中调整以捕捉语言模式的内部设置。模型拥有的参数越多,其理解就越细致和复杂。
- 训练数据量大: 大型语言模型(LLM)是在包含各种来源(如书籍、维基百科、新闻文章、互联网论坛、技术手册等)的大量数据集上训练的。这种广泛而多样的接触有助于模型学习各种主题和写作风格的模式。
架构和数据方面的规模相结合,使 大型语言模型(LLM)能够以令人印象深刻的多功能性执行广泛的语言任务,通常无需针对特定任务的训练。例如,它们没有经过明确的训练来编写代码或生成食谱。但是,它们可以做到这两点。为什么?因为它们已经接触过足够多的编程语法、烹饪说明和无数其他领域的示例,可以有效地识别和重现这些模式。
大型语言模型(LLM)是否真的智能?这取决于我们如何定义“智能”。大型语言模型(LLM)非常擅长模仿理解。它们可以生成看起来连贯、有见地甚至具有创造性的文本。但是,他们不像人类那样“知道”事情。他们没有意识、信念、意图或目标。他们不是以人类的思维方式进行推理,而是执行大规模的模式匹配,根据训练期间学习到的统计相关性来预测接下来会发生什么。您可以将它们视为高度先进的单词补全引擎,经过训练可以生成给定输入序列中最可能的下一个单词。
当由足够的数据、计算和复杂的架构驱动时,该引擎可以产生看起来非常智能的输出。这可能会导致人们认为 大型语言模型(LLM)真正了解世界或可以毫无疑问地信任它们。但是,重要的是要保持脚踏实地: 大型语言模型(LLM)并不“无所不知”,它们可能会生成不正确、有偏见或具有误导性的输出。将他们的响应视为有用的工具,而不是真理的绝对来源或类似人类的思想家。
大型语言模型(LLM)的应用
大型语言模型(LLM)已经迅速发展成为强大的工具,具有广泛的实际应用,改变了我们与基于语言的技术交互和利用的方式。最突出的用途之一是内容创作,在内容创作中, 大型语言模型(LLM)协助起草文章、创作小说、制作营销文案、生成对话,甚至帮助进行创意头脑风暴。在软件开发领域,这些模型可以跨多种编程语言探索、生成和重构代码,从而充当调试、文档编制和学习的实时助手。大型语言模型(LLM)擅长解决问题,尤其是在结构化或基于语言的上下文中,例如回答复杂问题、解释概念和指导决策过程。
除了直接输出之外, 大型语言模型(LLM)还经常用于为其他生成式人工智能系统(例如图像或音频生成器)生成提示,从而有效地充当多模型工作流中模态之间的桥梁。它们的影响力扩展到医学、法律、金融和教育等高度专业化的领域,在这些领域中,它们可以协助总结法律文件、起草医疗记录、简化技术语言或为专业人士提供快速访问信息。也许最重要的是, 大型语言模型(LLM)可以自动化几乎所有与文本相关的任务,从客户支持响应和数据输入到报告生成和翻译,从而释放效率和可扩展性,而仅靠人工是无法实现的。随着这些模型的不断改进,它们的多功能性和与日常工作流程的集成只会扩展,从而重塑机器在语言方面所能做的事情的边界。
大型语言模型(LLM)的核心构建块:从原始数据到智能助手
预训练是 大型语言模型(LLM)开发的第一步,在此过程中,模型会接触到大量的原始、未标记的文本数据。此过程将未经训练的神经网络转换为能够识别语言模式的通用语言模型。预训练基于自监督学习,这是一种技术,模型通过重复预测句子中的下一个标记(单词或单词的一部分),从而使用语言本身的结构作为监督信号。这消除了对人工标记数据的需求,从而可以在TB级的各种文本中扩展训练。
数据收集和过滤是第一步,数据收集和过滤是从公共互联网资源收集大量数据集。常见的资源是 Common Crawl,这是一个定期更新的开放式网络存档。但是,原始Web数据是嘈杂且不一致的,因此需要经过大量的预处理。例如,Hugging Face使用的 FineWeb数据集以及 MassiveText等数据集应用了多个过滤步骤,以确保质量和安全性:
- URL 过滤:删除不相关或低质量的来源。
- 文本提取:去除 HTML,仅保留可读文本。
- 语言过滤:仅保留所需语言(例如,英语)的内容,通常使用 FastText 等分类器。
- 基于图的过滤:消除具有不自然链接结构的页面。
- MinHash 去重:删除重复或近似重复的内容。
- Common Crawl 过滤器:应用于Web数据的标准清理规则。
- 自定义过滤器:用于进一步细化的项目特定标准。
- PII 删除:为了隐私和安全,删除个人或敏感信息。
生成的数据是干净、多样且庞大的,通常达到数十TB,涵盖书籍、百科全书、技术文档、新闻文章、论坛和代码存储库。
分词(Tokenization)是文本数据准备好后,它会被标记化,即转换为模型可以处理的离散符号(称为标记)。这些标记不一定是单词;它们可能是子词、字符或什至是标点符号,具体取决于标记化方案。GPT-4 等现代 大型语言模型(LLM)使用先进的标记化方法(例如,字节对编码或自定义变体)来有效地表示文本。例如:“hello world” 变成两个标记:“hello” 和 “world”。“helloworld” 可能会根据标记字典拆分为 “hello” 和 “world”,甚至更精细的子单元。例如,GPT-4 使用包含 100,277 个唯一标记的词汇表。高效的标记化使模型能够更好地泛化并优雅地处理不常见或看不见的单词。
有了标记化的数据,神经网络的实际训练就开始了。模型处理标记序列(例如,8,000 个标记的块),并尝试预测每个上下文窗口中的下一个标记。对于序列中的每个位置,它都会生成所有可能标记的概率分布(在 GPT-4 的情况下,有 100,277 个选项),并调整其内部参数,以使正确的下一个标记更有可能出现。此过程会使用高性能 GPU 上的分布式训练,在大量的标记序列批次中重复数十亿次。训练通过并行化矩阵运算进行,通过反向传播优化模型以最小化预测误差。
模型每次做出正确的预测时,它都会稍微强化该模式。当它出错时,它会更新其内部权重以调整未来的预测。随着时间的推移,模型仅通过学习哪些标记倾向于遵循其他标记,就可以内化句法规则、语义模式和上下文关联。
在此阶段结束时,我们得到的是一个基础模型,即一个通用神经网络,可以通过一次预测一个标记来生成文本。它没有理解、意图或意识。它不是以人类的思维方式“知道”任何东西。它只是通过生成基于其训练数据的统计上可能的序列来继续给定的提示。在此阶段,它无法可靠地回答问题、遵循指示或像助手一样行事。它仍然只是一个文本完成引擎,能够模仿模式但不能与用户意图对齐。
从文本补全器到基础模型
监督微调(SFT) 一旦经过预训练的模型学习了语言的总体结构和模式,它仍然缺乏可靠地遵循指令或表现得像一个有用的助手的能力。当我们要求 GPT 做某事时,它通常会回答说“这是一个很棒的问题,这是你想要的答案……”等等。但是,我们的基本模型还不能做到这一点。虽然它可以生成看似合理的文本,但它不理解任务、用户意图或正确性。为了弥合这一差距,模型需要经历一个关键的后续步骤:监督微调(SFT)。
在此阶段,模型会在经过精心策划和标记的数据集上进行训练。这些数据集由明确的指令与理想的响应配对组成,这些响应通常由人工注释者编写或审核。模型现在学习如何适当地响应人类输入,而不是简单地预测下一个单词。任务包括回答问题、总结内容、解决问题、提供解释,甚至进行多轮对话。为了构建这种交互,通常在此阶段引入特殊标记(例如,
论文“Training Language Models to Follow Instructions with Human Feedback”提供了大规模的监督数据,这些数据模拟了类似人类的交互。这些数据集有助于模型理解有用响应的预期格式、语气和结构,使其行为更像数字助理,而不是原始文本生成器。此阶段的结果是一个任务感知模型,该模型不仅可以完成文本,还可以主动理解和执行与用户意图对齐的指令。它现在可以区分问题、命令或解释请求,并相应地调整其响应。监督微调(SFT)是现代 大型语言模型(LLM)开发的基石。它不会赋予模型人类水平的推理或知识,但它教会它在广泛的应用中模拟有用的类似助手的行为,从教育和软件开发到法律援助、客户支持和创意写作。在这里,模型首先变得有意义地交互,并开始类似于我们今天使用的智能系统。
通过强化学习对齐
构建真正有能力且对齐的大型语言模型的最后阶段通常涉及(随着 DeepSeek R1 论文的推出而出现,如果我没记错的话)来自人类反馈的强化学习(RLHF)。此阶段旨在使模型超越模仿,从简单地模仿人类响应,转变为生成不仅正确,而且有用、诚实且与人类意图对齐的输出。
预训练为模型提供了广泛的语言知识,而 监督微调(SFT)教会了它如何遵循指示,强化学习引入了一个动态反馈循环。在此阶段,模型会针对给定的提示生成多个可能的响应。人类评估员(或者最终由根据人类偏好训练的奖励模型)随后会比较这些响应,并根据它们的期望程度或有用程度对其进行评分。模型使用这些信号来调整其行为,学习优先选择与人类期望对齐的输出。
此阶段在概念上类似于教育中的“练习题”:
- 预训练提供基础知识(如阅读教科书)。
- 监督微调(SFT)类似于学习已完成的示例。
- 强化学习模拟练习,模型在其中生成答案并从对其性能的评估中学习。
值得注意的是,DeepSeek 等公司率先公开披露了在后训练中明确使用强化学习(例如,在其 DeepSeek R1 模型中),展示了其在提高推理能力和提高性能方面的有效性。但是,强化学习并非没有挑战。在主观或无法验证的领域(如幽默、情感或道德判断)中,没有客观上正确的答案。在这里,人类的偏好起着至关重要的作用。但是,构建能够可靠地反映这些偏好的奖励模型是困难的。有时,这些模型可能会被误导而奖励无意义的输出(例如,重复或无意义的文本),如果训练不当的话。
尽管存在这些限制,但强化学习代表了塑造 大型语言模型(LLM)行为的重要一步。它鼓励他们生成超越表面流畅性的响应,并以有用性、相关性和安全性为目标。通过完整的管道(预训练、 监督微调(SFT)和强化学习), 大型语言模型(LLM)会从统计文本生成器转变为有目的的助手,能够为金融、法律、医学、教育等专业领域提供服务。通过这种分层学习过程,原始数据会转化为实用的、交互式的智能。
结论
从早期的统计方法到开创性的 Transformer架构,我们已经追溯了导致今天的大型语言模型(LLM)创建的非凡历程,这些系统能够生成感觉智能、响应迅速且类似人类的文本。然而,在这令人印象深刻的表面之下,是一堆精心设计的系统、数学原理和巨大的计算工作,而不是意识或真正的理解。
在本文中,我们探讨了什么是 大型语言模型(LLM)、它们如何在高级别上运作,以及使它们成为可能的关键发展。我们还概述了构建 大型语言模型(LLM)的必要阶段,从海量数据集上的预训练到 监督微调(SFT),最后到使用人类反馈进行强化学习。
大型语言模型(LLM)技术日新月异,从零构建需要付出巨大的努力和专业知识。希望本文能够为读者提供一个初步的了解,并激发大家对这个领域的探索。
参考
Andrej Karpathy 的视频内容非常丰富,强烈推荐您查看!