AI核心概念指南:模型、权重与上下文窗口详解

AI术语迭代加速,核心概念梳理迫在眉睫。指南聚焦大语言模型,详解权重、量化及上下文窗口机制,厘清参数规模与智能表现的非线性关系,助力用户把握技术逻辑。

随着 Nvidia RTX Spark 等本地 AI 硬件的迭代,一系列新的缩写、定义和术语随之涌现。鉴于行业发布节奏之快,梳理一份人工智能核心概念清单显得尤为必要。以下指南旨在帮助读者理解 AI 领域的基本逻辑,以便在面对相关新闻时能够迅速把握重点。本文将聚焦于文本类大语言模型(LLM),涵盖通用聊天、编程及代理机器人等应用场景。

KV缓存复用提升长对话效率

Model

模型即大型语言模型本身,是从训练集中计算得出的产物。其训练数据来源于互联网、书籍、视频、音频记录及其他渠道。

从技术层面看,模型大致可视为一组高度复杂的统计分析层,用于处理图标、单词、代码片段、标点及其他符号之间的关系。代币(Token)并非模型的固有组成部分,而是与模型一同打包的数据单元。AI 模型在输出过程中会生成这些代币。

Weights

若缺乏相应的权重,模型中的计算层将毫无意义。权重代表了标记部分之间连接的强度,在模型运行时,这些数值最终决定了代币之间的关联方式。

例如,“na”与“naval”、“nachos”或“naruto”之间的连接权重各不相同。权重越高,意味着该词在训练数据中出现的频率越高。值得注意的是,除非重新训练模型或其特定部分,否则权重无法被修改。

在网络规范中常见的“4B”、“8B+”、“20B”等标识,指的是模型使用的参数或权重数量,消费级模型通常以数十亿为单位计量。

拥有更多权重的模型并不直接等同于更智能。这与 CPU 时钟速度类似,虽然更大的规模通常带来更好的性能,但并非唯一决定因素。

此外,业界常提及“开放式”模型与“封闭式”模型,如 Llama、DeepSeek 和 Kimi 等均属此类。只要具备相应的硬件支持,用户即可自行调整权重。需要明确的是,下载免费模型并不意味着获知其训练过程或权重计算方法。

数据类型和量子化

尽管听起来像军事手册中的术语,但其原理易于解释。所有程序根据用途使用不同宽度和精度的数字:游戏内的简单计数器可能仅需 32 位整数(INT32)表示 0 到 2^32 的范围,而高精度科学测量则需内存中存储 64 位浮点数(FP64)。

由于内存资源极其有限,开发人员倾向于使用最小单位,这在显存(VRAM)受限的 GPU 环境中尤为重要。GPU 擅长处理低精度值,以此在速度和精度之间取得平衡。数据类型本身无优劣之分,评估标准取决于具体应用场景。

在训练阶段,实验室需要尽可能高的权重精度。作为训练后的关键步骤,通常会进行多次传递以转换高精确度权重。各 AI 实验室对此环节的处理方法各异,且被视为核心机密。

边界模型主要采用相对较高的精度(如 BF16)来衡量权重,以保持响应质量、细微差别和推理能力(类比 GPS 定位精度选择英里还是英寸)。开放式模型通常提供多种量化版本,以适应不同的硬件承受能力。例如,Llama 3.3 70B 既可在完整的 BF16 模式下运行,也可在量化的 INT4 风味中运行。

精度越低,越容易在消费者硬件上运行。Hugging Face 列出的人工智能模型往往包含多个量化级别,以适应特定级别的硬件,通过牺牲响应精度换取尺寸缩减。消费级模型使用较小的数据类型,从而能适配 Mac Studio、RTX Spark 或显卡等设备。

背景窗口

“上下文窗口”是另一个常见术语,前沿型号的常见数值为一百万,这类似于计算机内存的概念。

上下文窗口需包含与当前任务相关的一切信息,不仅限于当前问题,还包括系统级提示、上传的文件、检索到的链接内容及相关数据。

对于 LLM 而言,这些数据被简化为一大堆代币:即上下文窗口。这也是为什么在技术上难以严格区分“数据”与“代码”,现代模型仅能对这一区别进行近似处理。

在回答新问题时,LLM 并非真正“思考”,而是在所有代币上重新运行统计程序并预测下一个手。因此,拥有更大的上下文窗口有益处(以 VRAM 为代价),这也是目前流行 100 万数值的原因。然而,统计算法存在局限性。

即使将窗口增加至 300 万代币,可能会发现 LLM 的预测开始崩溃。模型往往关注对话的开头和结尾,却遗忘中间内容。因此,每个模型都针对其上下文窗口大小进行了精细调整。

在 KV 缓存中

若在本地或通过远程 GPU 运行 LLM,“KV 缓存”是一个高频词汇。用户可能需要为其预留 VRAM,或在必要时存储在高速 SSD 上。实际上,它可以在同一会话的不同查询间重复使用。

保存和复用的数据可描述为“本次会话的代币之间的关系”。例如,句子“You have the right to push back”可能被标记为“you-re-ri-ght-to-pu-sh-back”。每个符号间的划线代表一个向量(或数组),称为 KV,用于确定接下来选择的符号。

