什么是 tokens,ChatGPT里面的Tokens如何计数?

news2025/4/6 17:12:46

什么是 tokens,ChatGPT里面的Tokens如何计数?

什么是 tokens?

Tokens 可以被认为是词语的片段。在 API 处理提示之前,输入会被分解成 tokens。这些 tokens 并不会精确地在单词的开始或结束处切分 - tokens 可以包含尾随的空格甚至子词。以下是一些帮助理解 tokens 长度的经验法则:

1 token ~= 英文中的4个字符

1 token ~= ¾个单词

100 tokens ~= 75个单词

或者

1-2个句子 ~= 30个tokens

1段落 ~= 100个tokens

1,500个单词 ~= 2048个tokens

为了获取更多关于tokens如何叠加的上下文,可以考虑以下例子:

  • 韦恩·格雷茨基的名言 “You miss 100% of the shots you don’t take” 包含11个tokens。

单词如何被分割成 tokens 也取决于语言。例如,‘Cómo estás’(西班牙语中的’你好吗’)包含5个 tokens(对应10个字符)。较高的 token 到字符比率可能使得对英语以外的语言实现 API 更加昂贵

  • 我名字拼音+空格+wetchat+我的微信号"liyuechun wetchat liyc1215" 包含13个tokens。

飞书、钉钉、企微GPT能力嫁接和AIGC企业培训,联系我:liyc1215

  • ”黎跃春“三个字包含8个tokens

  • "付金亮"三个字包含6个tokens

如果你想进一步探索分词,你可以使用我们的交互式 Tokenizer 工具,它可以让你计算 token 的数量,并查看文本如何被分割成 tokens。或者,如果你想通过编程方式进行分词,可以使用 Tiktoken,这是一个专为 OpenAI 模型设计的快速 BPE 分词器。你也可以尝试探索其他库,例如 Python 的 transformers 包,或者 node.js 的 gpt-3-encoder 包。

Token 限制

根据使用的模型不同,请求中的prompt和completion之间最多可以使用4097个tokens。如果你的prompt是4000个tokens,那么你的completion最多可以是97个tokens。

这个限制目前是一个技术限制,但通常有许多创新的方法可以在这个限制内解决问题,例如压缩你的prompt,将文本分解成较小的部分等。

Token 定价

API 提供多种不同价格点的模型类型。每种模型都有一系列的能力,其中davinci是最强大的,ada是最快的。对这些不同模型的请求定价不同。你可以在这里找到关于token定价的详细信息。

探索 tokens

API会根据语料库数据中的上下文来处理单词。GPT-3接受prompt,将输入转换成一系列的tokens,处理prompt,并将预测的tokens转换回我们在响应中看到的单词。

在我们看来可能是两个相同的单词,可能会根据它们在文本中的结构生成不同的tokens。考虑一下API如何根据文本中的上下文为单词’red’生成token值:

在上面的第一个例子中,‘ red’的token "2266"包含一个尾随的空格。

带有前导空格并以大写字母开头的‘ Red’的token "2297"与以小写字母开头的‘ red’的token "2266"不同。

当 ‘Red’ 在句子开头时,生成的token不包含前导空格。token "7738"与前两个单词的例子不同。

观察:

token越可能/频繁,分配给它的token号就越低:

  • 在所有3个句子中为句号生成的token是相同的(“13”)。这是因为,在语境上,句号在语料库数据中的使用相当类似。

  • 根据’red’在句子中的位置,生成的token会有所不同:

    • 在句子中间的小写:‘ red’ - (token: “2266”)

    • 在句子中间的大写:‘ Red’ - (token: “2297”)

    • 在句子开头的大写:‘Red’ - (token: “7738”)

既然我们知道tokens可以包含尾随的空格字符,那么记住以空格字符结束的prompts可能会导致输出质量较低是有帮助的。这是因为API已经在它的tokens字典中包含了尾随的空格。

使用 logit_bias 参数

可以在 logit_bias 参数中为特定的 tokens 设置偏差,以修改指定 tokens 出现在补全中的可能性。比如,我们正在构建一个对用户鸡蛋过敏问题敏感的 AI 烘焙助手。

当我们使用提示 ‘The ingredients for banana bread are’ 运行 API 时,回应将以26.8%的概率将 ‘eggs’ 包含为第二种原料。

注意:要在 Playground 中查看补全概率,请从 Show Probabilities 下拉菜单中选择 Full Spectrum。

