咱平时跟大模型(大型语言模型,Large Language Model,简称LLM)唠嗑、让它帮写文案的时候,有没有好奇过——它到底是咋看懂咱们敲的这些字的?🤔 其实背后藏着个关键角色:Tokens!简单说,Tokens就是大模型处理文本的“最小积木块”,把这些小积木拼起来,才能搭出咱们能看懂、能互动的语言世界~
先说说英文里的Tokens:可能是一整个单词,比如“apple”;也可能是单词的一部分,像“unbelievable”会被拆成“un”和“believable”;就连逗号、句号这种小标点,在大模型眼里也是独立的Tokens!举个栗子,“I love apples.”这句话,会直接拆成“I”“love”“apples”“.”这4个Tokens,是不是很直观?
到了中文这边,情况就灵活多了——毕竟咱们没有天然的空格分隔单词。Tokens既可以按单个汉字拆,比如“我喜欢苹果”拆成“我”“喜”“欢”“苹”“果”5个Tokens;也能按语义拆成常用词,比如直接拆成“我”“喜欢”“苹果”3个Tokens,怎么方便理解怎么来~
搞懂了Tokens是啥,是不是特好奇这些小积木是怎么从咱们的文本里“变”出来的?🧩 其实核心就3种常见玩法,咱们一个个说清楚~
这是最简单粗暴的方式:把文本里每个字符都当成独立的Token。比如“Hello, world!”,算上逗号和感叹号一共13个字符,就直接拆成13个Tokens。优点是简单好懂、零门槛,但缺点也超明显——完全不考虑语义啊!就像把“apple”拆成“a”“p”“p”“l”“e”,大模型哪能一下子反应过来这是个水果?纯纯的“只见树木不见森林”~
这是更贴近咱们说话习惯的方式。英文里直接按空格拆单词,比如“The dog runs fast”拆成“The”“dog”“runs”“fast”4个Tokens;像“mother-in-law”这种带连字符的,一般也当成一个Token处理。
中文这边就需要借助分词工具了,比如大家常听说的jieba分词。它会按语义把句子拆成词语,比如“我喜欢吃苹果”拆成“我”“喜欢”“吃”“苹果”4个Tokens。这种方式的好处是符合咱们的语言逻辑,大模型更容易理解语义,但遇到新词就歇菜了——比如刚出现的网络热词或专业术语,没在训练词库里的话,就拆不明白,容易影响理解。
这是现在大模型最常用的方式,简称BPE。核心思路特聪明:从单个字符开始,不断把出现频率高的字符对合并成新Token,相当于“动态造词”。
举个例子,假设我们有“low”“lower”“newer”“wider”这些文本。一开始每个字符都是独立Token,模型统计后发现“er”出现频率超高,就把“er”合并成新Token。这样一来,“lower”就变成“low”+“er”两个Token,“newer”变成“new”+“er”两个Token。
这种方式完美平衡了“词表大小”和“处理新词能力”:既不会因为词表太大让模型扛不住,又能把新词拆成已知的子词组合,让大模型能搞定各种生僻词、新词,效率直接拉满~
Tokens可不光是“拆文本”这么简单,在大模型的训练和工作过程中,它可是隐藏的“核心打工人”💼,没它大模型根本转不起来!
先说说训练阶段:Tokens就像大模型的“语文老师”,带着它学语言规律。模型会疯狂统计每个Token出现的频率,以及和其他Token的“绑定关系”——就像咱们读多了故事书,会知道“英雄”常和“拯救”“胜利”一起出现一样。大模型学久了也会发现:“太阳”总跟着“天空”“温暖”走,慢慢就懂了它们之间的语义关联。靠着这些Tokens的“教学”,大模型才能摸清语言的套路,为后续干活打下基础。
到了实际工作(推理)阶段,Tokens就是大模型的“写作助手”。咱们输入文本后,它先把文本转成Tokens序列,再根据之前学的规律,预测下一个最可能出现的Token——就像玩接龙游戏一样,把预测的Token加上去,再继续预测,直到生成完整文本。比如咱们输入“今天天气真好,我打算”,模型会根据Token关联规律,预测下一个可能是“去”“公园”“散步”,最后生成“今天天气真好,我打算去公园散步”这种通顺的句子。说白了,Tokens就是大模型写作的“灵感线索”,没它就写不出连贯的话~
细心的小伙伴肯定发现了:ChatGPT、文心一言这些大模型,收费都按Tokens算,跟普通软件按次、包月的套路不一样。为啥大模型都认准Tokens收费?
首先得明确:大模型运行超烧钱!按Tokens收费,本质是“按资源消耗计费”,透明又合理。
其次,这种模式超公平!传统订阅制的坑大家都懂:轻度用户在补贴重度用户。比如有人只是偶尔查个资料,有人天天用AI写代码、做复杂任务,结果俩人为相同的会员费买单,对轻度用户太不友好了。而API调用收费和流量收费又有明显短板——API按次计费对长文本处理不友好(一次长文本和一次短文本费用一样,长文本用户亏),流量收费无法精准匹配处理难度(相同流量的简单文本和复杂文本,模型消耗差异大)。按Tokens收费就不一样了,“用多少付多少”,查资料的少花钱,重度使用的多花钱,谁也不用替谁买单,每一分钱都花在自己的使用上,主打一个明明白白消费~💰
最后,这是大模型企业的“生存之道”。大模型训练成本高到离谱,比如GPT-4训练一次就花了约1亿美元。如果没有合理的收费模式,企业很容易亏倒闭。按Tokens收费能让企业根据用户使用量灵活调整资源,避免浪费,保证能持续盈利——只有企业活下去,才能不断优化模型,给咱们更好的服务呀~
对比下来就能发现,按Tokens收费的优势很明显:你想啊,处理100个Tokens的提问,比处理10个Tokens复杂多了——GPU得加班干活,耗电量飙升;生成答案时,模型还得记住之前所有Tokens,就像写作文记前文一样,Tokens越多,内存压力越大;而且思考时间也变长,服务器得排队等着。所以每一个Token的处理,都对应着真金白银的成本,按Tokens收费就是把这些成本精准分摊给用户。
差别还真不小!举几个热门模型的例子:OpenAI的GPT-4 Turbo,输入每百万Tokens收3美元,输出每百万收6美元;xAI的Grok 4更狠,输入同样3美元/百万,但输出要15美元/百万。国内的云雀、文心一言这些,收费会随应用场景、套餐变化。所以大家选模型时,一定要先看清楚Tokens收费标准,结合自己的使用量选性价比最高的,别花了冤枉钱~
必须有!3个实用技巧拿走不谢~💡 ① 提问别啰嗦,直奔主题!比如问“怎么写公众号标题”,别铺垫“我最近在做公众号,不知道怎么写标题,你能告诉我吗”,多余的话全是浪费Tokens;② 预处理输入文本,删掉没用的信息——比如无关的标点、“的地得”这种虚词,英文里的“the”“and”也可以适当精简;③ 多次交互时别重复输入!利用大模型的上下文记忆,之前说过的信息不用再复述,直接说“接着刚才的话题,补充一下...”就行,能省不少Tokens~
肯定会!比如你想让大模型写一篇几千字的论文,结果它的Tokens上限只能处理几百字,写着写着就断了,多闹心~ 不过现在很多大模型都在提升Tokens上限,比如GPT-4 Turbo支持百万级Tokens上下文。建议大家用之前先查清楚模型的Tokens上限,根据需求规划文本长度,避免中途“掉链子”。
总结一下:Tokens就是大模型(大型语言模型,LLM)的“语言积木”,从学习语言到输出内容,再到收费计价,全程都离不开它!希望今天这篇干货能让你搞懂Tokens~🎉 下次用大模型的时候,多留意下Tokens相关的小细节,既能提高使用效率,又能省下不少钱,让大模型更好地为咱们打工~