当前位置: 首页 > news >正文

从零开始一步一步掌握大语言模型---(2-什么是Token?)

了解自然语言处理或者听说过大语言模型的同学都听过,token。一般来说,它代表的是语言中不可再分的最小单元。我们人类的语言不仅有文字,还有语音。针对文字、语音来说,它们都各自有不同的划分token的方法。本节将尽可能详细的介绍它们。

文本和语音中的Token

文本,就是我们人类的文字。不同的国家、民族、地区使用不同的文字,不同的模型使用不同的切分这些文字的方法。所以有时候经常容易被闹晕乎。先介绍流行的用的人最多的划分token的方法。

第一种是phoneme,表示一个发音的音标,或发音的基本单位。
        Lexicon:单词到音标的转换表。cat-->K AE T.phoneme是以前一种的常见选择。
第二种是Grapherne:最小的书写单位。英文中一个单词就是一个最小单位。但在单词之间通常还要加上空格“_”。

        one_punch_man:这句话里N=13。V=26+。中文的最小单位可以用一个一个字来表示。中文不需要加入空白。


第三种是word(即词汇).

        one punch man按照这种方式的话就有3个token。“一拳” ”打死” ”你”。就有3个词汇。用词汇来表示token的话,太多太多了。无法穷举出所有的词。


第四种是Morpheme:表达意思的最小单位。

        unbreakable,可拆解为un, break, able.

最后一种是Bytes. 每一个符号都可以用UTF-8表示。

        什么字,符号都可以用UTF-8表示。太大了。 V总是256.

通常大家都用Grapheme和phoneme.

常见的大语言模型是如何划分token的?(指Chatgpt之类)

Chatgpt3.5&Chatgpt4:

官方介绍如何分词:

-------------------------------我是翻译线-----------------------------------------------------------------------------------

OpenAI 的大型语言模型(有时称为 GPT)使用tokens处理文本,tokens是一组文本中常见的字符序列。这些模型学习理解这些标记之间的统计关系,并擅长生成标记序列中的下一个token。

您可以使用下面的工具来了解语言模型如何对一段文本进行标记,以及该文本中的标记总数。

值得注意的是,确切的标记化过程因模型而异。GPT-3.5 和 GPT-4 等较新的模型使用与以前的模型不同的标记器,并且将为相同的输入文本生成不同的tokens。

-------------------------------我是翻译线-----------------------------------------------------------------------------------

我在Openai官网提供的版本中尝试了一下,看他们是如何分词的:

输入(注释:引号表示的是我输入的内容,我实际上并没有输入引号):“我是中国西北人”

Chatgpt3.5&Chatgpt4的分词器输出:“我”,“是”,”中国“,”西“,”北“,”人“。对应的id为“【[37046, 21043, 59795, 61786, 49409, 17792]】”。也就是说,在这个模型中,“我”是由37046表示的,依此类推。模型最后输出的就是这些数字,然后再拿这些数字去找对应的是哪个词。

人家输出的时候没有引号。再次提醒。

Chatglm以及Llama:

这两个模型都用的是谷歌的Sentencepiece包来进行分词的。把文本分完词之后,再转换为词表中的id。

后面再继续完善一下这个章节。

相关文章:

从零开始一步一步掌握大语言模型---(2-什么是Token?)

了解自然语言处理或者听说过大语言模型的同学都听过,token。一般来说,它代表的是语言中不可再分的最小单元。我们人类的语言不仅有文字,还有语音。针对文字、语音来说,它们都各自有不同的划分token的方法。本节将尽可能详细的介绍…...

使用专属浏览器在国内直连GPT教程

Wildcard官方推特发文说他们最近推出了一款专门为访问OpenAI设计的浏览器。 根据官方消息,这是一款专门为访问OpenAI优选网络设计的浏览器,它通过为用户提供专用的家庭网络出口,确保了快速、稳定的连接。 用这个浏览器的最大好处就是直接用浏…...