由于我们的 AI 烘焙助手对鸡蛋过敏问题很敏感,我们可以利用我们对 tokens 的了解,在 logit_bias 参数中设置偏差,以阻止模型生成包含任何 ‘egg’ 变体的响应。

首先,使用这个分词器工具来确定我们需要为哪些 tokens 设置偏差。

Tokens:

  • 尾随空格的单数形式:‘ egg’ - “5935”

  • 尾随空格的复数形式:‘ eggs’ - “9653”

  • 为‘Egg’或‘Eggs’生成的子词token - ‘gg’:“1130”

logit_bias 参数接受的偏差值范围是 -100 到 +100,极值结果导致相关 token 的禁止(-100)或独占选择(100)。

将 logit 偏差加到 prompt 中将修改 ‘egg’(及其变体)包含在我们的香蕉面包提示的响应中的可能性。上述提示生成了一个不包含任何鸡蛋的响应!

虽然我们不能保证它会生成最好的无鸡蛋香蕉面包配方,但 AI 烘焙助手满足了对用户鸡蛋过敏问题的考虑需求。

总结

  1. 使用英文对话比较划算,其他语言包括中文计算Token时比较昂贵
  2. 英文字母大概四个字母平均下来等于一个token
  3. 中文汉字,大概一个汉字平均下来两个token
  4. 我昨天用GPT写了7篇高考作文,总字数为10397,Tokens 为21,008个。

计算了一下:如果使用GPT3.5的API访问的话,整个输入和输出总共:21,008 个token,GPT3.5 的单价为$0.002/1000tokens,那么这7篇作文的整个对话花费折算成人民币的价格为:21008/1000*(0.002*7) = 0.294112元人民币,GPT4是GPT3.5的60倍价格,如果使用GPT4的话,此次消费为:0.294112 * 60 = 17.64672元。

最后总结: 目前使用GPT3.5的价格还是很亲民划算的,等待未来算力足够的时候,我相信GPT4.0也不会贵。

原文链接:https://blog.yredu.xyz/archives/5119

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/627745.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【PCIE体系结构十三】LTSSM

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考书籍:《PCI.EXPRESS系统体系结构标准教材 Mindshare》 目录 概览…

恭喜!电影《觅渡》入围上海电影节第20届传媒单元大奖

生生不息,念廿不忘; 传媒荣誉,开启在即! 第20届电影频道传媒关注单元 即将迎来20周年 一共有18部影片 入围竞逐年度传媒荣誉 6月16日晚 CCTV-6电影频道、 电影频道融媒体 将现场直播 揭晓传媒荣誉名单 电影《觅渡》入围上…

为你的项目配置日志(AOP+logback)

文章目录 1、导入依赖2、配置文件logback-spring.xml3、使用AOP做日志3.1、自定义注解3.2、自定义aop切面 4、在controller方法上添加注解5、使用Slf4j6、最终参考效果 之前看过logback的配置方法,今天整理spring的知识的时候,又看到了aop,想…

Linux之系统信息和性能监测

一、前言 安装完一套linux操作系统我们首先得知道系统都有哪些信息,比如安装内存多少、磁盘多大、什么版本、多少核CPU等等,因此熟悉常用的查看系统信息的指令还是很有必要的。 此文档主要对已安装的linux系统的属性有个初步的认识,介绍系统…

一起从根上学习Swoole

一起从根上学习Swoole Swoole,这个名字已经不再是一个简单的扩展库,而是一种让PHP开发者们心驰神往的技术。它是一个基于事件驱动的异步网络通信框架,能够让PHP应用程序在高并发环境下实现卓越的性能表现。现在,你也可以像一名高…

ROS:DWA算法解析、move_base导航包DWA源码解析

一.整体思路 1.基于速度控制运动模型 假设没有噪声,控制时间间隔为内机器人速度v和角速度w保持不变,则机器人围绕半径为r的圆周运动。 其中,。 根据v 和w即可预测出下一次机器人位姿(x、y、),根据此也可以…

毕业4年,克服三次瓶颈,最终成功从字节跳动成功跳到阿里!经验分享

介绍下自己的测试历程吧,普通本科,毕业4年, 去年成功转型测试开发,总结一下测试心得。 平凡的大学生活 我大学期间属于并没有什么出众的,按部就班,老实办事的那种学生,我导师对我们那届的学生…

iOS 17(SwiftUI 5.0)带来的图表(Charts)新类型:“大饼”与“甜甜圈”

