生成式AI的短板在于“Token”的存在

生成式AI模型处理文本的方式与人类不同。理解它们基于“token”的内部环境,可能有助于解释一些奇怪行为和固有局限性。

从小型设备上的Gemma到OpenAI领先行业的GPT-4o,大多数模型都是基于一种称为Transformer的架构。由于Transformer在将文本与其他类型的数据关联时的独特方式,它们不能直接处理原始文本——至少在不消耗大量计算资源的情况下是不行的。WildCard平台支持订阅各类服务,包括GPT-4,OF,X,Overleaf等

因此,出于实用和技术原因,当前的Transformer模型都使用被分解为较小的、易处理的片段——称为“token”的文本,这一过程被称为分词。

Token可以是单词,比如“fantastic”(极好的)。也可以是音节,比如“fan”,“tas”和“tic”。根据分词器(进行分词的模型)的不同,它们甚至可能是单词中的单个字符(例如,“f”,“a”,“n”,“t”,“a”,“s”,“t”,“i”,“c”)。

通过这种方法,Transformer能够在达到称为上下文窗口的上限之前,吸收更多信息(从语义上讲)。但分词也可能引入偏差。

一些token的间距不规则,这可能会扰乱Transformer。例如,分词器可能将“once upon a time”编码为“once”,“upon”,“a”,“time”,而将“once upon a ”(带有尾随空格)编码为“once”,“upon”,“a”,“”。根据模型的提示方式——是“once upon a”还是“once upon a ,”——结果可能完全不同,因为模型并不理解(如人类那样)两者的意义相同。

分词器对大小写的处理也不同。“Hello”对模型来说不一定与“HELLO”相同;“hello”通常是一个token(取决于分词器),而“HELLO”可能多达三个(“HE”,“El”和“O”)。这也是许多Transformer未能通过大写字母测试的原因。

“要解决语言模型中‘单词’究竟应该是什么这个问题有点困难,即使我们让语言专家达成一致的完美token词汇表,模型可能仍然会发现将内容‘块化’进一步有用,”东北大学研究大型语言模型可解释性的博士生谢里丹·福伊希特(Sheridan Feucht)告诉TechCrunch。“我猜这种模糊性导致了不存在完美的分词器。”

这种“模糊性”在英语以外的语言中问题更为严重。

许多分词方法假设句子中的空格表示新词。这是因为它们是针对英语设计的。但并非所有语言都用空格来分隔单词。中文和日语没有——韩语、泰语和高棉语也没有。

2023年牛津大学的一项研究发现,由于非英语语言在分词方式上的差异,Transformer完成用非英语语言表达的任务所需时间可能是用英语表达的两倍。同一研究——以及另一项研究——发现,使用分词效率较低语言的用户可能会看到模型性能较差,但使用成本更高,因为许多AI供应商按token收费。

分词器通常将汉字系统中的每个字符(如中文)视为一个独立的token,从而导致token数量大幅增加。同样,处理黏着语(如土耳其语)——即由小的有意义词素构成单词的语言——的分词器往往将每个词素视为一个token,增加了整体token数量。(泰语中“你好”的等价词“สวัสดี”是六个token。)

2023年,谷歌DeepMind的AI研究员延妮·俊(Yennie Jun)进行了一项分析,比较了不同语言的分词及其下游影响。利用一个翻译成52种语言的平行文本数据集,俊展示了一些语言需要多达10倍的token来捕捉英语中的相同意义。

除了语言不平等,分词可能还解释了当今模型在数学上的糟糕表现。

数字很少被一致地分词。因为它们不真正知道数字是什么,分词器可能将“380”视为一个token,但将“381”表示为一对token(“38”和“1”),从而有效地破坏了数字与公式和方程结果之间的关系。结果是Transformer的混淆;最近一篇论文表明,模型难以理解重复的数字模式和上下文,特别是时间数据。(见:GPT-4认为7735大于7926。)

这也是模型不擅长解决字谜问题或倒转单词的原因。

那么,分词显然给生成式AI带来了挑战。这些挑战能解决吗?

也许可以。

福伊希特指出了“字节级”状态空间模型,如MambaByte,它可以直接处理表示文本和其他数据的原始字节,不使用分词,从而在不影响性能的情况下摄取更多数据。MambaByte在语言分析任务上与一些Transformer模型竞争,同时更好地处理“噪音”,如字符交换、间距和大写字符。

然而,像MambaByte这样的模型还处于早期研究阶段。

“让模型直接查看字符而不进行分词可能是最好的,但现在对于Transformer来说,这在计算上是不可行的,”福伊希特说。“对于Transformer模型,计算量随着序列长度成二次方增长,因此我们真的希望使用短文本表示。”

除非分词技术取得突破,否则新模型架构将是关键

阅读原文:生成式AI的短板在于“token”的存在

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

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

相关文章

前端初学java二(类、多态、接口、内部类、泛型)

目录 类 种类 Javabean类 测试类 工具类 类的初始化 构照函数 新建对象的内存图 static 继承 This Super 虚方法表 Override 修饰符权限 构造代码块 静态代码块 多态 前提 优点 缺点 示例 抽象方法 抽象类 接口 implements 继承 内部类 成员内部类…

系统化学习 H264视频编码(02) I帧 P帧 B帧 引入及相关概念解读

说明:我们参考黄金圈学习法(什么是黄金圈法则?->模型 黄金圈法则,本文使用:why-what)来学习音H264视频编码。本系列文章侧重于理解视频编码的知识体系和实践方法,理论方面会更多地讲清楚 音视频中概念的…

【机器学习】机器学习重塑广告营销:精准触达,高效转化的未来之路

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀目录 📒1. 引言📙2. 机器学习基础与广告营销的结合🧩机器学习在广告营销中的核心应用领域🌹用…

