LLM大模型Token用量统计计算

token 是模型用来表示自然语言文本的基本单位,可以直观的理解为“字”或“词”。

通常 1 个中文词语、1 个英文单词、1 个数字或 1 个符号计为 1 个 token。

一般情况下模型中 token 和字数的换算比例大致如下:

1 个英文字符 ≈ 0.3 个 token。

1 个中文字符 ≈ 0.6 个 token。

不同模型的分词不同,换算比例也存在差异。

这里示例集中token计算方式

1 transformer统计

1.1 安装transformer

安装指令如下

pip install transformer

1.2 示例统计

基于transformer的token统计程序示例如下。

import transformers

chat_tokenizer_dir = "./"

tokenizer = transformers.AutoTokenizer.from_pretrained( 
        chat_tokenizer_dir, trust_remote_code=True
        )

prompt = "这是一个测试文本,用于计算 Tokens 用量。"

token_ids = tokenizer.encode(prompt)

print("Tokens 数量:", len(token_ids))

输出如下,一共32个字符,token数为8。

Tokens 数量: 11

deepseek官网统计token数程序理解

https://cdn.deepseek.com/api-docs/deepseek_v3_tokenizer.zip

2 tiktoken

尝试用tiktoken统计token数量

2.1 安装tiktoken

安装指令如下

pip install tiktoken

2.2 示例统计

示例程序如下

import tiktoken

# 加载 DeepSeek 的 Tokenizer(假设使用类似 GPT 的 Tokenizer)
encoding = tiktoken.get_encoding("cl100k_base")  # 替换为实际的 Tokenizer 名称

# 输入文本
input_text = "这是一个测试文本,用于计算 Tokens 用量。"

# 计算 Tokens
token_ids = encoding.encode(input_text)

# 输出结果
print("Tokens 数量:", len(token_ids))

输出如下

Tokens 数量: 16

可见transformer和tiktoken统计的数量有差异,因为不同的llm采用不同的分词模型。

这里给出的统计方法仅供GPT类模型token消耗的参考和评估,实际token耗费还是要看具体使用模型以及采用的分词方式。

reference

---

Token 用量计算

https://api-docs.deepseek.com/zh-cn/quick_start/token_usage/

离线计算 DeepSeek Tokens 用量的常见方法

https://blog.youkuaiyun.com/a772304419/article/details/145544072

【OpenAI中文文档】API#2:如何使用tiktoken计算token数量

https://zhuanlan.zhihu.com/p/626593576

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值