【精选优质专栏推荐】
- 《AI 技术前沿》 —— 紧跟 AI 最新趋势与应用
- 《网络安全新手快速入门(附漏洞挖掘案例)》 —— 零基础安全入门必看
- 《BurpSuite 入门教程(附实战图文)》 —— 渗透测试必备工具详解
- 《网安渗透工具使用教程(全)》 —— 一站式工具手册
- 《CTF 新手入门实战教程》 —— 从题目讲解到实战技巧
- 《前后端项目开发(新手必知必会)》 —— 实战驱动快速上手
每个专栏均配有案例与图文讲解,循序渐进,适合新手与进阶学习者,欢迎订阅。
文章目录

前言
如果你一直在使用像 GPT-4 或 Claude 这样的大型语言模型,你可能会好奇,它们是如何写出真正可用的代码、解释复杂的主题,甚至帮助你处理日常事务的。
那么,实际上它们的底层机制是怎样的呢?这些系统是如何将一个简单的提示转化为连贯、有上下文的回应,有时甚至让人感觉几乎像人类一样?
本文将深入介绍让大型语言模型能够工作的核心概念。无论你是将 LLM 集成到应用中的开发者,想要理解能力和局限性的产品经理,还是仅仅出于好奇的人,这篇文章都适合你。
1.分词(Tokenization)
在任何文本进入神经网络之前,它必须被转换为数值表示。分词就是这个翻译过程,它比简单地按空格或标点符号拆分要复杂得多。
分词器使用像字节对编码(Byte Pair Encoding, BPE)、WordPiece 或 SentencePiece 这样的算法来创建词汇表,从而在效率和表示质量之间取得平衡。

这些算法通过从单个字符开始,逐步组合出现频率最高的字符对来构建子词词汇表。例如,“unhappiness” 可能会被分词为 [“un”, “happy”, “ness”],让模型能够分别理解前缀、词根和后缀。
这种子词方法解决了许多关键问题。它可以通过将生僻词拆分为已知部分来处理词汇表外的单词;它可以管理形态丰富的语言,其中单词有许多变体;最重要的是,它创建了一个固定大小的词汇表,现代大型语言模型通常使用约 32K 到 100K 个 token。
分词方法决定了模型的效率和计算开销。有效的分词可以缩短序列长度,从而降低处理需求。
GPT-4 的 8K 上下文窗口可以处理 8,000 个 token,约相当于 6,000 个单词。
当我们构建处理长文档的应用时,token 计数对于控制成本和保持在限制内非常关键。
2.向量表示(Embeddings)
你可能在文章或社交媒体上看到过关于向量表示(embeddings)和流行的 embedding 模型的内容。但它们到底是什么呢?向量表示将离散的 token 转换为向量形式,通常维度在数百到数千之间。
向量表示是一种密集的向量形式,同时也捕捉了语义含义。它们不是将单词视作任意符号,而是将单词放在一个多维空间中,相似的概念会聚集在一起。

可以想象一张地图,“king”(国王)和 “queen”(女王)是邻居,而 “king” 与 “bicycle”(自行车)则相隔遥远。嵌入空间大致就是这种情况,只不过它是在数百甚至数千个维度上同时发生的。
可以想象一张地图,“king”(国王)和 “queen”(女王)是邻居,而 “king” 与 “bicycle”(自行车)则相隔遥远。嵌入空间大致就是这种情况,只不过它是在数百甚至数千个维度上同时发生的。
当我们构建搜索功能或推荐系统时,向量表示就是我们的秘密武器。两个文本片段如果嵌入向量相似,即使没有共享完全相同的词,也意味着它们在语义上相关。这就是现代搜索能够理解“automobile”和“car”基本上是同一个概念的原因。
3.Transformer 架构
Transformer 架构彻底改变了自然语言处理(字面意义上),引入了注意力机制。与旧模型按顺序处理文本不同,Transformer 可以同时查看句子的所有部分,并判断哪些词对理解其他词最重要。
在处理句子 “The cat sat on the mat because it was comfortable” 时,注意力机制帮助模型理解 “it” 指代的是 “the mat”,而不是 “the cat”。这是通过学习到的注意力权重实现的,这些权重强化了相关词之间的联系。
对于开发者来说,这意味着模型可以处理文本中的长程依赖和复杂关系。这也是现代大型语言模型能够在多段对话中保持连贯性,并理解跨整篇文档的上下文的原因。
4.训练阶段:预训练与微调
大型语言模型的开发分为不同的阶段,每个阶段都有其特定目的。语言模型通过预训练从海量数据集中学习模式——这是一个昂贵且计算密集的阶段。可以将其理解为教会模型总体上理解和生成人类语言。
接下来是微调阶段,在这一阶段,我们将预训练模型专门化,使其适应特定任务或领域。与从零学习语言不同,我们是在教一个已经具备能力的模型,在特定应用上表现出色,例如代码生成、医疗诊断或客户支持。

这种方法之所以高效,是因为我们不需要投入大量资源就能创建功能强大的专业模型。许多公司通过使用自己的数据对现有模型进行微调,构建领域专用的 LLM,从而以相对有限的计算预算取得了令人印象深刻的成果。
5.上下文窗口(Context Windows)
每个大型语言模型都有一个上下文窗口——它一次最多能考虑的文本量。可以将其视为模型的“操作记忆”。超出这个窗口的内容,从模型的角度来看就不存在了。
这对开发者来说可能颇具挑战性。如何构建一个能够跨多次会话记住对话内容的聊天机器人,而模型本身没有持久记忆?如何处理比上下文窗口更长的文档?
一些开发者会维护对话摘要,并将其反馈给模型以保持上下文。但这只是实现方法之一。其他可能的解决方案包括:在 LLM 系统中使用记忆机制、检索增强生成(RAG)以及滑动窗口技术。
6.温度与采样(Temperature and Sampling)
温度用于平衡语言模型生成文本的随机性与可预测性。温度为 0 时,模型总是选择最可能的下一个 token,生成的结果一致但可能重复;温度较高时,会增加随机性,使输出更具创造性,但可预测性降低。
本质上,温度决定了模型词汇的概率分布。低温度下,模型更偏向高概率 token;高温度下,低概率 token 被选中的机会增加。
采样技术如 top-k 和 nucleus 采样提供了额外的控制机制。top-k 采样将选择限制在概率最高的 k 个 token 中,而 nucleus 采样则通过累积概率阈值自适应地确定候选集合。
这些技术有助于在创造性与连贯性之间取得平衡,让开发者对模型行为有更细粒度的控制。
7.模型参数与规模(Model Parameters and Scale)
模型参数是编码 LLM 所有知识的学习权重。大多数大型语言模型通常有数千亿参数,更大的模型甚至达到万亿级。这些参数捕捉语言模式,从基本语法到复杂推理能力。
参数越多通常意味着性能越好,但这种关系并非线性。模型规模扩大需要指数级增加的计算资源、数据集和训练时间。
在实际开发中,参数数量会影响推理成本、延迟和内存需求。一个 70 亿参数的模型可能可以在普通硬件上运行,而一个 700 亿参数的模型则需要企业级 GPU。理解这一权衡可以帮助开发者为特定应用和基础设施选择合适的模型规模。
总结
本文介绍的概念构成了每个大型语言模型系统的技术核心。那么接下来呢?你可以尝试构建一些能够帮助自己更好理解语言模型的项目,也可以探索向量表示技术,并在自己的数据上尝试不同的分词策略。还可以搭建本地模型,观察温度变化如何影响输出,并分析不同参数规模下的内存使用情况。

被折叠的 条评论
为什么被折叠?



