什么是 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 烘焙助手满足了对用户鸡蛋过敏问题的考虑需求。

总结

  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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TI DSP芯片C2000系列读取FLASH数据

本文记录如何读取TI芯片的flash数据 进入TI官网下载UNIFLASH工具 点击查看详情 点击下载选项,根据系统下载对应版本 下载完成之后,点击安装。安装完成之后双击图标点开。如果你的板子已经供电,且编程器已经连接好,UNIFLASH会自动…

chatgpt赋能python:用Python实现ping命令:掌握网络连接的艺术

用Python实现ping命令:掌握网络连接的艺术 当我们需要测试网络连接的时候,ping命令是最经典的选择之一。然而,在一些情况下,使用命令行并不是很方便。那么,有没有可能用Python编写一个类似ping的功能呢? …

Linux中/dev/null和/dev/zero的作用

1./dev/null和/dev/zero介绍 在Linux环境中,我们会经常用到/dev/null和/dev/zero,今天为大家讲讲/dev/null和/dev/zero的作用以及使用场景。 1.1./dev/null介绍 linux中/dev/null,它是一种特殊的虚拟设备,用于写入而不是读取&a…

探秘美颜SDK的动态贴纸的技术原理

美颜SDK作为美颜相机的重要组成部分,其动态贴纸技术也是很多用户喜爱的功能之一。本文将探秘美颜SDK的动态贴纸技术,从技术原理、应用场景和未来发展等方面进行分析。 一、技术原理 **1. 人脸识别技术。**在添加动态贴纸时,第一步要做的肯定…

navicat 怎么导入运行bak文件,详细教程

文章目录 一、新建数据库,点击高级设置访问权限二、点击SQL Server备份三、右击空白,点击从文件还原四、找到备份的bak文件五、 点击“高级”选项六、然后点击 生产SQL,最后点 还原 一、新建数据库,点击高级设置访问权限 二、点击…

coco-annotator的安装与使用

文章目录 coco-annotator的安装与使用1. coco-annotator是什么2. coco-annotator可以做什么3. coco-annotator的安装3.1 先决条件3.2 coco-annotator的下载与安装 4. coco-annotator的使用4.1 创建用户4.2 创建数据集4.3 标注图像4.4 下载标注信息 5. coco-annotator远程访问5.…

[NOI2009] 描边

题目描述 小 Z 是一位杰出的数学家。聪明的他特别喜欢研究一些数学小问题。 有一天,他在一张纸上选择了 n 个点,并用铅笔将它们两两连接起来,构成 (�−1)22n(n−1)​ 条线段。由于铅笔很细,可以认为这些线段的宽度为…

2023软件测试卷出天际!!!性能测试为啥一枝独秀?

近十年是中国互联网发展最快的10年,互联网用户从4亿增长至10亿。面对用户量的暴增,用户体验就成为互联网产品最大的考验。而 影响用户体验的最重要因素就是性能。 流量为王的时代,性能测试是所有产品上线前必须通过的重要环节。 企业招聘性…

上海亚商投顾:沪指小幅震荡微涨 AI应用端持续活跃

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 大小指数今日走势分化,沪指全天窄幅震荡,创业板指低开低走,盘中一度跌超1.6%&a…

基于“三维六类”干扰分析模型进行FDD900干扰规避优化指导

1.概述 随着网络发展,鉴于900M覆盖上的优势,为增强深度覆盖及竞对提升,当前FDD 900M已在加快部署,但随之也带来了干扰问题。当前,干扰排查成为FDD 900M部署过程中大量存在的难题。由于干扰排查难度大,且排…

《Contrastive Learning for Unpaired Image-to-Image Translation》

Contrastive Learning for Unpaired Image-to-Image Translation 1. 摘要2. 介绍3. 相关工作3.1 图像转换、循环一致性3.2 关系保持3.3 深度网络嵌入中的感知相似性3.4 对比表示学习 4. 方法 原文及代码链接 https://github.com/taesungp/contrastive-unpaired-translation 1.…

Nginx踩坑记录(二) nginx: [warn] invalid value “TLSv1.3“ in /etc/nginx/nginx.conf:20

问题详情 (通过指定配置文件的方式)启动nginx,提示告警,nginx启动失败。 rootvultr:~# nginx -c /etc/nginx/conf/nginx.conf nginx: [warn] invalid value "TLSv1.3" in /etc/nginx/conf/conf.d/v2ray.conf:20问题原…

发现问题更全面,减少测试成本:WEB自动化测试的价值分析!

目录 前言: 一、WEB自动化测试的价值 1. 提高测试效率 2. 提高软件的质量 3. 减少测试成本 二、WEB自动化测试的瓶颈 1. 可维护性差 2. 兼容性问题 3. 比手工测试慢 三、代码示例 四、总结 前言: 自动化测试是软件开发中必不可少的一环&…

【支付平台】java springboot 通过ip获取所在地城市信息

如果只是想知道如何通过ip获取所在地城市信息,可直接看第三步. 如果搭建自己的支付平台,异地支付限制是必不可少的一环.因为市面上一些非法份子,会使用我们平台生成的付款码进行欺诈行为.这也是我们必须杜绝的一种现象.因此限制异地支付就是其中一种手段. 在上一篇文章【三方支…

第九篇:强化学习Q-learning算法 通俗介绍

你好,我是郭震(zhenguo) 今天介绍强化学习第九篇:Q-learning算法 前面我们介绍强化学习基本概念,马尔科夫决策过程,策略迭代和值迭代,这些组成强化学习的基础。 从今天开始逐步介绍常用强化学习算法&#x…

SparkCore的相关概念

1、Spark的RDD算子 RDD算子的概念和分类 1、1 Transformation算子 定义:RDD算子,返回值仍是一个RDD的,称之为转换算子 特性:这类算子是lazy懒加载的。如果没有Action算子,转换算子是不工作的。 1、2 Action算子 定义&…

做了一个日内信号可视化系统

量化策略开发,高质量社群,交易思路分享等相关内容 大家好,半年过去了。松鼠Quant计划6月内发布本年度最重要的一个策略:盘口策略。这个策略群友们的呼声很高,也是花了比较多时间去弄。整个策略有多个python脚本: CTP数据生成order…

部署和配置DHCP服务器实验:自动分配IP地址和网络配置

部署和配置DHCP服务器实验:自动分配IP地址和网络配置 【实验目的】 部署DHCP服务器。熟悉DHCP服务器的配置方法。验证拓扑。 【实验拓扑】 实验拓扑如图所示。 设备参数如下表所示。 设备 接口 IP地址 子网掩码 默认网关 DHCPSERVE F0/0 172.16.10.1 25…

数据安全--16--数据采集阶段安全防护措施

本博客地址:https://security.blog.csdn.net/article/details/131033616 一、引子 数据采集阶段的安全防护措施主要是从三个方面来开展的,第一个是从个人数据主体采集方面,第二个是从外部机构采集方面,以上两个方面基本涵盖了数…

Bitmiracle Docotic.Pdf 9.015 Crack

Docotic.Pdf 库是正确的法语和强大的编程和界面,可以让用户和开发人员创建专业和高质量的 PDF 文件,甚至可以阅读和修改那些已经存在的。它具有干净而强大的编程接口,能够帮助用户创建质量非常好的 PDF 文档。在这个库的帮助下,用…