揭秘大语言模型:从文字到数字,token 是如何变成向量的?
你有没有想过,ChatGPT 这样的大语言模型是怎么 “看懂” 文字的?其实,它们靠的是一套 “数字密码”—— 把文字变成向量。今天就用大白话,带你看懂这个神奇过程。
第一步:文字先拆成 “小零件”——token
大模型处理文字前,会先把句子拆成最小单位 “token”。就像把拼图拆成小块,方便后续处理。
(此处建议配图:左侧是一句话 “我爱吃苹果”,被拆成右侧的 token “我”“爱”“吃”“苹果”,每个 token 用不同颜色方块表示)
token 分三种常见类型:
- 单词级:比如 “apple” 就是一个 token子词级:长单词会拆成片段,如 “unhappy” 拆成 “un”“happy”字符级:每个字 / 字母单独算,如 “cat” 拆成 “c”“a”“t”
第二步:给 “小零件” 贴标签 —— 从 token 到 ID
拆好的 token 不能直接被模型识别,得先变成数字。就像给每个零件编个唯一编号,比如:
(此处建议配图:左侧是不同 token “我”“爱”“a”“b”,右侧对应数字 ID “1”“2”“3”“4”,用箭头连接)
- “我”→ID:1“爱”→ID:2“a”→ID:3
第三步:编号变 “坐标”——ID 到向量
有了 ID,还要通过 “嵌入层” 变成向量。向量就像 token 在数字空间里的 “坐标”,比如 [0.2, 0.5, -0.3](维度通常有几百到几千)。
(此处建议配图:一个表格样式的 “嵌入层查找表”,行是 ID,列是向量维度,ID “1” 对应一行数字,用箭头指向一个三维坐标点表示向量)
向量的 “成长记”:从随机到有意义
刚生成的向量是随机数字,没啥含义。但经过海量文本训练后,奇迹发生了:
(此处建议配图:左侧是杂乱分布的向量点,标注 “训练前”;右侧是聚集的向量群,“高兴”“开心” 聚在一堆,“大”“小” 分在两边,标注 “训练后”)
- 模型通过 “损失函数” 判断预测对错,用 “梯度下降” 调整向量数值最后,语义近的 token 向量会靠得近(如 “爸爸” 和 “父亲”),相反的则离得远(如 “冷” 和 “热”)
为啥要费这劲?
因为模型只懂数学运算。向量让文字能被 “计算”:比如 “国王 - 男人 + 女人≈王后”,这种神奇的语义关系,就是靠向量运算实现的。
(此处建议配图:用箭头表示向量运算,“国王” 向量减去 “男人” 向量,加上 “女人” 向量,箭头终点指向 “王后” 向量)
从文字拆成 token,到变成 ID,再转化为有语义的向量,这三步就是大模型 “理解” 语言的核心。看似复杂的过程,本质是把人类语言翻译成机器能懂的数字密码。
未来随着技术发展,这套 “翻译系统” 会越来越精准,说不定哪天,模型真能像人类一样理解文字背后的喜怒哀乐呢~