先说答案: 不同模型可能采用各自的切分方法,因此,一个 Token 所对应的汉字数量也会有所不同。如腾讯1token≈1.8个汉字,通义千问、千帆大模型等1token=1个汉字,对于英文文本来说,1个token通常对应3至4个字母, 不同的模型对相同的输入分词, 分词结果是不一样的。
同样可以说,一个汉字占约0.5个Token。
Token 是大模型中最基础、最常见的概念,它既可以是一个完整的单词,也可以是一个单词的一部分,甚至是标点符号或空格。其翻译方式尚无定论,包括“标记”、“词”、“令牌”等多种说法。复旦大学计算机学院的邱锡鹏教授将其翻译为“词元”,我个人认为这种翻译比较恰当。
众所周知,大语言模型的训练语料数量、上下文的限制、生成速度等都以 Token 作为基本单位进行衡量。在训练过程中,Token 的数量直接影响模型的表现和泛化能力;在推理过程中,上下文中的 Token 数量会限制模型的记忆和理解范围;生成速度则通常通过每秒生成的 Token 数量来衡量。这些指标对于评估和优化大语言模型的性能至关重要。
以下是关于 Token 的一些详细信息:
- 定义与组成:
-
Token:在自然语言处理中,一个 Token 通常指一个有意义的文本片段。大模型在处理文本时,会将输入的句子拆分成一个个 Token。
-
词汇表(Vocabulary):模型预训练时使用的词汇表包含了所有可能的 Token。这个词汇表是有限的,但通常包含了数万到数十万个 Token。
- Token化过程:
-
分词(Tokenization):将输入文本拆分成 Token 的过程称为分词。分词器根据预定义的词汇表和算法,将文本拆解成模型可以理解和处理的最小单元。
-
子词分词(Subword Tokenization):许多现代大模型使用子词分词技术,如BPE(Byte-Pair Encoding)或WordPiece,这些方法可以将未知的或不常见的单词拆分成更小的子词,从而更有效地处理语言中的多样性。
- 处理与生成:
-
输入处理:当模型接收到输入文本时,会将其转换成 Token 序列,然后再输入模型进行处理。
-
输出生成:模型生成文本时,会逐步预测下一个 Token,直到生成完所需的完整文本。
- Token 的作用:
-
理解上下文:通过 Token 化,模型可以更好地理解和生成连贯的文本,因为它能够在单词级别甚至更细粒度的子词级别上进行处理。
-
处理复杂语言结构:Token 允许模型处理复杂的语言结构,包括复合词、多词表达式、缩写等。
举个简单的例子,假设输入文本是 “你好,世界!”,经过 Token 化后,可能会变成类似 [‘你’, ‘好’, ‘,’, ‘世’, ‘界’, ‘!’] 这样的序列。模型会在这个 Token 序列的基础上进行计算和生成新的 Token。
OpenAI官方文档中介绍:“1000个token通常代表750个英文单词或500个汉字。1 个token大约为 4 个字符或 0.75 个单词。”
OpenAI官方的token计算工具 : https://platform.openai.com/tokenizer
国内也有一些工具:
-
百度文心一言也提供了token计算器来在线计算文心大模型的字符转token数。网址:https://console.bce.baidu.com/support/#/tokenizer
-
阿里通义千问也有:https://dashscope.console.aliyun.com/tokenizer
所以,一个汉字所占的 Token 数量具体取决于分词器的设计。通常情况下,一个Token平均会占用约 1.5 至 2 个 汉字。 这是因为分词器在处理文本时,会根据预定义的规则和算法,将文本拆分成模型可以理解的最小单元。不同的分词器在处理汉字时可能会有不同的策略,从而影响每个汉字对应的 Token 数量。
目前的各种tokenization技术,涉及到将文本分割成有意义的单元,以捕捉其语义和句法结构,如字级、子字级(例如,使用字节对编码或 WordPiece)或字符级。
根据特定语言和需求场景,每种技术都有自己的优势和权衡。比如Qwen-7B采用UTF-8字节级别的BPE tokenization方式,并依赖OpenAI开源的tiktoken软件包执行分词。
-
字节对编码(BPE):为AI模型构建子词词汇,用于合并出现频繁的字符/子字对。
-
子词级tokenization:为复杂语言和词汇划分单词。将单词拆分成更小的单元,这对于复杂的语言很重要。
-
单词级tokenization:用于语言处理的基本文本tokenization。每个单词都被用作一个不同的token,它很简单,但受到限制。
-
句子片段:用习得的子词片段分割文本,基于所学子单词片段的分段。
-
分词tokenization:采用不同合并方法的子词单元。
-
字节级tokenization:使用字节级token处理文本多样性,将每个字节视为令牌,这对于多语言任务非常重要。
-
混合tokenization:平衡精细细节和可解释性,结合词级和子词级tokenization。
对于普通用户很难理解Token这个概念, 这个概念是隐藏在模型内部的, 对于普通使用者来说,这种计价方式无疑是致命的, 所以对于大部分普通使用者,还是采用包月方式偏多, Token计价方式针对的是开发者,希望通过API方式进行调用,封装自己的应用。
随着大模型的持续爆火,各行各业都在开发搭建属于自己企业的私有化大模型,那么势必会需要大量大模型人才,同时也会带来大批量的岗位?“雷军曾说过:站在风口,猪都能飞起来”可以说现在大模型就是当下风口,是一个可以改变自身的机会,就看我们能不能抓住了。
如何学习AI大模型?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