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

news2024/12/28 21:59:49

生成式人工智能模型处理文本的方式与人类不同。了解它们基于"标记"的内部环境可能有助于解释它们的一些奇怪行为和顽固的局限性。从 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 说。“特别是对于变换器模型来说,计算量与序列长度成二次方关系,因此我们真的希望使用简短的文本表示”。

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java中读写文件内容乱码/BufferedReader读文件内容乱码/OutputStreamWriter设置编码集

1、问题概述? 在项目中我们经常会将例如日志信息放入到txt(任意后缀)文档中,然后在项目中通过弹框等形式查看直接的查看这些文档中的信息,然后有时候会出现乱码的情况。 这个时候我们就需要设置写入和写出时候的编码集情况。 2、解决方案 …

【PB案例学习笔记】-29制作一个调用帮助文档的小功能

写在前面 这是PB案例学习笔记系列文章的第29篇,该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码,小凡都上传到了gite…

Windows使用nxlog发送系统日志到Linux的rsyslog服务器

Windows使用nxlog发送系统日志到Linux的rsyslog服务器 前言一、IP地址规划及示意图二、在windows上安装及配置nxlog1.下载nxlog2.安装nxlog3.配置nxlog4.创建对应日志路径的文件夹 三、windows上启动nxlog服务四、在CentOS 7上配置日志存到指定位置文件1.编辑/etc/rsyslog.conf…

Python | Leetcode Python题解之第222题完全二叉树的节点个数

题目: 题解: # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def countNodes(self,…

[C++][ProtoBuf][初识ProtoBuf]详细讲解

目录 1.序列化概念2.ProtoBuf是什么?3.ProtoBuf使用特点4.补充1.GOOGLE_PROTOBUF_VERIFY_VERSION 宏2.ShutdownProtobufLibrary()3.--decode 5.序列化能力对比验证6.总结 1.序列化概念 序列化:把对象转换为字节序列的过程,称为对象的序列化反…

Java中获取Class对象的三种方式

Java中获取Class对象的三种方式 1、对象调用getClass()方法2、类名.class的方式3、通过Class.forName()静态方法4、总结 💖The Begin💖点点关注,收藏不迷路💖 在Java中,Class对象是一个非常重要的概念,它代…

【carla】ubuntu安装carla环境

我们可以通过查看 CARLA 的 GitHub release 页面来找到最新版本的下载链接。 下载 CARLA 压缩包 访问 CARLA Releases 页面: CARLA Releases on GitHub 查找最新版本: 找到最新的版本,点击下载,第一个压缩包 3. 解压 CARLA 包&…

Python 爬虫 tiktok关键词搜索用户数据信息 api接口

Tiktok APP API接口 Python 爬虫采集Tiktok数据 采集结果页面如下图: https://www.tiktok.com/search?qwwe&t1706679918408 请求API http://api.xxx.com/tt/search/user?keywordwwe&count10&offset0&tokentest 请求参数 返回示例 联系我们&…

Python | Leetcode Python题解之第221题最大正方形

题目: 题解: class Solution:def maximalSquare(self, matrix: List[List[str]]) -> int:if len(matrix) 0 or len(matrix[0]) 0:return 0maxSide 0rows, columns len(matrix), len(matrix[0])dp [[0] * columns for _ in range(rows)]for i in…

仿qq音乐播放微信小程序模板源码

手机qq音乐应用小程序,在线音乐播放器微信小程序网页模板。包含:音乐歌曲主页、推荐、排行榜、搜索、音乐播放器、歌单详情等。 仿qq音乐播放微信小程序模板源码

量产工具一一页面系统(五)

目录 前言 一、产品页面数据结构抽象 1. page_manager.h 二、产品页面管理器 1.page_manager.c 三、产品页面运行 1.main_page.c 四、单元测试 1.page_test.c 2.上机测试 前言 前面我们实现了显示系统框架,输入系统框架,文字系统框架和UI系统…

WAIC热点聚焦|新质生产力与低空经济

WAIC热点聚焦|新质生产力与低空经济 概览 # WAIC热点聚焦 | 新质生产力与低空经济## 1. 新质生产力定义与特点 - 新质生产力是在新的经济社会发展阶段中形成的,具有变革性和高增长潜力的生产能力。## 2. 低空经济概念与构成 ### 2.1 低空经济定义 - 低空经济是依托…

斯坦福CS224n深度学习培训营课程

自然语言处理领域的经典课程涵盖了从基础知识到最新研究的全面内容。本培训营将精选课程内容,结合实际案例和项目实践,带领学员深入探索自然语言处理的前沿,学习最先进的深度学习技术。 课程大小:2.6G 课程下载:http…

仿哔哩哔哩视频app小程序模板源码

仿哔哩哔哩视频app小程序模板源码 粉色的哔哩哔哩手机视频网页,多媒体视频类微信小程序ui前端模板下载。包含:视频主页和播放详情页。 仿哔哩哔哩视频app小程序模板源码

Linux运维:mysql主从复制原理及实验

当一台数据库服务器出现负载的情况下,需要扩展服务器服务器性能扩展方式有向上扩展,垂直扩展。向外扩展,横向扩展。通俗的讲垂直扩展是将一台服务器扩展为性能更强的服务器。横向扩展是增加几台服务器。 主从复制好比存了1000块钱在主上&…

如何在 PostgreSQL 中实现数据的去重操作,尤其是对于复杂的数据结构?

文章目录 一、基本数据类型的去重二、多列数据的去重三、复杂数据结构的去重(一)数组类型的去重(二)JSON 类型的去重(三)结构体类型(复合类型)的去重 四、使用 GROUP BY 进行去重五、…

102.二叉树的层序遍历——二叉树专题复习

迭代方式&#xff1a; class Solution {// 定义一个成员变量res来存储层序遍历的结果List<List<Integer>> res new ArrayList<>();// levelOrder方法是层序遍历的接口&#xff0c;它接受一个二叉树的根节点rootpublic List<List<Integer>> lev…

计组-测验题6

7.假设有7位信息码0110101&#xff0c;则低位增设偶校验位的代码和低位增设奇校验位后的代码分别是&#xff08;&#xff09; A.01101010 01101010 B.01101010 01101011 C.01101011 01101010 D.01101011 01101011 B 奇校验码&#xff1a;整个校验码&#xff08;有效信息位…

行内元素、块级元素居中

行内元素居中 水平居中 {text-align&#xff1a;center;}垂直居中 单行——行高等于盒子高度 <head><style>.father {width: 400px;height: 200px;/* 行高等于盒子高度&#xff1a;line-height: 200px; */line-height: 200px;background-color: pink;}.son {}&…