Wireshark 抓包工具与长ping工具pinginfoview使用,安装包

一、Wireshark使用 打开软件,选择以太网 1、时间设置时间显示格式 这个时间戳不易直观,我们修改 2、抓包使用的命令 1)IP地址过滤 ip.addr192.168.1.114 //筛选出源IP或者目的IP地址是192.168.1.114的全部数据包。 ip.sr…...

分享Pandas 数据分析实战课程

分享Pandas 数据分析实战课程,3 小时掌握数据分析核心技能。 链接:https://pan.baidu.com/s/1Ikk3I1dfoFO0id3EBZJdGg?pwd4y83 提取码:4y83 链接:https://pan.quark.cn/s/fa2acd7513f4 提取码:yWu7...

26. 删除有序数组中的重复项 (Swift版本)

题目描述 给你一个 非严格递增排列 的数组 nums ,请你删除重复出现的元素,使每个元素只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#xff0…...

python学生作业管理系统flask-django-nodejs-php

课题主要分为三大模块:即管理员模块和学生、教师模块,主要功能包括:学生、教师、作业信息、学习模块、教学评价、学习情况等; 关键词:学生作业管理系统;作业信息 目录 摘 要 I Abstrac II 目录 III 1绪论 1…...

蓝桥杯第二天刷真题

