当人们谈论大型语言模型的大小时 , 参数会让我们了解神经网络的结构有多复杂,而token的大小会让我们知道有多少数据用于训练参数 。
正像陆奇博士所说的那样 , 大型语言模型为从文本生成到问题回答的各种任务提供了令人印象深刻的能力,不仅彻底改变了自然语言处理(NLP)领域,而且作为基础模型会改变整个软件生态 。
这些模型的一个经常被忽视的关键点是“token”的作用,即模型处理的各个信息单元 。大型语言模型(LLM)不能真正理解原始文本,相反,文本被转换为称为token的数字表示形式,然后将这些token提供给模型进行处理 。
token 在区块链中代表是通证或者代币,那么token在LLM中代表的是什么呢?
1. 什么是token?在 LLM 中,token代表模型可以理解和生成的最小意义单位,是模型的基础单元 。根据所使用的特定标记化方案,token可以表示单词、单词的一部分,甚至只表示字符 。token被赋予数值或标识符,并按序列或向量排列,并被输入或从模型中输出,是模型的语言构件 。
一般地,token可以被看作是单词的片段,不会精确地从单词的开始或结束处分割,可以包括尾随空格以及子单词 , 甚至更大的语言单位 。token作为原始文本数据和 LLM 可以使用的数字表示之间的桥梁 。LLM使用token来确保文本的连贯性和一致性,有效地处理各种任务,如写作、翻译和回答查询 。
下面是一些有用的经验法则,可以帮助理解token的长度:
1 token ~= 4 chars in English1 token ~= ¾ words100 tokens ~= 75 words或者1-2 句子 ~= 30 tokens1 段落 ~= 100 tokens1,500 单词 ~= 2048 tokens
在AI target=_blank class=infotextkey>OpenAI 的API 参数中,max _ tokens 参数指定模型应该生成一个最大长度为60个令牌的响应 。可以通过https://platform.openai.com/tokenizer 来观察token 的相关信息 。
2. token 的特点我们可以先用OpenAI 的playground 来看一个例子“Dec 31,1993. Things are getting crazy.”
文章插图
图片
使用 GPT-3 tokenizaer将相同的单词转换为token:
文章插图
图片
2.1 token到数值表示的映射词汇表将token映射到唯一的数值表示 。LLM 使用数字输入 , 因此词汇表中的每个标记都被赋予一个唯一标识符或索引 。这种映射允许 LLM 将文本数据作为数字序列进行处理和操作,从而实现高效的计算和建模 。
为了捕获token之间的意义和语义关系,LLM 采用token编码技术 。这些技术将token转换成称为嵌入的密集数字表示 。嵌入式编码语义和上下文信息,使 LLM 能够理解和生成连贯的和上下文相关的文本 。像transformer这样的体系结构使用self-attention机制来学习token之间的依赖关系并生成高质量的嵌入 。
2.2 token级操作:精确地操作文本token级别的操作是对文本数据启用细粒度操作 。LLM 可以生成token、替换token或掩码token,以有意义的方式修改文本 。这些token级操作在各种自然语言处理任务中都有应用,例如机器翻译、情感分析和文本摘要等 。
2.3 token 设计的局限性在将文本发送到 LLM 进行生成之前,会对其进行tokenization 。token是模型查看输入的方式ーー单个字符、单词、单词的一部分或文本或代码的其他部分 。每个模型都以不同的方式执行这一步骤,例如,GPT 模型使用字节对编码(BPE) 。
token会在tokenizer发生器的词汇表中分配一个 id,这是一个将数字与相应的字符串绑定在一起的数字标识符 。例如,“ Matt”在 GPT 中被编码为token编号[13448] , 而 “Rickard”被编码为两个标记 , “ Rick” , “ ard”带有 id[8759,446],GPT-3拥有1400万字符串组成的词汇表 。
token 的设计大概存在着以下的局限性:
- 大小写区分:不同大小写的单词被视为不同的标记 。“ hello”是token[31373] , “ Hello”是[15496] ,而“ HELLO”有三个token[13909,3069,46] 。
- 数字分块不一致 。数值“380”在 GPT 中标记为单个“380”token 。但是“381”表示为两个token[“38”,“1”] 。“382”同样是两个token,但“383”是单个token[“383”] 。一些四位数字的token有: [“3000”],[“3”,“100”],[“35”,“00”] , [“4”,“500”] 。这或许就是为什么基于 GPT 的模型并不总是擅长数学计算的原因 。
推荐阅读
- 生成式AI与大模型有什么区别和联系?
- 为何有的男性会被称为“油腻大叔”?看女性怎么解读
- 揭秘大模型背后的知识储存与提取技术
- 大模型助力高效创建知识图谱
- LLM的工程实践思考
- 如何构建基于大模型的App
- 人工智能大模型布局千行百业
- 数据标注员,困在大模型里
- 大模型可解释性你能理得清吗?综述已来,一文解你疑惑
- 多模态大模型最全综述来了!7位微软研究员大力合作,5大主题,成文119页