LLM词元:开发者实现AI高效开发的入门指南

译文 精选
人工智能
词元(token)是影响大语言模型(LLM)性能和成本的基本单元。这篇指南探讨了为什么分词(tokenization)是实现AI高效开发的关键。

译者 | 布加迪

审校 | 重楼

大语言模型(LLM)彻底改变了机器理解和生成人类语言的方式,幕后支持从聊天机器人到内容生成器的各种应用其出色功能背后是每个开发人员都应该理解的一个基本概念:词元。这个基本单元直接影响使用LLM的模型性能和成本。本探讨了什么是词元、词元LLM中的功能以及为什么理解词对于高效实施AI至关重要。

了解大语言模型词元

AI和自然语言处理中,词元是模型处理的文本的基本单位。不像人类将文本读取成连续字符流,LLM 将输入文本分解为名为词元的小段。词元可以是整个单词、单词的一部分、单个字符,甚至标点符号或空格。

LLM识别的独特分词集构成了词汇表。通过将文本转换成分词LLM可以以更易于分析和生成的形式处理语言,充当理解和生成文本的基础。

LLM如何使用词元

LLM使用词元作为从文本中学习和生成新内容的基础:

1. 在训练期间,LLM读取大量文本并将每个句子或文档转换成词元序列。

2. 每个词元都映射到名为嵌入Embedding)的数字表示,以便模型可以对其执行数学运算。

3. 模型学习词元序列的模式——哪些词元通常在各种上下文中跟在其他词元的后面

4. 在推理期间,输入文本被分词化,模型处理这些词元序列以预测下一个最可能的词元

5. 模型根据学习到的概率按顺序输出每个词元每次一个词元生成最终响应。

这种基于词元的方法允许LLM捕获单词短语之间的统计关系,从而使它们能够生成连贯且上下文相关的文本。

分词:如何将文本转换成词元?

分词是将原始文本转换词元的过程——这是LLM的关键第一步,因为它们无法直接理解人类语言。分词方法显著影响模型处理文本的效率以及它处理不同语言和写作风格的能力。

基于单词、基于字符和子单词的

词主要有三种方法,每种方法都有不同的优缺点:

1. 基于单词的:将每个单词(用空格或标点符号分隔开来)视为单个词元。比如说LLMs are amazing!变成[LLMs”、“are”、“amazing”、“]。这种方法很直观,但处理不熟悉的单词(词汇表之外的词)时会遇到困难,并且需要非常大的词汇量。

2. 基于字符的方法将文本分解单个字符或字节。使用相同的例,它变 [LLMs“ ”、“are等]。方法可以表示任何可能的字符串,但会显著增加序列长度,从而降低处理效率。

3. 子词:通过将单词分解有意义的部分来达到平衡,这些部分可能比单词短但比字符长。像unhappiness这样的罕见单词可能变成[unhappiness]。这种方法可以有效地处理新或罕见词,同时保持词汇量易于管理使其成为现代LLM的首选方法。

单词vs词元

词元是LLM处理的基本单位,而单词是语言单位。词元可以是整个单词、单词的一部分、字符或标点符号。在英语中,一个单词平均等于大约1.3个词元,但这因语言和词方法而异。

不同词方法的例

考虑不同的词器如何处理单词internationalization

  • 基于单词的词器可能将其视为单个词元(如果已知)或将其为[UNK](未知)。
  • 基于字符的词器会将其分解20个单独的字符。
  • 子词词器可能会将其拆分[internationalization],以识别常见的形态单位。

这些差异表明词为何重要——选择会影响模型处理文本的效率以及它们如何处理不熟悉的单词或表达。

常见的词工具

几个工具和库可帮助开发人员实现词:

  • NLTK和spaCy拥有基于单词的基本分词器流行NLP库。
  • SentencePiece:支持BPE和Unigram分词方法的谷歌库。
  • Hugging Face词器高效实现了各种词算法。
  • OpenAI的Tiktoken:针对OpenAI的模型(比如GPT-3和GPT-4)优化的快速词器。
  • 针对特定语言词器比如面向日语的Mecab或面向其他语言的专用工具。

词元限制和模型约束

每个语言模型都有预定义的词元限制,为输入和输出建立了界限。这约束定义了上下文长度”,即模型在单个操作中可以处理的词元数量比如说拥有2048个词元上下文长度和500个词元输入的模型可以生成最多1548个词元的响应。这限制是由于计算约束、内存限制以及架构设计选择而存在的

了解这界限至关重要,因为超出界限可能会导致响应被截断、信息丢失或模型错误。随着上下文窗口逐渐扩大,模型不断发展,但遵循词元限制有效运作仍然是LLM开发人员的一项基本技能。

词元限制如何影响性能

