AI学习记录 - gpt如何进行token化,理论知识,以GPT2为举例
AI学习记录已经发了十几篇,大佬们可以看看,如果有帮助动动小手点赞
token入门版,有空会更新具体代码操作
GPT4当中,我们提问问题是按照token进行扣费的,那到底什么是token?
在不同的语言模型当中,会有不一样的token训练方式,这却决于具体的应用场景,以GPT2为例,一共有50257个token。token就是词汇表,是训练使用到的所有的词汇。下面看下第1000个token到第1300个token之间的词汇长什么样?
。。。。。。‘ale’, ‘ĠSe’, ‘ĠIf’, ‘//’, ‘ĠLe’, ‘Ġret’, ‘Ġref’, ‘Ġtrans’,
‘ner’, ‘ution’, ‘ters’, ‘Ġtake’, ‘ĠCl’, ‘Ġconf’, ‘way’, ‘ave’,
‘Ġgoing’, ‘Ġsl’, ‘ug’, ‘ĠAmeric’, ‘Ġspec’, ‘Ġhand’, ‘Ġbetween’,
‘ists’, ‘ĠDe’, ‘oot’, ‘It’, ‘Ġear’, ‘Ġagainst’, ‘Ġhigh’, ‘gan’, ‘az’,
‘ather’, ‘Ġexp’, ‘Ġop’, ‘Ġins’, ‘Ġgr’, ‘Ġhelp’, ‘Ġrequ’, ‘ets’, ‘ins’,
‘ĠPro’, ‘ism’, ‘Ġfound’, ‘land’, ‘ata’, ‘uss’, ‘ames’, ‘Ġperson’,
‘Ġgreat’, ‘pr’, ‘Ġsign’, ‘ĠAn’, “'ve”, ‘Ġsomet’, ‘Ġser’, ‘hip’,
‘Ġrun’, ‘Ġ:’, ‘Ġter’, ‘irect’, ‘Ġfollow’, ‘Ġdet’, ‘ices’, ‘Ġfind’,
‘12’, ‘Ġmem’, ‘Ġcr’, ‘ered’, ‘ex’, ‘Ġext’, ‘uth’, ‘ense’, ‘co’,
‘Ġteam’, ‘ving’, ‘ouse’, ‘ash’, ‘att’, ‘ved’, ‘Ġsystem’, ‘ĠAs’, ‘der’,
‘ives’, ‘min’, ‘Ġlead’, ‘ĠBl’, ‘cent’, ‘Ġaround’, ‘Ġgovern’, ‘Ġcur’,
‘velop’, ‘any’, ‘Ġcour’, ‘alth’, ‘ages’, ‘ize’, ‘Ġcar’, ‘ode’, ‘Ġlaw’,
‘Ġread’, “'m”, ‘con’, ‘Ġreal’, ‘Ġsupport’, ‘Ġ12’, ‘…’, ‘Ġreally’,
‘ness’, ‘Ġfact’, ‘Ġday’, ‘Ġboth’, ‘ying’, ‘Ġserv’, ‘ĠFor’, ‘Ġthree’,
‘Ġwom’, ‘Ġmed’, ‘ody’, ‘ĠThey’, ‘50’, ‘Ġexper’, ‘ton’, ‘Ġeach’,
‘akes’, ‘Ġche’, ‘Ġcre’, ‘ines’, ‘Ġrep’, ‘19’, ‘gg’, ‘illion’, ‘Ġgrou’,
‘ute’, ‘ik’, ‘We’, ‘get’, ‘ER’, ‘Ġmet’, ‘Ġsays’, ‘ox’, ‘Ġduring’,
‘ern’, ‘ized’, ‘ared’, ‘Ġfam’, ‘ically’, ‘Ġhapp’, ‘ĠIs’, ‘Ġchar’,
‘med’, ‘vent’, ‘Ġgener’, ‘ient’, ‘ple’, ‘iet’, ‘rent’, ‘11’, ‘ves’,
‘ption’, ‘Ġ20’, ‘formation’, ‘Ġcor’, ‘Ġoffic’, ‘ield’, ‘Ġtoo’,
‘ision’, ‘Ġinf’, ‘ĠZ’, ‘the’, ‘oad’, ‘Ġpublic’, ‘Ġprog’, ‘ric’, ‘**’,
‘Ġwar’, ‘Ġpower’, ‘view’, ‘Ġfew’, ‘Ġloc’, ‘Ġdifferent’, ‘Ġstate’,
‘Ġhead’, “'ll”, ‘Ġposs’, ‘Ġstat’, ‘ret’, ‘ants’, ‘Ġval’, ‘Ġiss’,
‘Ġcle’, ‘ivers’, ‘anc’, ‘Ġexpl’, ‘Ġanother’, ‘ĠQ’, ‘Ġav’, ‘thing’,
‘nce’, ‘Wh’, ‘Ġchild’, ‘Ġsince’, ‘ired’, ‘less’, ‘Ġlife’, ‘Ġdevelop’,
‘ittle’, ‘Ġdep’, ‘Ġpass’, ‘ãĥ’, ‘Ġturn’, ‘orn’, ‘This’, ‘bers’,
‘ross’, ‘ĠAd’, ‘Ġfr’, ‘Ġresp’, ‘Ġsecond’, ‘oh’, ‘Ġ/’, ‘Ġdisc’, ‘Ġ&’,
‘Ġsomething’, ‘Ġcomple’, ‘Ġed’, ‘Ġfil’, ‘Ġmonth’, ‘aj’, ‘uc’,
‘Ġgovernment’, ‘Ġwithout’, ‘Ġleg’, ‘Ġdist’, ‘Ġput’, ‘Ġquest’, ‘ann’,
‘Ġprot’, ‘20’, ‘Ġnever’, ‘ience’, ‘Ġlevel’, ‘Ġart’, ‘Ġthings’,
‘Ġmight’, ‘Ġeffect’, ‘Ġcontro’, ‘Ġcent’, ‘Ġ18’, ‘Ġallow’, ‘Ġbelie’,
‘chool’, ‘ott’, ‘Ġincre’, ‘Ġfeel’, ‘Ġresult’, ‘Ġlot’, ‘Ġfun’, ‘ote’,
‘Ġty’, ‘erest’, ‘Ġcontin’, ‘Ġusing’, ‘Ġbig’, ‘201’, ‘Ġask’, ‘Ġbest’,
‘Ġ)’, ‘IN’, ‘Ġopp’, ‘30’, ‘Ġnumber’, ‘iness’, ‘St’, ‘lease’, ‘Ġca’,
‘Ġmust’, ‘Ġdirect’, ‘Ġgl’, ‘Ġ<’, ‘Ġopen’, ‘Ġpost’, ‘Ġcome’, ‘Ġseem’,
‘ording’, ‘Ġweek’, ‘ately’, ‘ital’, ‘Ġel’, ‘riend’, ‘Ġfar’, ‘Ġtra’,
‘inal’, ‘Ġpri’, ‘ĠUS’, ‘Ġplace’, ‘Ġform’, ‘Ġtold’, ‘":’, ‘ains’
。。。。。。
这个词汇表不是天生就有的,而是通过文本语料训练出来的。
训练的基础是使用utf-8编码。
utf-8编码是机器对计算机文本的一种表示形式,目前可以表示计算机世界当中的所有文本。如下举例:

