咬文嚼字:词元是当今生成式人工智能失败的一个重要原因

生成式人工智能模型处理文本的方式与人类不同。了解它们基于"标记"的内部环境可能有助于解释它们的一些奇怪行为和顽固的局限性。从 Gemma 这样的小型设备上模型到 OpenAI 业界领先的 GPT-4o 模型,大多数模型都建立在一种称为转换器的架构上。由于转换器在文本和其他类型数据之间建立关联的方式,它们无法接收或输出原始文本–至少在没有大量计算的情况下是如此。

在这里插入图片描述
因此,出于实用性和技术性的考虑,今天的转换器模型使用的文本已经被分解成更小、更小的片段,这些片段被称为标记–这一过程被称为标记化。

词元可以是单词,如"fantastic"。也可以是音节,如"fan"、“tas"和"tic”。根据标记化器(标记化模型)的不同,它们甚至可以是单词中的单个字符(例如,“f”、“a”、“n”、“t”、“a”、“s”、“t”、“i”、“c”)。

使用这种方法,转换器可以在达到称为上下文窗口的上限之前接收更多信息(语义意义上的)。但标记化也会带来偏差。

有些标记符有奇特的间距,这会使转换器出错。例如,词元转换器可能会将"once upon a time"编码为"once"、“on”、“a”、“time”,而将"once upon a"(有尾部空白)编码为"once"、“on”、“a”、“.”。根据对模型的提示方式–“once upon a"还是"once upon a ,”–结果可能完全不同,因为模型并不能理解(就像人一样)意思是一样的。

标记符号化器处理大小写的方式也不同。对模型来说,“Hello"并不一定等同于"HELLO”;"hello"通常是一个标记(取决于标记化器),而"HELLO"可能有三个标记(“HE”、“El"和"O”)。这就是许多转换器无法通过大写字母测试的原因。

东北大学研究大型语言模型可解释性的博士生 Sheridan Feucht 对此表示:"对于语言模型来说,'词’到底应该是什么,这个问题有点难以解决,即使我们让人类专家就完美的标记词汇达成一致,模型可能仍然会认为进一步’分块’是有用的。“我的猜测是,由于这种模糊性,不存在完美的标记符号生成器。”

这种"模糊性"给英语以外的语言带来了更多问题。许多标记化方法都认为句子中的空格表示一个新词。这是因为它们是针对英语设计的。但并非所有语言都使用空格来分隔单词。汉语和日语不使用空格,韩语、泰语和高棉语也不使用。

2023 年牛津大学的一项研究发现,由于非英语语言的标记化方式不同,转换器完成一项非英语语言任务所需的时间可能是英语任务的两倍。同一项研究和另一项研究发现,"标记效率"较低的语言的用户很可能会看到更差的模型性能,但却要支付更高的使用费用,因为许多人工智能供应商是按标记收费的。

标记化器通常将逻各斯书写系统中的每个字符(在这种系统中,印刷符号代表单词,而与发音无关,如中文)视为一个独立的标记,从而导致标记数较高。同样,标记化器在处理凝集语(单词由称为词素的有意义的小词元组成,如土耳其语)时,往往会将每个词素变成一个标记,从而增加总体标记数。(在泰语中,"hello"的对应词สวัสดี有六个标记)。

2023 年,Google DeepMind 人工智能研究员 Yennie Jun进行了一项分析,比较了不同语言的标记化及其下游效果。通过使用一个翻译成 52 种语言的平行文本数据集,Jun 发现有些语言需要多达 10 倍的标记才能表达英语中的相同含义。

除了语言上的不平等,标记化也可以解释为什么今天的模型数学不好。

数字标记化很少能保持一致。因为它们并不真正了解数字是什么,标记符号化器可能会将"380"视为一个标记符号,而将"381"表示为一对(“38"和"1”)–这实际上破坏了数字之间的关系以及方程和公式中的结果。结果就是转换器混乱;最近的一篇论文表明,模型很难理解重复的数字模式和上下文,尤其是时间数据。(参见:GPT-4认为7735 大于 7926)。

