深入理解大语言模型(5)-关于token

到目前为止对 LLM 的描述中,我们将其描述为一次预测一个单词,但实际上还有一个更重要的技术细

节。即 LLM 实际上并不是重复预测下一个单词,而是重复预测下一个 token 。对于一个句子,语言模型会

先使用分词器将其拆分为一个个 token ,而不是原始的单词。对于生僻词,可能会拆分为多个 token 。

这样可以大幅降低字典规模,提高模型训练和推断的效率。例如,对于 "Learning new things is fun!" 这

句话,每个单词都被转换为一个 token ,而对于较少使用的单词,如 "Prompting as powerful

developer tool",单词 "prompting" 会被拆分为三个 token,即"prom"、"pt"和"ing"。

json 复制代码
# 为了更好展示效果,这里就没有翻译成中文的 Prompt
# 注意这里的字母翻转出现了错误,吴恩达老师正是通过这个例子来解释 token 的计算方式
response = get_completion("Take the letters in lollipop \
and reverse them")
print(response)

The reversed letters of "lollipop" are "pillipol".

但是,"lollipop" 反过来应该是 "popillol"。

但 分词方式也会对语言模型的理解能力产生影响 。当您要求 ChatGPT 颠倒 "lollipop" 的字母时,由于分词器

(tokenizer) 将 "lollipop" 分解为三个 token,即 "l"、"oll"、"ipop",因此 ChatGPT 难以正确输出字

母的顺序。这时可以通过在字母间添加分隔,让每个字母成为一个token,以帮助模型准确理解词中的字

母顺序。

json 复制代码
response = get_completion("""Take the letters in \
l-o-l-l-i-p-o-p and reverse them""")
print(response)

p-o-p-i-l-l-o-l

因此,语言模型以 token 而非原词为单位进行建模,这一关键细节对分词器的选择及处理会产生重大影

响。开发者需要注意分词方式对语言理解的影响,以发挥语言模型最大潜力。

❗❗❗ 对于英文输入,一个 token 一般对应 4 个字符或者四分之三个单词;对于中文输入,一个

token 一般对应一个或半个词。不同模型有不同的 token 限制,需要注意的是,这里的 token 限制是输

入的 Prompt 和输出的 completion 的 token 数之和,因此输入的 Prompt 越长,能输出的

completion 的上限就越低。截至2023年,ChatGPT3.5-turbo 的 token 上限是 4096。

相关推荐
trsoliu31 分钟前
🚀 AI行业震荡:高通挑战英伟达霸主地位,生成式AI引擎赋能生命科学,OpenAI重新定义「电力新石油」
人工智能
汽车仪器仪表相关领域33 分钟前
工业商业安全 “哨兵”:GT-NHVR-20-A1 点型可燃气体探测器实操解析与场景适配
大数据·人工智能·功能测试·安全·安全性测试
长桥夜波34 分钟前
【第十九周】机器学习笔记08
人工智能·笔记·机器学习
trsoliu1 小时前
快手StreamLake重磅发布AI编程产品矩阵,自研大模型超越GPT-5,AI开发者新时代来临!
人工智能·ai编程
天涯路s1 小时前
OpenCV 高级图像处理
人工智能·opencv·计算机视觉
小宁爱Python1 小时前
从入门到实践:LangGraph 构建复杂 AI 工作流的完整指南
人工智能·python·microsoft·django
百锦再2 小时前
Python、Java与Go:AI大模型时代的语言抉择
java·前端·vue.js·人工智能·python·go·1024程序员节
IT_陈寒2 小时前
Vite 3.0终极提速指南:5个鲜为人知的配置技巧让构建效率翻倍
前端·人工智能·后端
深蓝岛2 小时前
LSTM与CNN融合建模的创新技术路径
论文阅读·人工智能·深度学习·机器学习·lstm