上面举例的是英文,一个字符都可以用一个整数来表示,有的复杂字符需要2到4位自字符表示。如下,都是utf-8:
中 [228 184 173] 三个字节表示
¢ [194 162] 两个字节表示
假如在大量的文本训练当中,通过一些算法,计算出经常出现在一起的词汇,例如 “骑车” 二字
骑 [233, 170, 145] , 车 [232, 189, 166]
根据出现的频率,这两个单词出现的概率非常大,那么就合并成一个词汇 [233, 170, 145, 232, 189, 166]。
当一篇文章有100个词,那么转换成的utf-8编码数组的数组长度肯定是>=100的,然后经过一些算法,
发现 [ 233, 170, 145, 232, 189, 166 ] 这几个整数数组经常在一起,就把他们组合成一个token,然后将他放到我们的token词汇表当中
(位置:14430,token:“骑车”,utf8编码:[233, 170, 145, 232, 189, 166]) // 假设
经过大量的高频的词汇查找然后合并词汇,就构成了50257个token。
所以GPT-4当中,按照token计费,准确来说,一个token有可能代表一个字母,半个词,一个词,也有可能代表几个词。
相关文章:
AI学习记录 - gpt如何进行token化,理论知识,以GPT2为举例
AI学习记录已经发了十几篇,大佬们可以看看,如果有帮助动动小手点赞 token入门版,有空会更新具体代码操作 GPT4当中,我们提问问题是按照token进行扣费的,那到底什么是token? 在不同的语言模型当中&#x…...
Java线程池和执行流程
在 Java 中,常见的四种线程池包括: 1. newFixedThreadPool(固定大小线程池) 应用场景:适用于需要限制线程数量,并且任务执行时间比较均匀的场景,例如服务器端的连接处理。优点:线程数…...
进程信号的产生与处理
目录 前言 一.信号的概念 二.信号的产生 1.键盘产生 2.系统调用 3.软件条件 4.异常 三.信号的保存 四.信号的处理 信号处理的方式 设定屏蔽信号 自定义处理信号 信号处理的时机 前言 进程信号(Process Signals)是操作系统与运行进程之间进行通…...
统一响应结果封装,Result类的实现【后端 06】
统一响应结果封装,Result类的实现 在开发Web应用或API接口时,如何优雅地处理并返回响应结果是每个开发者都需要考虑的问题。统一响应结果封装(Unified Response Encapsulation)作为一种广泛采用的实践,不仅提高了API的…...
明日周刊-第20期
本周异形新电影上映,开始期待起来了,毕竟这是一个经久不衰的ip。还有就是马上来临的黑神话悟空,属于我们自己的3A大作,接下去的每一天都是新的期待。 文章目录 科技短讯资源分享随便说说一点心情 科技短讯 科技创新与突破 人工智…...
深入剖析 Spring 常用注解:功能与差异的全景洞察
《深入剖析 Spring 常用注解:功能与差异的全景洞察》 在当今的 Java 开发领域,Spring 框架无疑是最广泛使用的框架之一。而在 Spring 中,注解的运用极大地简化了开发流程,提高了代码的可读性和可维护性。本文将深入探讨 Spring 中…...
【隐私计算篇】隐私计算使用不当也会泄露原始数据
1. 背景信息 有个有趣的问题,刚好最近有讨论到,在这里也抛一下,就是隐私计算中我们经常谈到主流的一些技术,比如联邦学习、多方安全计算、安全求交、匿踪查询、可信执行环境等,然后笼统地会称这些技术实现了对隐私…...
C++第一讲:开篇
C第一讲:开篇 1.C历史背景1.1C创世主--本贾尼1.2C版本更新1.3C的重要性1.4C书籍推荐 2.C的第一个程序3.命名空间3.1namespace是什么3.2namespace的使用3.3namespace使用注意事项3.4命名空间的使用 4.C输入和输出5.缺省参数6.函数重载7.引用7.1什么是引用7.2引用的定…...
OceanBase V4.2特性解析:MySQL模式下GIS空间表达式的场景及能力解析
1. 背景 1.1. OceanBase Mysql gis空间表达式的应用场景及能力 在OceanBase 4.1版本中,mysql模式下支持了gis数据类型以及部分空间对象相关的表达式,随着客户使用空间数据的需求日益增长,需要快速地补齐空间数据存储和计算分析的能力&#…...
HSL模型和HSB模型,和懒人配色的Color Hunt
色彩不仅仅是视觉上的享受,它在数据可视化中也扮演着关键角色。通过合理运用色彩模型,我们可以使数据更具可读性和解释性。在这篇文章将探讨HSL(Hue, Saturation, Lightness)和HSB(Hue, Saturation, Brightness&#x…...
什么是云原生?(二)
1. 云原生的定义 云原生指构建和运行应用以充分利用通过云技术交付模式交付的分布式计算。云原生应用旨在充分利用云技术平台特有的可扩展性、弹性和灵活性优势。 根据云原生计算基金会 (CNCF) 的定义,云原生技术可帮助企业在公有云、私有云和混合云环境中构建和…...
pytorch 47 模型剪枝实战|基于torch-pruning库代码对yolov10n模型进行剪枝
torch-pruning官方提供了基于yolov8的剪枝代码,基于此代码改进博主实现了对yolov10n模型的剪枝。虽然实现了对yolov10n模型的剪枝,剪枝目标为移除60%的通道,然而实验是失败的,针对coco数据集进行操作,剪枝前的模型map时37,剪枝后只能恢复到22,比预计下降了15个点,剪枝后…...
LeetCode_sql_day15(262.行程与用户)
描述:262. 行程和用户 - 力扣(LeetCode) 取消率 的计算方式如下:(被司机或乘客取消的非禁止用户生成的订单数量) / (非禁止用户生成的订单总数)。 编写解决方案找出 "2013-10-01" 至 "2013-10-03" 期间非禁止…...
【MySQL】详解数据库约束、聚合查询和联合查询
数据库约束 约束类型 数据库的约束类型主要包括以下几种: 主键约束(Primary Key Constraint):确保表中的每一行都有唯一的标识,且不能为NULL。 外键约束(Foreign Key Constraint):…...
bug积累
1.只写 int p[len1 len2]; 时,实际上是在使用 C99 标准中引入的变长数组(VLA, Variable Length Array)的特性。变长数组允许在栈上分配其大小在运行时确定的数组。这意味着 len1 和 len2 的值可以在程序运行时确定,但仍然可以用来…...
版本控制案例:全球虚拟制片领导者Dimension借助Perforce Helix Core简化多供应商协作,控制访问权限,确保数据资产安全(下)
创建虚拟世界和人物角色需要一系列的软件工具。但最终愿景很少是由单一工作室独立完成的。对于大型项目,工作室需要通力合作,将全球的团队成员和数字资产联合起来。 Dimension Studio——体积内容捕捉和虚拟制片领域的领导者——不断将新技术和新方法融…...
Anaconda配置envs和pcks路径
问题 原先Anaconda安装在C盘,安装很多包后只剩几个G了,为了给C盘腾空间,卸载后重新安装在了D盘,但是创建了新环境后发现环境位置依旧在C盘,安装新的包仍然会占用C盘空间。 解决办法 查看conda的配置信息 执行如下命…...
推荐10个在线搭建框架平台
前言 在开发项目的时候,首先就是要搭建一个框架。这个框架可以是纯技术框架,也可以具备一定功能的开源框架。但是在搭建框架的时候,版本的冲突,环境的配置等是新手们一直头痛的问题,在构建开源框架的时候,…...
Linux Shell--函数
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、简介 Shell 函数是一段可以重复使用的代码块,通过定义函数可以避免代码重复,提高脚本的可读性和可维护性。 二、定义函数…...
漏洞复现-CVE-2023-42442:JumpServer未授权访问漏洞
概述 JumpServer存在一个未授权访问漏洞。具体来说,/api/v1/terminal/sessions/ API端点的权限控制存在逻辑错误,允许攻击者匿名访问。未经身份验证的远程攻击者可以利用此漏洞下载SSH日志,并可能借此远程窃取敏感信息。值得注意的是&#x…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
