大模型的奥秘:Token与Transformer简单理解

大模型是什么

大模型(Large Model)是指具有大规模参数和复杂计算结构的机器学习模型。这些模型通常由深度神经网络 构建而成,拥有数十亿甚至数千亿个参数。大模型的设计目的是为了提高模型的表达能力和预测性能,能够处理更加复杂的任务和数据。大模型在各种领域都有广泛的应用,包括自然语言处理、计算机视觉、语音识别和推荐系统等。大模型通过训练海量数据来学习复杂的模式和特征,具有更强大的泛化能力,可以对未见过的数据做出准确的预测。

大语言模型(large language model,LLM),也称大语言模型,是由具有大量参数(通常数十亿个权重或更多)的人工神经网络组成的一类语言模型,使用自监督学习或半监督学习对大量未标记文本进行训练。大型语言模型在自然语言处理、文本生成和智能对话等领域有广泛应用。

GPT(Generative Pre-trained Transformer):GPT 和 ChatGPT 都是基于 Transformer 架构的语言模型,但它们在设计和应用上存在区别:GPT 模型旨在生成自然语言文本并处理各种自然语言处理任务,如文本生成、翻译、摘要等。它通常在单向生成的情况下使用,即根据给定的文本生成连贯的输出。

ChatGPT:ChatGPT 则专注于对话和交互式对话。它经过特定的训练,以更好地处理多轮对话和上下文理解。ChatGPT 设计用于提供流畅、连贯和有趣的对话体验,以响应用户的输入并生成合适的回复。

当然,我们日常说的大模型,更多还是值得是大语言模型,Chatgpt, DeepSeek,Qwen等一开始也都是大语言模型,随着大模型技术不断的更新,成熟,越来越多的模型供应商,开始支持CV,OCR,ASR,SER等模型,形成多模态大模型。

本文还是主要讲述的是大语言模型相关概念和基本原理。

大模型原理

什么是token

我们在使用chatgpt,deepseek的时候,经常看到计费规则,基本是按照token来计费的,那什么是token?就是一个字符吗?

Token就是大模型处理文本的最小单位。token可以表示单词、单词的一部分,甚至只表示字符。

"今天天气很好,我打算出去打羽毛球",拿这段话来说,大模型会通过分词器(Tokenizer),可能会分成如下的token: "今天","天气","很","好","我","打算","出去","打","羽毛球"。这些token最后都转化为向量,映射到唯一的数值表示,LLM 使用向量数值输入,这种映射允许 LLM 将文本数据作为数字序列进行处理和操作,从而实现高效的计算和建模。

假设上面的文本是输入,大语言模型的输出token又是怎么实现的呢?假设大模型的输出是"是的,今天天气很好,你可以带上你的羽毛球去室外玩"。实际上,大模型的输出也是一个token,一个token的输出,最后组装起来,后一个token是上一个token的概率输出。例如先输出"是的",后面紧跟着的预测token是",",且概率最大,或者高于阈值。

可以看deepseek的流式输出,实际上就是输出一个个token。

什么是transform

上面介绍了一下什么是token,那么大模型如何理解token呢?我们很容易想到的第一个方案就是让AI一个个token,顺序读,读了第一个token,记住它,传给大脑;再读第二个token,结合第一个字理解,再传下去。。。

但是这样有两个十分明显的缺点:

  1. 慢,需要一个接着一个读,同时结合上文,理解。
  2. 健忘,如果句子很长,读到最后几个字时,可能已经忘了开头讲什么了(比如"因为......所以......"的逻辑容易断)。

这是传统AI的方式,通过RNN,循环神经网络来进行处理。但显然,我们日常用的大模型,基本处理速度都比较快,所以大模型显然并没有采用RNN的方式实现,而是通过另外一种方式,Transform架构来实现。

Transform最大的优点就是快,它不是一个个读的,还是整体读,通过并行计算,瞬间把整段话的所有token同时记录到脑海里。当然,写还是串行的。

并行的读去token,势必会造成有的token读得快,有的token读得慢,出现乱序行为,但我们再使用过程中发现大模型并没有出现这样的问题,那transform如何解决的?

Transformer 的架构主要分为两部分:

  • 编码器 (Encoder ) ------ 负责"读"和"理解":它把人类的语言(文字)转化成计算机能懂的数字向量(特征)。同时也会记录每个token或者每个特征的位置编码,这样就能保证token的顺序性。
  • 解码器 (Decoder ) ------ 负责"写"和"生成":它拿到编码器给的理解结果,开始生成目标语言(比如把中文翻译成英文,或者回答你的问题)。虽说是生成,但也会计算出每次输出token的位置编码。

Transform还有个非常重要的机制,自注意力机制self-Attention。我们以"苹果掉在地上,它摔坏了。"这段话为例。当我们读到"它"的时候,我们人类知道"它"指的是"苹果"。但电脑怎么知道"它"是指"苹果"还是"地"?简单一点理解,Transformer 会让每一个token,都去和其余token进行相关性的算分,取权重最高的那一个token。当模型处理"它"这个字时,会发现"苹果"跟它的关联度(权重)很高,可能有 90 分。而"地"跟它的关联度只有 10 分。于是,模型在理解"它"的时候,会把注意力更多地放在"苹果"身上。

另外,需要说明的是,目前Chatgpt等主流大语言模型,主要采用的是纯Decoder模式

参考文献

想要更加深入的理解transformer的同学,可以参考:

相关推荐
AngelPP3 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年3 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼3 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS4 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
warm3snow4 小时前
Claude Code 黑客马拉松:5 个获奖项目,没有一个是"纯码农"做的
ai·大模型·llm·agent·skill·mcp
天翼云开发者社区5 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈5 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang5 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx
shengjk17 小时前
NanoClaw 深度剖析:一个"AI 原生"架构的个人助手是如何运转的?
人工智能