由于文本生成是线性的,计算每一个新代币都需要所有的 KV。因此,在同一会话中重复提问时,必须复用 KV。

请记住,LLM 并非仅回答刚提出的问题——它始终会从对话开头分析整个上下文,最终生成回复 token。在一段包含 300,000 个 token 的长对话中,若无缓存机制,意味着需要重新计算所有 KV,这是一项缓慢的操作,且随着交互次数增加,速度下降幅度会不成比例地加剧。

结合前文提到的量子化,现代模型会降低 KV 缓存内容的精度,以微小的精度损失换取保持 VRAM 使用量。事实上,随着大背景窗口和长对话的出现,KV 缓存占用的空间可能超过模型和权重本身。

专家组合 (MoE)

过去,AI 公司宣称最新模型的参数数量;如今,竞争焦点转向了谁能在给定模型中包含更多“专家”。这种描述让人联想到许多小科学家生活在知识实验室里,每人处理特定主题。

专家组合(MoE)本质上是主模型中的一组子模型。所有子模型接收相同的数据集,但权重选择对每个子模型而言具有随机性。每个子模型对代币价值的贡献不同,由于训练过程中的模式强化(称为“富者愈富”效应),相关代币趋向融合,从而形成针对特定代币集的“专家”。

一个常见误解是认为这些专家与特定主题(如编程)挂钩,但实际上它们仅在建立符号关系,这意味着对某些单词和文本模式更准确。专家对风景绘画评价不错,纯属幸运意外。

这可能让人误以为模型变得更大,或许单一通用专家更明智。事实确实如此,但关键在于模型只能激活特定的专家,这意味着只有模型的一部分实际处于运行状态。

模式选择基于每一个代币,路由器为每个接收到的代币重新选择专家。想象脑部扫描模式,根据听到的单词,不同区域会发光。实际上,这意味着模型可以在某些部分更准确地回答问题,同时提高响应速度,尽管这会带来更高的 VRAM 使用成本。

检索增强生成 (RAG)

RAG 是在任何给定模型使用时最强大的概念之一。简而言之,它可以被描述为:聊天应用程序执行类似 Google 搜索的操作。这些额外信息可以以任何形式出现:公司文件、报告、电子邮件或电子表格。

大多数当代 LLM 聊天应用程序运行搜索以激活 RAG,通常通过选择“网络搜索”开关,或启用“思考”/“高精力”模式来触发,明确指示应用程序查找回答查询所需的数据。鉴于纯粹的上下文往往是回答许多问题的关键,RAG 是最强大的工具之一。

有趣的事实是:应用程序搜索的查询通常由一个较小的独立模型生成。

其主要缺点在于计算量极大:提问和回答文本可能仅消耗 10,000 个 tokens,而检索到的网页内容本身就可能占用数十万 tokens。例如,Perplexity 服务在构建时重点采用了 RAG,根据个人体验和用户反馈,尽管底层模型与其他家相同,但在回答问题时通常表现得更出色、更懂上下文。

推断,预填写和解码

推断是使用受过训练的模型产生输出或代币的行为。每次发送提示时都会发生,上述所有因素在此过程中发挥作用。推断主要分为两个阶段:预填和解码。

预填是推断的第一阶段。基本上,所有输入历史记录(或提示符)都被代币化,然后由 AI 模型处理。这可能包括文件、代码等。这些输入也决定了 KV 缓存中的内容。通常,预填充时间比整体输出更快。

预填是衡量特定芯片或硬件输出第一个代币所需时间的整体工作负载的重要组成部分,也称为“时间到第一个代币”(TTFT),这是一个常见的 AI 基准,通常与每秒预填代币一起报告。背景、KV 缓存及其他讨论过的内容均被纳入考量。

解码是推断的第二阶段。在预填处理输入并构建 KV 缓存后,AI 模型一次生成一个代码的响应。由于必须顺序完成以确定后来的代码,此步骤不能并行执行,这与预填不同。解码通常取决于上下文,并从模型的 KV 缓存中读取。解码通常受内存带宽限制而非原始计算,因为从权重传输单个代币和读取 KV 缓存是带宽密集任务,这意味着内存速度更为重要。您通常会看到解码速度称为每秒代币(TPS)。

投机解码是一种技术,使解码步骤中的单个代币更快,而不改变整体输出。起草机制猜测几个即将到来的代币,然后模型试图在并行传递中验证它们(几乎像一个额外的预填充步骤)。如果猜测正确,那么模型的输出在给定的解码过程中确实是正确的。

多代币预测(MTP)试图一次预测下一组代币,而不是只服务下一个代币。这通常是建立在 AI 模型训练多个步骤的基础上。这可以作为投机解码所需的内置起草机制。

这是一个非详尽的概念列表,但对于理解人工智能模型和 LLM 如何工作至关重要。我们将继续更新和完善相关内容,随着新信息的增加。

评论 0

0/500

评论需审核后展示,请文明发言

💬
还没有评论,来说两句

相关阅读