什么是 tokens,ChatGPT里面的Tokens如何计数?
什么是 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 烘焙助手满足了对用户鸡蛋过敏问题的考虑需求。
总结
- 使用英文对话比较划算,其他语言包括中文计算Token时比较昂贵
- 英文字母大概四个字母平均下来等于一个token
- 中文汉字,大概一个汉字平均下来两个token
- 我昨天用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
相关文章:
什么是 tokens,ChatGPT里面的Tokens如何计数?
什么是 tokens,ChatGPT里面的Tokens如何计数? 什么是 tokens? Tokens 可以被认为是词语的片段。在 API 处理提示之前,输入会被分解成 tokens。这些 tokens 并不会精确地在单词的开始或结束处切分 - tokens 可以包含尾随的空格甚…...
工业镜头分类、相关参数含义
一、工业镜头参数 1、焦距/后焦距 焦距是像方主面到像方焦点的距离。后焦距指光线离开镜头最后一片镜片表面到sensor感光面的距离,如8mm,16mm,25mm等; 焦距的大小决定着视角大小,焦距数值小,视角大&#…...
码蹄杯语言基础:数组(C语言)
码蹄集网站地址:https://www.matiji.net/exam/ojquestionlist ⭐MT1381逆序输出数组 定义一个长度为10的整型数组,输入10个数组元素的值,然后逆序输出他们 格式 输入格式: 输入10个数组元素的值,整型,空…...
DJ4-2 程序的装入和链接
目录 4.2.1 程序的装入 一、绝对装入方式 二 、可重定位装入方式 三、动态运行时装入方式 4.2.2 程序的链接 一、静态链接 二、装入时动态链接 三、运行时动态链接 在多道程序环境下,如果程序要运行,那么必须为之创建进程。而创建进程的第一件…...
开源项目合集....
likeshop开源商城系统,公众号商城、H5商城、微信小程序商城、抖音小程序商城、字节小程序商城、头条小程序商城、安卓App商城、苹果App商城代码全开源,免费商用。 适用场景:B2C商城、新零售商城、社交电商商城、分销系统商城、小程序商城、商…...
机器学习 | 降维问题
目录 一、主成分分析 二、奇异值分解 2.1 奇异值分解原理 2.2 奇异值分解实践 三、特征值与特征向量 一、主成分分析 主成分有如下特征: 每个主成分是原变量的线性组合;各个主成分之间互不相关;主成分按照方差贡献率从大到小依次排列&…...
Ubuntu20.04平台下使用二进制包部署MongoDB-6.0.4单实例
文章目录 1.1 准备服务器的基本信息1.2 操作系统上创建其用户1.3 部署MongoDB服务端1.4 部署MongoDB客户端1.5 部署MongoDB 27017实例1.5.1 创建相关目录1.5.2 准备配置文件1.5.3 准备启停脚本1.5.4 进行启停测试1.5.5 加入开机自启动 1.6 创建超级管理员用户1.6.1 创建本地的超…...
Snipaste工具推荐
Snipaste Snipaste 不只是截图,善用贴图功能将帮助你提升工作效率! 新用户? 截图默认为 F1,贴图为 F3,然后请对照着 快捷键列表 按一遍,体会它们的用法,就入门啦! 遇到了麻烦&…...
MinIO快速入门——在Linux系统上安装和启动
1、简介 MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,Python,Javacript, Golang语言。MinIO系统,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。 2、环境搭建&#…...
07.JavaWeb-Vue+elementUI
1.Vue 功能替代JavaScript和jQuery,基于JavaScript实现的前端框架 1.1配置Vue 1.1.1引入vue库 方法一:通过cdn链接引入最新版本的vue(可能会慢些) <head><script src"https://cdn.jsdelivr.net/npm/vue">…...
经典面试题---【第一档】
1.如果你想new一个Quene,你有几种方式?他们之间的区别是什么? 2.Redis 是如何判断数据是否过期的呢? Redis 通过一个叫做过期字典(可以看作是 hash 表)来保存数据过期的时间。过期字典的键指向 Redis 数据…...
欧美同学会第三届“双创”大赛——空天装备产业赛区(浙江诸暨)正式启动,开启报名通道
6月8日,欧美同学会第三届“双创”大赛——空天装备产业赛区(浙江诸暨)启动仪式暨北京推介会圆满举行。活动由欧美同学会(中国留学人员联谊会)主办,中共浙江省委统战部支持,浙江省欧美同学会、中…...
python3 爬虫相关学习8:python 的常见报错内容 汇总收集
目录 1 拼写错误 AttributeError: NameError: 等等 2 类型错误 TypeError: 如字符串连接错误 TypeError: can only concatenate str (not “int“) to str 3 意外缩进 IndentationError: unexpected indent 4 找不到对应模块 ModuleNotFoundError: 5 语法错误 Syntax…...
活跃主机发现技术指南
活跃主机发现技术指南 1.活跃主机发现技术简介2.基于ARP协议的活跃主机发现技术3.基于ICMP协议的活跃主机发现技术4.基于TCP协议的活跃主机发现技术5.基于UDP协议的活跃主机发现技术6.基于SCTP协议的活跃主机发现技术7.主机发现技术的分析 1.活跃主机发现技术简介 在生活中有这…...
手机抓包fiddler配置及使用教程
本文基于Fiddler4讲解基本使用 fiddler抓包原理 注意:Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的 程序。不过如果Fiddler非正常退出&…...
STM32单片机(四)第一节:OLED调试工具
❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要…...
自用的一些网址,码住!
京东羚珑智能抠图网站https://ling.jd.com/live/fm#all:主要用于商品抠图,而且还有多种直播背景设计,非常方便。国外的免费抠图网站https://www.remove.bg/zh/upload:有一个魔法棒的设计,可以自己选择抠图的范围和形状…...
银行vr元宇宙全景虚拟展馆提供更加真实、立体、高效的数字资产交易场景
为了贯彻国家普惠金融政策,使金融如无惠及广大群体,宇宙技术在金融行业中的应用将进一步提升金融消费体验感觉和金融管理水平。打造元宇宙金融服务平台,构建虚实结构的金融服务世界,培育和管理好数字机器人员工队伍,提升金融业务各…...
C++ 泛型编程 类型萃取器的运用
C 泛型编程 类型萃取器的运用 一、C类型萃取器的基本概念与应用(Type Traits in C)1.1 类型萃取器的定义与作用(Definition and Role of Type Traits)1.2 类型萃取器的分类与特性(Classification and Characteristics …...
C++ String类(上篇)
绪论 放弃时间的人,时间也会放弃他。——莎士比亚 ; 本篇章是关于string类内一些函数的介绍以及使用方法,都是我们编程必须掌握的基础! 全文共7000字左右. 话不多说安全带系好,发车啦(建议电脑观看&…...
nested exception is java.lang.NoClassDefFoundError
出现这种问题,一般都是jar有问题,排查是哪个jar包,重新导入maven仓库一下就行了,有的时候需要把原来仓库里的包删掉,重新打包,有的时候要切换分支,到其他分支打包。 打包时候没有打进去…...
科普:python怎么使用Pyinstaller模块打包成可执行文件
目录 1. 使用conda创建虚拟环境2. 列出所有虚拟环境查看是否创建成功3. 激活虚拟环境4. 安装Pyinstaller模块5. Pyinstaller模块常用参数6. 例子:Windows打包成单个文件并可使用命令行窗口并自定义文件logo 1. 使用conda创建虚拟环境 创建个虚拟环境来打包…...
企业级应用高性能可扩展架构设计
前言 马上又要618了,每年到了这个时候,商家就开始促销,价格低会吸引来超多用户,对系统来说就是更多的流量,技术上如何确保网站稳定运行,且不被超卖,同时还要让用户有个良好的购物体验。 12306…...
【安全架构】
概念 安全是产品的属性,安全的目标是保障产品里信息资产的保密性(Confidentiality)、完整性(Integrity)和可用性(Availability),简记为CIA。 保密性: 保障信息资产不被未…...
RabbitMq-高级
参考:https://blog.csdn.net/dingd1234/article/details/125032383 1 TTL TTL QUEUE 声明args TTL MESSAGE postmessage中设置 区别:过期消息会直接删除消息,过期队列若配置死信队列会移到死信队列 ps:同时配置两个已小的为准 2…...
iOS App的打包和上架流程
转载:iOS App的打包和上架流程 - 掘金 1. 创建账号 苹果开发者账号几种开发者账号类型 个人开发者账号 费用:99 美元/年(688.00元)协作人数:仅限开发者自己不需要填写公司的邓百氏编码( D-U-N-S Number…...
Net6中遇到的一个很奇葩的问题
先来看一段代码,是控制台应用程序 internal class Program{static void Main(string[] args){Test().Wait();}private static async Task Test(){await Task.Run(() >{Debug.WriteLine("线程内输出");});Debug.WriteLine("线程外输出");}}执…...
2940. 花坛的最小改变次数
Powered by:NEFU AB-IN Link 文章目录 2940. 花坛的最小改变次数题意思路代码 2940. 花坛的最小改变次数 题意 略 思路 首先需要区间查询gcd,想到st表 其次思路,固定左端点,二分右端点,找gcd与区间长度相等的右端点,个…...
安装源代码 QT 4.8.7
在centos7.9.2009 (Core)操作系统上,安装qt 4.8.7 查看centos版本:cat /etc/centos-release 安装g:sudo yum install gcc gcc-c g版本查看(gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)):g -v 先安装…...
PINN学习与实验之拟合sin(x)
首先给出数学上的知识。 1. 2. 3. 其次给出PINN最基础的理解与应用说明。 1.PINN中的MLP多层感知机的作用? 答:目的是用来拟合出我们需要的那个 常微分方程,即函数逼近器。 2.PINN中物理信息的作用? 答:用于约束MLP反向…...
免费看网站源码/全网推广的方式有哪些
当实现word文档转换未pdf格式时,单个文档单次执行没有任何问题,但是当将一个文件夹下的目录进行批量转换时,遇到报错:Traceback (most recent call last):File "e:/workspace/python/wordtopdf.py", line 33, in create…...
自己做菠菜网站/啥是网络推广
偶然听到貌似一年一度的奖学金评定开始了,我们班级的XXX同学得了专业第一名,然后还有XXX和XXX考取专业第X名,最后看到我考了专业第十X名,呵呵总是感觉到有点不对劲。 首先说,这是第一次评测奖学金,从嘴上说…...
手机 pc网站模板/线上推广方案
编一些小程序用VC6.0还是很方便的。 在VC6.0中的单步调试: 调试重要的几个键: F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点. F5调试状态运行程序,程序执行到有断点的地方会停下来. F10执行下一句话(不进入函数)step out F11执行(进…...
目前主流网站建设软件/网络广告营销的案例
试求极限$$\bex \vlm{n} \sez{\int_1^{e^2}\sex{\frac{\ln x}{x}}^n\rd x}^\frac{1}{n}.\eex$$...
cn域名注册/网络推广优化品牌公司
关于 http://openresty.org/cn/about.html 这个开源 Web 平台主要由章亦春(agentzh)维护。在 2011 年之前曾由淘宝网赞助,在后来的 2012 ~ 2016 年间主要由美国的 CloudFlare 公司 提供支持。目前,OpenResty 主要由 OpenResty 软件…...
php做视频分享网站/保定网站建设报价
node.js版本问题,对某些语句不支持 这不是错误,你可以不用管 继续下一步即可...