这也是模型不擅长解决变位问题或颠倒单词的原因。标记化显然给生成式人工智能带来了挑战。它们能被解决吗?也许吧。

Feucht 指出,像MambaByte 这样的"字节级"状态空间模型,通过完全取消标记化,可以摄取比转换器多得多的数据,而不会影响性能。MambaByte 可直接处理代表文本和其他数据的原始字节,在语言分析任务方面可与某些转换器模型媲美,同时还能更好地处理"噪音",如带有交换字符、间距和大写字母的单词。

不过,像 MambaByte 这样的模式还处于早期研究阶段。

"最好的办法可能是让模型直接查看字符,而不强加标记化,但现在这对变换器来说在计算上是不可行的,"Feucht 说。“特别是对于变换器模型来说,计算量与序列长度成二次方关系,因此我们真的希望使用简短的文本表示”。

如果不能在词元化方面取得突破,新的模型架构似乎将成为关键。

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

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

相关文章

subset使用

在R语言中,subset()函数用于从数据框中选择满足特定条件的观测。其语法如下: subset(x, subset, select, drop FALSE) 参数说明: x:数据框或矩阵。 subset:逻辑条件,用于筛选满足特定条件的行。 select…

Linux Bridge - Part 2

概览 在前一篇文章中,我描述了Linux 网桥(bridge)的配置,并展示了一个实验,其中使用Wireshark来分析流量。在本文中,我将讨论当创建一个网桥时会发生什么,以及Linux 网桥(bridge&am…

给您介绍工控CAN总线

CAN是什么 CAN,全称Controller Area Network,即控制器局域网,是一种由Bosch公司在1983年开发的通信协议。它主要用于汽车和工业环境中的电子设备之间的通信。CAN协议定义了物理层和数据链路层的通信机制,使得不同的设备能够通过CA…

数据驱动的内容优化:Kompas.ai如何提升内容表现

在数字化营销时代,内容是企业与用户沟通的重要桥梁。然而,随着信息量的爆炸性增长,如何让内容在激烈的竞争中脱颖而出,成为每个营销人员面临的问题。数据驱动的内容优化策略,通过精准分析和科学决策,帮助品…

基于Java+SpringMvc+Vue技术的实验室管理系统设计与实现

博主介绍:硕士研究生,专注于信息化技术领域开发与管理,会使用java、标准c/c等开发语言,以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年,拥有近12年的管理工作经验,拥有较丰富的技术架…

基于Transformer的端到端的目标检测 | 读论文

本文正在参加 人工智能创作者扶持计划 提及到计算机视觉的目标检测,我们一般会最先想到卷积神经网络(CNN),因为这算是目标检测领域的开山之作了,在很长的一段时间里人们都折服于卷积神经网络在图像处理领域的优势&…

SQLite 嵌入式数据库

目录: 一、SQLite 简介二、SQLite 数据库安装1、安装方式一:2、安装方式二: 三、SQLite 的命令用法1、创建、打开、退出数据库:2、编辑数据库: 四、SQLite 的编程操作1、打开 / 创建数据库的 C 接口:2、操作…

欧拉函数.

性质1:质数n的欧拉函数为n-1. 性质2:如果p,q都是质数,那么ϕ ( p ∗ q ) ϕ ( p ) ∗ ϕ ( q ) ( p − 1 ) ∗ ( q − 1 ) 证明:p,2p....q*p都不与q*p互质,q同理,所以总的不互质个…

WPS+Python爬取百度之星排名

运行效果 手动拉取 https://www.matiji.net/exam/contest/contestdetail/146 如果手动查找,那么只能通过翻页的方式,每页10行(外加一行自己)。 爬取效果预览 本脚本爬取了个人排名和高校排名,可以借助WPS或MS Offi…

专业140+总分420+天津大学815信号与系统考研经验天大电子信息与通信工程,真题,大纲,参考书。

顺利上岸天津大学,专业课815信号与系统140,总分420,总结一些自己的复习经历,希望对于报考天大的同学有些许帮助,少走弯路,顺利上岸。专业课: 815信号与系统:指定教材吴大正&#xf…

缺失行处理(R和python)

R(complete.cases) rm(listls()) # 创建一个包含缺失值的数据框 # df <- data.frame( # x c(1, 2, NA, 4), # y c(NA, 2, 3, 4), # z c(1, NA, 3, 3) # ) # # # 使用complete.cases函数筛选包含缺失值的数据行 # missing_rows <- !complete.cases(df) # # # …

Vue2前端实现数据可视化大屏全局自适应 Vue实现所有页面自适应 Vue实现自适应所有屏幕

Vue自适应所有屏幕大小,目前页面自适应,尤其是数据可视化大屏的自适应更是案例很多 今天就记录一下使用Vue全局自适应各种屏幕大小的功能 在Vue.js中创建一个数据大屏,并使其能够自适应不同屏幕大小,通常涉及到布局的响应式设计、CSS媒体查询、以及利用Vue的事件系统来处理…

C++面向对象的常见面试题目(一)

1. 面向对象的三大特征 &#xff08;1&#xff09;封装&#xff1a;隐藏对象的内部状态&#xff0c;只暴露必要的接口。 #include <iostream> #include <string>// 定义一个简单的类 Person class Person { private: // 私有成员&#xff0c;外部不可直接访问std…

通俗易懂的信道复用技术详解:频分、时分、波分与码分复用

在现代通信网络中&#xff0c;信道复用技术 扮演着至关重要的角色。今天&#xff0c;我们将用通俗易懂的语言来讲解几种常见的信道复用技术&#xff1a;频分复用、时分复用、波分复用 和 码分复用。这篇文章特别适合基础小白&#xff0c;希望能帮助你快速理解这些概念。 一、频…

Bean的管理

1.主动获取Bean spring项目在需要时&#xff0c;会自动从IOC容器中获取需要的Bean 我们也可以自己主动的得到Bean对象 &#xff08;1&#xff09;获取bean对象&#xff0c;首先获取SpringIOC对象 private ApplicationContext applicationContext //IOC容器对象 (2 )方法…

[算法] 优先算法(四):滑动窗口(下)

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

Springboot 敏感词过滤

参考&#xff1a;网站是怎么屏蔽脏话的呢&#xff1a;简单学会SpringBoot项目敏感词、违规词过滤方案_springboot 项目关键词过滤-CSDN博客 【敏感词过滤】_wx60d2a462203aa的技术博客_51CTO博客 1、添加依赖 <dependency><groupId>com.github.houbb</groupI…

模型训练之数据集

我们知道人工智能的四大要素&#xff1a;数据、算法、算力、场景。我们训练模型离不开数据 目标 一、数据集划分 定义 数据集&#xff1a;训练集是一组训练数据。 样本&#xff1a;一组数据中一个数据 特征&#xff1a;反映样本在某方面的表现、属性或性质事项 训练集&#…

输入Rviz打不开,显示could not contact Ros master at[..],retrying

直接输入rviz会报错无法打开 解决方法&#xff1a; 先输入roscore&#xff0c;再用ctrlaltt打开新终端&#xff0c;在新终端输入rviz/rosrun rviz rviz即可

深度学习3 基于规则的决策树模型

1.决策树是一种归纳学习算法&#xff0c;从一些没有规则、没有顺序、杂乱无章的数据中&#xff0c;推理出决 策模型。不管是什么算法的决策树&#xff0c;都是一种对实例进行分类的树形结构。决策树有三个要素&#xff1a;节点(Node)、分支(Branches)和结果(Leaf)。 训练决策树…