词元限制直接影响LLM维护上下文和生成连贯响应的能力。当输入接近或超过这限制时,模型可能会丢失文本中先前呈现的信息,从而导致准确性下降、细节被遗忘或输出相互矛盾。有限的词元上下文尤其会阻碍需要长期推理、解决复杂问题或参考整个文档中信息的任务。

此外,不同的词方法会影响文本的编码效率——低效的词导致词元的浪费,这些词元会计入上下文限制,却不添加有意义的信息。了解这些性能影响有助于开发人员设计更有效的提示和交互。

优化词元使用的几个策略

有效的词元优化始于设计简洁清晰的提示,以消除冗余和不必要的细节。开发人员可以在适当的情况下使用缩写、删除重复信息以及将查询重点放在特定点而不是广泛主题上,以此减少词元的使用。使用后续问题而不是冗长的单个提示来构建交互可以最大限度地提高上下文利用率。

采用分块(将内容分成更小的段)等技术有助于在处理大型文档时管理词元约束。选择词元方法更高效的模型监测成本敏感型应用的词元使用情况可以显著降低运营费用,同时保持输出质量。

实践中的LLM分词

从聊天机器人到内容生成系统,分词影响与LLM的每次交互。了解其实际意义有助于开发人员创建更有效的AI应用程序。

AI应用中分词的

  • 聊天机器人和虚拟助手:分词用户查询和以前的对话历史记录以保持上下文。
  • 机器翻译:词源文本,在语言之间映射词元,并生成翻译输出。
  • 文本摘要:将文档分解词元,以识别要提取或抽象的关键信息。
  • 代码完成:使用可以理解编程语言语法的专用词器。

词对SEO和内容创建的影响

使用LLM创建内容时,词会影响以下几个方面:

  • 内容长度和结构:词元限制可能需要将内容分解部分或规划多部分生成。
  • 关键字使用:了解如何分词特定术语有助于确保它们在生成的内容中完整显示。
  • 内容规划:有效的提示需要了解不同指令的分词效率。

流行的词算法及差异

现代LLM通常使用子词词算法,每种算法都有不同的方法:

  • 字节对编码BPE

字节对编码单个字符入手,并迭代合并最常见的相邻词元对,直至达到目标词汇量。这种数据驱动的方法可以有效地处理常见单词,同时仍能够表示罕见术语。OpenAI的GPT模型使用BPE的变体。

  • Unigram语言模型

Unigram词采用一种概率方法,从许多候选词元入手,并迭代删除对生成训练文本的可能性影响最小的词元。这样可以创建更具有语言意义的词元。

  • WordPiece

WordPiece是为BERT开发的,与BPE似,但优先考虑最大化训练数据可能性的合并,而不仅仅是频率。它通常用特殊前缀(比如BERT中的“##”)标记子词单元,以表示单词连续。

Tiktoken(OpenAI 的词器)

OpenAI为GPT-3.5和GPT-4等模型定制的词器实现了BPE,并针对速度和效率进行了优化。它处理多语言文本、特殊字符和多种格式,同时保持可逆性(词元可以完美地转换回原始文本)。

结论

词元构成了大语言模型理解、处理和生成文本的基础。理解词不仅仅具有学术意义,直接影响应用程序效率、成本管理和输出质量。如果掌握分词概念和优化策略,开发人员可以构建更有效的AI应用程序,最大限度地发挥LLM的潜力,同时最大限度地减少其局限性。

随着模型不断发展,上下文窗口越来越大架构越来越复杂,有效的词元管理对于力求创建最先进应用程序的AI开发人员来说仍是一项关键技能。

原文标题:What Is an LLM Token: Beginner-Friendly Guide for Developers,作者:Janakiram MSV

责任编辑:华轩 来源: 51CTO
相关推荐

2024-05-07 08:45:16

OpenAILlamaIndex大语言模型

2019-08-16 10:55:37

开发者技能AI

2017-11-27 13:09:00

AndroidGradle代码

2013-08-30 09:41:46

JavaApache CameApache

2018-06-03 08:00:24

AI开发深度学习语言

2018-03-27 23:25:40

Paddle

2024-02-01 09:37:42

Kubernetes服务网格• 命令

2022-01-02 23:26:08

开发SDK Sentry

2023-05-19 10:04:18

Vue开发者代码

2012-06-13 01:23:30

开发者程序员

2024-03-21 08:18:00

Chrome前端浏览器

2021-12-25 22:31:55

Sentry 监控SDK 开发 性能监控

2019-02-21 13:40:35

Javascript面试前端

2023-12-06 17:57:07

开发云服务

2011-09-26 09:10:41

Web

2022-01-11 20:42:54

开发Sentry标志

2011-04-13 13:38:57

选项APIBlackBerry

2011-04-13 09:55:16

Mail APIBlackBerry

2022-01-17 19:34:43

SentryWeb APISentry API
点赞
收藏

51CTO技术栈公众号