概览 WWDC 2023 为我们带来了 iOS 17,也为我们带来了 SwiftUI 5.0。 在 SwiftUI 新版中,Apple 增加了很多重磅功能,也对原有功能做了大幅度升级。 对于 Charts 框架, 新增了饼图(Pie)类型并且加入了图…

容器镜像差异分析工具 container-diff

概述 container-diff 是google出的一个容器差异比较工具,通过这个工具可以比较两个镜像之间存在的文件差异、RPM包差异、apt包差异、pip包差异和node包差异。 container-diff 也包括了对单个镜像分析能力,像文件分析啊、apt包、rpm包分析等功能。 在日常…

Python爬虫——怎么搭建和维护一个本地IP池

目录 背景 一、什么是本地代理IP池 二、代理IP池功能架构图 三、各个组件功能说明及示例代码 1. IP池管理器 2. 代理IP获取器 3. IP质量检测器 4、数据存储器 5、API接口层 6、应用程序 总结 背景 在我们进行爬虫工作时,经常需要使用代理IP。大多数代理…

unity2d粒子特效

文章目录 前言先看效果一、2d平台雨1. 配置2. 图片素材3. 最终效果 二、脚步灰尘效果1. 配置2. 代码调用3. 效果 三、受伤血液四溅效果1. 配置2. 效果 待续四、工程源码五、参考六、完毕 前言 我只是我抽空写了一些简单的2d粒子特效,后面如果接触新的不错的2d特效&a…

Maven 安装

一. 下载 apache官网下载 Maven:Maven – Download Apache Maven ,根据需要下载不同压缩包。 将压缩包进行解压,最好放在无中文目录下解压。 二. 安装 三. 配置 1. 配置maven本地仓库 打开解压后的文件夹,找到conf文件夹&#…

银行vr元宇宙全景虚拟展馆提供更加真实、立体、高效的数字资产交易场景

为了贯彻国家普惠金融政策,使金融如无惠及广大群体,宇宙技术在金融行业中的应用将进一步提升金融消费体验感觉和金融管理水平。打造元宇宙金融服务平台,构建虚实结构的金融服务世界,培育和管理好数字机器人员工队伍,提升金融业务各…

postman登录鉴权之接口测试

一.背景 在做接口测试的时候,有些接口向后台请求数据的时候,是需要用户在登录情况下才有数据返回。 以电商平台为例,用户的个人中心,用户的订单列表,用户的支付信息等等,所有用户维度的数据都是需要登录态…

Django - 页面静态化和crontab定时任务(二)

一. 前言 一个网页会有很多数据是不需要经常变动的,比如说首页,变动频率低而访问量大,我们可以把它静态化,这样就不需要每次有请求都要查询数据库再返回,可以减少服务器压力 我们可以使用Django的模板渲染功能完成页面…

app反编译查看是否被混淆或者混淆是否成功

同时打 debug包和release包,生成的目录在build->output文件夹下面 一般直接运行的apk 包是在build/intermediates/apk/debug 目录下 方法1:Android studio 安装插件jadx build成apk 后 直接选中 右键 在Jadx GUI中反编译 就可以查看代码 方法2&…

距离保护的影响因素

1、汲出电流和助增电流的影响 当保护安装处与故障点之间有分支电源时,如图所示,分支电源将向故障点K送短路电流ICB,使流过故障线路的电流IBKIAB ICB,大于实际流过保护1的电流IAB,所以ICB称作助增电流。 由于助增电流的…

第一章操作系统引论

目录 一、熟悉的操作系统 二、计算机系统的层次结构 三、操作系统的概念 四、操作系统的功能 4.1 系统资源的管理者 4.2 向上层提供方便易用的服务 4.2.1 GUI:图形化用户接口(Graphical UserInterface) 4.2.2 命令接口 4.2.3 程序接…

当杠精型AI丈夫遇上阴阳怪气AI老婆,你的代码玩得转吗?

玩趣味活动 赢千元奖金 DataFountain社区首个趣味活动来啦!!! 活动已发车,来不及解释了,先上车:https://www.datafountain.cn/information/activity/3 人工智能问答爆火,你的算法技能储备跟上…

达梦数据库ODBC配置及达梦与mysql创建DBLINK测试

目录 官网ODBC配置... 3 1、ODBC下载官网... 3 2、上传安装包并解压... 3 3、安装odbc. 3 4、安装依赖... 4 5、再次执行安装即可... 4 6、查看版本及配置文件... 4 Mysql-ODBC配置... 5 一、达梦服务器... 5 1、下载odbc包... 5 2、安装... 6 3、报错... 6 4、先…