如果你在做AI产品,不需要变成机器学习研究员。但你迟早要回答这些问题:该用现成的LLM接口,还是自己训模型?AI功能为什么慢?模型为什么会胡说?该上RAG还是微调?Token用量怎么突然涨了?上下文窗口到底是什么?为什么有时要选更小的模型?AI Agent又是怎么调用LLM的? 你不需要搞懂Transformer背后的每一个数学细节。你需要的是一个好用的心智模型。这篇文章讲的就是这个。 **LLM到底是个什么东西** LLM的全称是大型语言模型。从高层看,它是一个在海量数据上训练出来的机器学习模型,学会了语言中的模式,并根据输入生成输出。 最简单的心智模型是:**LLM接收Token作为输入,预测下一个Token应该是什么。** 举个例子。输入「法国的首都是」,模型可能给接下来可能的Token分配概率:巴黎92%、伦敦2%、柏林1%、马德里1%……它选出一个Token,加进序列,再预测下一个。这个过程持续下去,直到模型生成完整回应。 所以当LLM写出一段话时,它未必是一次性把整段话想好的。它是在一个Token一个Token地生成。这个简单的想法,能解释LLM工作方式中相当大的一部分。 **从输入到输出,中间发生了什么** 在深入细节之前,先看整个流程:用户输入「解释一下RAG」,经过分词变成Token,Token转成嵌入向量,进入Transformer——里面有自注意力、MLP、很多层——输出Logits,再变成概率分布,选出下一个Token,然后重复生成,最后得到回应。 第一步是分词。当你输入「Product management is interesting.」,模型并不会直接收到这些人类可读的单词。文本先被转换成Token。分词器可能把它表示成["Product", " management", " is", " interesting", "."]。 但Token不一定是完整的词。一个词可以被拆成多个Token。比如internationalization就可能被表示成几个更小的片段。具体结果取决于分词器和模型。这就是为什么:**一个Token不一定等于一个词。** 这件事在产品里很重要。因为Token影响API成本、上下文窗口占用、延迟、吞吐量,有时还影响模型表现。 想象你的应用要处理:1万个用户,乘以2000个输入Token,乘以每天10次请求。那就是每天2亿个输入Token。这时候,分词就不只是机器学习概念了,它是一个产品经济问题。 **Token怎么变成数字** 神经网络处理的是数字。所以Token需要被转换成数值表示。这就是嵌入向量登场的地方。概念上,「product」会变成类似[0.21, -0.73, 0.44, 0.18, ...]这样的一串数字,实际向量比这个例子大得多。 你可以把嵌入理解成一种数值表示,让模型能够处理信息片段之间的关系。比如,出现在相似语境中的概念,在模型的表示空间里可能有有用的关系。这只是直觉,真实的嵌入空间是高维的,也复杂得多。 关键想法是:**嵌入把离散信息转换成神经网络能处理的数值表示。** **Transformer不等于LLM** 现代LLM大多围绕Transformer架构构建。这个架构出自2017年的研究论文《Attention Is All You Need》。论文提出了一种高度依赖注意力机制的架构,而不是早期序列模型常用的循环架构。今天,基于Transformer的架构是现代生成式AI的基础。 但要记住:**Transformer不等于LLM。**Transformer是一种架构。LLM是可以基于Transformer架构构建的语言模型。 一个简化的Transformer块大致是这样:输入进来,先过自注意力,再经过残差连接、归一化,然后进入前馈网络也就是MLP,再过一次残差连接和归一化,最后输出。其中两个组件尤其重要:自注意力和前馈网络。 先看注意力。考虑这句话:「开发者把笔记本电脑放在桌子上,因为它坏了。」这里的「它」指的是什么?语言模型需要理解序列中不同部分之间的关系。自注意力让模型能够判断哪些Token彼此相关。模型不是完全独立地处理每个Token,而是可以计算Token之间的关系。一个简化的心智模型是:模型用注意力机制来构建带有上下文的表示。 你会经常听到Query、Key、Value这三个词,也就是Q、K、V。简化的注意力公式是Attention(Q, K, V) = softmax(QKᵀ / √dₖ)V。作为产品经理,你不需要推导这个公式。更有用的是直觉:可以把它想成模型在问——「上下文里还有哪些部分和我相关?」
热门跟贴