cf 7.7

Problem - C - Codeforces 大致意思&#xff1a; 找前缀&#xff0c;排序后使得本位之前数字和等于该位 &#xff08;以下代码超时了&#xff09; #include<bits/stdc.h> typedef long long ll;#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0) const ll …

阿里云存储应用

如何做好权限控制 小浩在梳理门户网站静态资源时&#xff0c;发现有些资源是仅内部员工可访问&#xff0c;有些资源是特定的注册客户可访问&#xff0c;还有些资源是匿名客户也可以访问。针对不同场景、不同用户&#xff0c;小浩该如何规划企业门户网站静态资源的权限控制呢&a…

MySQL第三次作业--DML语句(INSERT)

目录 一、在数据库中创建一个表student&#xff0c;用于存储学生信息 二、向student表中添加一条新记录&#xff0c;记录中id字段的值为1&#xff0c;name字段的值为"monkey"&#xff0c;grade字段的值为98.5 三、向student表中添加多条新记录&#xff1a; 2,&qu…

Docker 容器网络及其配置说明

Docker 容器网络及其配置说明 docker容器网络docker的4种网络模式bridge 模式container模式host 模式none 模式应用场景 docker 容器网络配置Linux 内核实现名称空间的创建创建 Network Namespace操作 Network Namespace 转移设备veth pair创建 veth pair实现 Network Namespac…

缓存-分布式锁-原理和基本使用

分布式锁原理和使用 自旋 public Map<String, List<Catelog2Vo>> getCatalogJsonFromDBWithRedisLock() {Boolean b redisTemplate.opsForValue().setIfAbsent(Lock, Lock, Duration.ofMinutes(1));if (!b) {int i 10;while (i > 0) {Object result redisTe…

【QT】容器类控件

目录 概述 Group Box 核心属性 Tab Widget 核心属性 核心信号 核心方法 使用示例&#xff1a; 布局管理器 垂直布局 核心属性 使用示例&#xff1a; 水平布局 核⼼属性 (和 QVBoxLayout 属性是⼀致的) 网格布局 核心属性 使用示例&#xff1a; 示例&#x…

【python】python猫眼电影数据抓取分析可视化(源码+数据集+论文)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

安卓虚拟位置修改

随着安卓系统的不断更新&#xff0c;确保软件和应用与最新系统版本的兼容性变得日益重要。本文档旨在指导用户如何在安卓14/15系统上使用特定的功能。 2. 系统兼容性更新 2.1 支持安卓14/15&#xff1a;更新了对安卓14/15版本的支持&#xff0c;确保了软件的兼容性。 2.2 路…

Xilinx FPGA:vivado串口输入输出控制fifo中的数据

一、实验要求 实现同步FIFO回环测试&#xff0c;通过串口产生数据&#xff0c;写入到FIFO内部&#xff0c;当检测到按键信号到来&#xff0c;将FIFO里面的数据依次读出。 二、信号流向图 三、状态转换图 四、程序设计 &#xff08;1&#xff09;按键消抖模块 timescale 1ns…

批量文本编辑管理神器:一键修改多处内容,轻松转换编码,助力工作效率飞跃提升!

在信息爆炸的时代&#xff0c;文本处理已成为我们日常工作中不可或缺的一部分。无论是处理文档、整理数据还是编辑资料&#xff0c;都需要对大量的文本进行管理和修改。然而&#xff0c;传统的文本编辑方式往往效率低下&#xff0c;容易出错&#xff0c;难以满足现代工作的高效…

QListWidget 缩略图IconMode示例

1、实现的效果如下&#xff1a; 2、实现代码 &#xff08;1&#xff09;头文件 #pragma once #include <QtWidgets/QMainWindow> #include "ui_QListViewDemo.h" enum ListDataType { ldtNone -1, ldtOne 0, ldtTwo 1, }; struct ListData…

树莓派4B_OpenCv学习笔记19:OpenCV舵机云台物体追踪

今日继续学习树莓派4B 4G&#xff1a;&#xff08;Raspberry Pi&#xff0c;简称RPi或RasPi&#xff09; 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1&#xff1a; Python 版本3.7.3&#xff1a; ​​ 今日学习&#xff1…

Apache Seata应用侧启动过程剖析——RM TM如何与TC建立连接

本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 Apache Seata应用侧启动过程剖析——RM & TM如何与TC建立连接 前言 看过官网 README 的第…

Python | Leetcode Python题解之第217题存在重复元素

题目&#xff1a; 题解&#xff1a; class Solution(object):def containsDuplicate(self, nums):if len(set(nums)) ! len(nums):return Trueelse:return False

TCP一定可靠吗

背景 公司某个服务发送TCP报文后,得到的响应是非预期数据 原因竟然是:TCP包的 payload 数据某个bit位被翻转,但是 checksum 的值一样,错误的包被分发给了上层服务 Checksum介绍 IP 头有自己的 Checksum,TCP、UDP 也有自己的 Checksum,分别校验不同部分的数据 IP 头的 …

赛元单片机开发工具SOC_Programming_Tool_Enhance_V1.50 分享

下载地址&#xff1a; SOC_Programming_Tool_Enhance_V1.50(LIB0D30).rar: https://545c.com/f/45573183-1320016694-557ebd?p7526 (访问密码: 7526)

使用Spring Boot和自定义缓存注解优化应用性能

在现代应用开发中&#xff0c;缓存是提高系统性能和响应速度的关键技术之一。Spring Boot提供了强大的缓存支持&#xff0c;但有时我们需要更灵活的缓存控制。本文将介绍如何使用Spring Boot和自定义缓存注解来优化应用性能。 1. 为什么需要自定义缓存注解&#xff1f; Sprin…