public class Main {public static void main(String [] args) { //存大数方法String s"202320232023"; // 定义一个字符串&#xff0c;它将被转换为结束循环的数值long end Long.parseLong(s);long sum 0;long primarynumber 1;for(int i 1; i<end; i) {long …...

RK3568 安装jupyter和jupyterlab

首先需要RK3568运行Ubuntu,之前的文章有关于如何安装Ubuntu以及遇到的问题 其次需要安装Miniconda3,详细安装教程:RK3568 安装Miniconda3-CSDN博客 准备好这两步之后就可以开始: 1、更新软件源和软件 sudo apt update sudo apt upgrade sudo apt-get dist-upgrade 2、…...

简易指南:国内ip切换手机软件怎么弄

在网络访问受到地域限制的情况下&#xff0c;使用国内IP切换手机软件可以帮助用户轻松访问被屏蔽的内容&#xff0c;扩展网络体验。以下是虎观代理小二分享的使用国内IP切换手机软件的简易指南。并提供一些注意事项。 如何在手机上使用国内IP切换软件 步骤一&#xff1a;选择I…...

Git学习笔记之Git 别名

Git 并不会在你输入部分命令时自动推断出你想要的命令。 如果不想每次都输入完整的 Git 命令&#xff0c;可以通过 git config 文件来轻松地为每一个命令设置一个别名。命令&#xff1a; git config --global alias.别名 命令例如 git config --global alias.co checkout git …...

网络安全笔记-day6,NTFS安全权限

文章目录 NTFS安全权限常用文件系统文件安全权限打开文件安全属性修改文件安全权限1.取消父项继承权限2.添加用户访问权限3.修改用户权限4.验证文件权限5.总结权限 强制继承父项权限文件复制移动权限影响跨分区同分区 总结1.权限累加2.管理员最高权限2.管理员最高权限 NTFS安全…...

云计算系统等保测评对象和指标选取

1、云计算服务模式与控制范围关系 参考GBT22239-2019《基本要求》附录D 云计算应用场景说明。简要理解下图&#xff0c;主要是云计算系统安全保护责任分担原则和云服务模式适用性原则&#xff0c;指导后续的测评对象和指标选取。 2、测评对象选择 测评对象 IaaS模式 PaaS模式…...

Vue 3项目中结合Element Plus的<el-menu>和CSS3创建锚点,以实现点击菜单项时平滑滚动到对应的锚点目标

安装Element Plus&#xff1a; 确保已经安装了Element Plus库。可以使用npm或者yarn进行安装&#xff0c;具体步骤与上文提到的相同。 引入Element Plus&#xff1a; 在你的Vue 3项目中引入所需的Element Plus组件和样式。 创建el-menu&#xff1a; 在Vue组件中使用<el-me…...

C语言:数据在内存中的存储

目录 一、 整数在内存中的存储二、 大小端字节序和字节序判断1.什么是大小端2.为什么有大小端3.练习(1)练习1(2)练习2(3)练习3(4)练习4(5)练习5(6)练习6 三、 浮点数在内存中的存储1.练习2.浮点数的存储(1) 浮点数存的过程(2)浮点数取的过程 3.题目解析 一、 整数在内存中的存储…...

DP动态规划入门(数字三角形、破损的楼梯、安全序列)

一、动态规划&#xff08;DP&#xff09;简介 动态规划&#xff08;Dynamic Programming&#xff0c;简称DP&#xff09;是运筹学的一个分支&#xff0c;它是一种通过将复杂问题分解成多个重叠的子问题&#xff0c;并通过子问题的解来构建整个问题的解的算法。在动态规划中&am…...

HBase Shell的应用案例

电商( eshop)平台具有海量数据、高并发访问、高速读写等特征&#xff0c;适合使用HBase分布式数据库进行数据存储。本节通过一个 HBase在电商平台的应用案例&#xff0c;熟练掌握并综合运用HBase Shell命令行终端提供的各种操作命令。 一、电商(eshop)平台的逻辑数据模型 在H…...

Allegro许可管理技巧

在数字化时代&#xff0c;软件许可管理对于企业的运营至关重要。然而&#xff0c;许多企业在实施软件管理过程中会遇到各种问题。Allegro许可管理作为一款高效、合规的管理工具&#xff0c;能够帮助企业解决常见的许可管理问题。本文将深入探讨Allegro许可管理中的实用技巧&…...

34 vue 项目默认暴露出去的 public 文件夹 和 CopyWebpackPlugin

前言 这里说一下 vue.config.js 中的一些 public 文件夹是怎么暴露出去的? 我们常见的 CopyWebpackPlugin 是怎么工作的 ? 这个 也是需要 一点一点积累的, 因为 各种插件 有很多, 不过 我们仅仅需要 明白常见的这些事干什么的即可 当然 以下内容会涉及到一部分vue-cli,…...

Redis 不再“开源”,对中国的影响及应对方案

Redis 不再“开源”&#xff0c;使用双许可证 3 月 20 号&#xff0c;Redis 的 CEO Rowan Trollope 在官网上宣布了《Redis 采用双源许可证》的消息。他表示&#xff0c;今后 Redis 的所有新版本都将使用开源代码可用的许可证&#xff0c;不再使用 BSD 协议&#xff0c;而是采用…...

在CentOS中怎么安装和配置NginxWeb服务器

在CentOS中安装和配置Nginx Web服务器可以通过以下步骤完成&#xff1a; 1. 使用yum安装Nginx&#xff1a; sudo yum install nginx 2. 启动Nginx服务&#xff1a; sudo systemctl start nginx 3. 设置Nginx开机自启动&#xff1a; sudo systemctl enable nginx 4. 配置防火墙规…...

Google将NotebookLM深度整合进Gemini,AI研究工具再升级

NotebookLM深度嵌入Gemini&#xff0c;打造便捷研究新体验近日&#xff0c;Google宣布将AI驱动的研究工具NotebookLM深度整合至Gemini应用中。此次更新带来了显著变化&#xff0c;用户能够直接在Gemini侧边栏创建“笔记本”&#xff0c;并且可添加PDF、文档、网址、YouTube视频…...

ESP32 RMT硬件驱动DS18B20单总线温度传感器库

1. 项目概述MycilaDS18 是一款专为 ESP32 平台设计的高性能 Dallas/Maxim DS18 系列单总线温度传感器驱动库&#xff0c;其核心创新在于完全基于 ESP32 原生 RMT&#xff08;Remote Control&#xff09;外设实现物理层通信&#xff0c;彻底摒弃了传统软件模拟 OneWire 时序的方…...

SITS2026首批通过架构案例全披露(含字节/阿里/平安内部PPT精要),仅剩最后23个企业可申请架构对标评估

第一章&#xff1a;SITS2026深度解析&#xff1a;AI原生应用架构设计 2026奇点智能技术大会(https://ml-summit.org) AI原生应用已不再满足于将模型“封装后调用”&#xff0c;而是要求从基础设施、服务编排、状态管理到用户交互的全栈重构。SITS2026&#xff08;Singularity …...

Jetson设备开机到登录界面一站式美化:从CBoot Logo、GDM3锁屏到桌面背景的完整配置流程

Jetson设备从开机到桌面的视觉美化全流程指南 当你拿起一台Jetson设备准备演示产品原型时&#xff0c;第一印象往往从开机画面就开始了。作为开发者&#xff0c;我们常常花费大量时间优化核心功能&#xff0c;却忽略了用户体验链条中最直观的视觉环节。本文将带你完成从冷启动到…...

ChatterUI:突破移动端AI聊天限制,重构本地与云端智能对话体验

ChatterUI&#xff1a;突破移动端AI聊天限制&#xff0c;重构本地与云端智能对话体验 【免费下载链接】ChatterUI Simple frontend for LLMs built in react-native. 项目地址: https://gitcode.com/gh_mirrors/ch/ChatterUI ChatterUI是一款基于React Native构建的移动…...

# 发散创新:基于Python实现轻量级物理引擎的核心算法与实战优化在游戏开发、虚拟仿真和机

发散创新&#xff1a;基于Python实现轻量级物理引擎的核心算法与实战优化 在游戏开发、虚拟仿真和机器人控制等领域&#xff0c;物理引擎是构建真实感交互体验的关键组件。本文将带你从零开始用 Python NumPy 实现一个简化但功能完整的 2D 物理引擎原型&#xff0c;并深入剖析…...

三大技术突破:重新定义Android设备标识的完整解决方案

三大技术突破&#xff1a;重新定义Android设备标识的完整解决方案 【免费下载链接】Android_CN_OAID 安卓设备唯一标识解决方案&#xff0c;可替代移动安全联盟&#xff08;MSA&#xff09;统一 SDK 闭源方案。包括国内手机厂商的开放匿名标识&#xff08;OAID&#xff09;、海…...

Avian Physics vs 其他物理引擎:为什么选择基于XPBD的解决方案 [特殊字符]

Avian Physics vs 其他物理引擎&#xff1a;为什么选择基于XPBD的解决方案 &#x1f680; 【免费下载链接】avian ECS-driven 2D and 3D physics engine for the Bevy game engine. 项目地址: https://gitcode.com/gh_mirrors/be/avian 在游戏开发的世界中&#xff0c;物…...

Java程序设计(第3版)第二章——java的数据类型:字符 char

字符 char 关键字:char 字节数:2B 编码:Unicode字符集(万国码) 字面值方式&#xff1a; ①字符赋值&#xff1a;用单引号(&#xff07;&#xff07;&#xff09;引起来的一个字符&#xff0c; char c&#xff1d;’A’; char c1&#xff1d;&#xff07;中&#xff07;; ②数值…...

晶晨A311D开发板:从零构建Ubuntu/Debian固件的完整指南

1. 环境准备&#xff1a;搭建Ubuntu编译环境 第一次接触晶晨A311D开发板时&#xff0c;我也被复杂的编译环境吓到过。但实际搭建起来&#xff0c;只要跟着步骤走&#xff0c;半小时就能搞定。建议使用Ubuntu 20.04 LTS系统&#xff0c;这是经过验证最稳定的选择。我试过在Ubunt…...