业界动态
大模型标记器 Tokenizer之Byte Pair Encoding (BPE) 算法详解与示例
2024-11-17 02:00

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (一

大模型标记器 Tokenizer之Byte Pair Encoding (BPE) 算法详解与示例

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (二

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (三

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (四

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (五

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (六

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (七

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (八

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (九

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (十) 构建安全的GenAI/LLMs核心技术解密之大模型对抗攻击(一

构建安全的GenAI/LLMs核心技术解密之大模型对抗攻击(二

构建安全的GenAI/LLMs核心技术解密之大模型对抗攻击(三

构建安全的GenAI/LLMs核心技术解密之大模型对抗攻击(四

构建安全的GenAI/LLMs核心技术解密之大模型对抗攻击(五

大模型标记器之Tokenizer可视化(GPT-4o

Byte Pair Encoding(BPE)是一种用于自然语言处理中的词汇编码技术,尤其在机器翻译领域中被广泛使用。BPE算法通过迭代合并训练语料中出现的字符对来构建词汇表,从而减少词汇表的大小并保持语言的连贯性。

  1. 初始化词汇表:将所有单独字符作为初始词汇表。
  2. 重复合并:选择训练语料中最常见的两个相邻符号,将它们合并为一个新的符号,并添加到词汇表中。
  3. 替换语料:在语料中将这对相邻符号替换为新合并的符号。
  4. 终止条件:直到完成k次合并。
 

本文将深入探讨字节对编码(Byte-Pair Encoding,BPE)的处理过程,从处理原始训练文本和预标记化到构建词汇表和标记化新文本。

标记化是自然语言处理(NLP)中的一项基本过程,它涉及将文本序列分解为更小、更易管理的单元,称为标记(tokens)。存在各种标记化方法,每种方法都有其独特的处理方式和应用场景

  • 单词标记化:这种方法根据分隔符将文本分解为单独的单词。它简单直接,但可能难以处理大量词汇。
  • 字符标记化:这种方法将文本分解为单个字符。尽管它大幅减少了词汇量,但经常无法捕捉到更长单词序列的语义含义。
  • 子词标记化:这种方法在单词和字符标记化之间取得了平衡。它将文本分解为子词,这些子词比单个字符大,但比整个单词小。原则上,这种方法保持频繁使用的单词的完整形式,但将不常见的单词分解为更有意义的子词。

字节对编码(BPE)是子词标记化的一个示例。在接下来的部分中,我们将深入探讨BPE的具体细节。

字节对编码最初在1994年作为一种简单的数据压缩技术被引入,通过迭代替换序列中最频繁出现的字节对来实现。它已经被改编用于自然语言处理,特别是用于标记化。在这里,BPE不是合并字节,而是合并频繁出现的字符或字符序列。

BPE依赖于一个预标记化步骤,该步骤首先将训练文本分割成单词。例如,考虑以下示例文本

“low low low low low lower lower newest newest newest newest newest newest widest widest widest”

预标记化可以像空格标记化一样简单,也可以是更高级的基于规则的方法。关键步骤是基于空格将文本分割成单词,并在每个单词后附加一个特殊的词尾符号‘_’。这个符号很重要,因为它标记了单词边界,防止算法将一个单词的结尾与另一个单词的开头混淆。

接下来,我们统计文本中每个唯一单词的频率。以我们的示例为例,我们将得到以下唯一单词及其相应频率的集合

(low_: 5, lower_: 2, newest_: 6, widest_: 3)

这个集合由BPE用来构建词汇表,我们将在下一部分讨论。

字节对编码由两个主要阶段组成

  • 词汇表构建:这个阶段采用单词集合及其频率,通过反复合并最频繁的字符对或标记对,逐步构建一组词汇表(标记)。
  • 标记化:这个阶段使用构建的词汇表和学习的合并规则来标记化新文本。它通过将新文本分解为词汇表构建阶段识别的标记来实现。

在接下来的部分中,我们将更详细地探讨每个阶段。

词汇表构建涉及以下步骤,使用从预标记化中获得的唯一单词及其频率集合

(low_: 5, lower_: 2, newest_: 6, widest_: 3)

  1. 基础词汇创建 从单词集合中创建包含所有唯一符号(字符)的基础词汇表

    vocabs = (l, o, w, e, r, n, s, t, i, d, _)

  2. 使用基础词汇表示单词 使用基础词汇表中的符号表示每个单词

    ((l, o, w, _): 5, (l, o, w, e, r, _): 2, (n, e, w, e, s, t, _): 6, (w, i, d, e, s, t, _): 3)

  3. 词汇合并 逐步合并最频繁的符号对

    合并1:合并最频繁的一对(e, s,出现9次(6+3,形成新合并的符号‘es’。更新词汇表并替换每一对(e, s)为‘es’

    vocabs = (l, o, w, e, r, n, s, t, i, d, _, es)

    ((l, o, w, _): 5, (l, o, w, e, r, _): 2, (n, e, w, es, t, _): 6, (w, i, d, es, t, _): 3)

    合并2:合并最频繁的一对(es, t,出现9次(6+3,形成新合并的符号‘est’。更新词汇表并替换每一对(es, t)为‘est’

    vocabs = (l, o, w, e, r, n, s, t, i, d, _, es, est)

    ((l, o, w, _): 5, (l, o, w, e, r, _): 2, (n, e, w, est, _): 6, (w, i, d, est, _): 3)

    合并3:合并最频繁的一对(est, ),出现9次(6+3,形成新合并的符号‘est’。更新词汇表并替换每一对(est, )为‘est

    vocabs = (l, o, w, e, r, n, s, t, i, d, , es, est, est)

    ((l, o, w, ): 5, (l, o, w, e, r, ): 2, (n, e, w, est): 6, (w, i, d, est): 3)

    合并4:合并最频繁的一对(l, o,出现7次(5+2,形成新合并的符号‘lo’。更新词汇表并替换每一对(l, o)为‘lo’

    vocabs = (l, o, w, e, r, n, s, t, i, d, , es, est, est, lo)

    ((lo, w, ): 5, (lo, w, e, r, ): 2, (n, e, w, est): 6, (w, i, d, est): 3)

    合并5:合并最频繁的一对(lo, w,出现7次(5+2,形成新合并的符号‘low’。更新词汇表并替换每一对(lo, w)为‘low’

    vocabs = (l, o, w, e, r, n, s, t, i, d, , es, est, est, lo, low)

    ((low, ): 5, (low, e, r, ): 2, (n, e, w, est): 6, (w, i, d, est): 3)

  4. 最终词汇表与合并规则 继续合并,直到达到所需的词汇表大小。在我们五次合并后,最终词汇表和合并规则将是

    vocabs = (l, o, w, e, r, n, s, t, i, d, , es, est, est, lo, low)

    (e, s) → es, (es, t) → est, (est, ) → est, (l, o) → lo, (lo, w) → low

字节对编码中的标记化过程使用构建的词汇表和学习的合并规则来标记化新文本。让我们标记化一个示例新文本

“newest binded lowers”

  1. 新文本的预标记化 类似于初始步骤,我们通过将新文本分割成单词并附加词尾符号‘_’来进行预标记化。预标记化后的文本是

    (newest_, binded_, lowers_)

  2. 应用合并规则 我们首先将预标记化后的文本分解为字符

    ((n, e, w, e, s, t, _), (b, i, n, d, e, d, _), (l, o, w, e, r, s, _))

    然后,我们按照学习的顺序应用合并规则。在我们的例子中,顺序是

    (e, s) → es, (es, t) → est, (est, ) → est, (l, o) → lo, (lo, w) → low

    应用合并规则 (e, s) → es: ((n, e, w, es, t, _), (b, i, n, d, e, d, _), (l, o, w, e, r, s, _))

    应用合并规则 (es, t) → est: ((n, e, w, est, _), (b, i, n, d, e, d, _), (l, o, w, e, r, s, _))

    应用合并规则 (est, ) → est: ((n, e, w, est_), (b, i, n, d, e, d, _), (l, o, w, e, r, s, _))

    应用合并规则 (l, o) → lo: ((n, e, w, est_), (b, i, n, d, e, d, _), (lo, w, e, r, s, _))

    应用合并规则 (lo, w) → low: ((n, e, w, est_), (b, i, n, d, e, d, _), (low, e, r, s, _))

    不在词汇表中的任何标记将被替换为未知标记“[UNK]”

    vocabs = (l, o, w, e, r, n, s, t, i, d, , es, est, est, lo, low)

    ((n, e, w, est_), ([UNK], i, n, d, e, d, _), (low, e, r, s, _))

  3. 标记化结果 新文本被标记化为以下序列

    “newest binded lowers” =

    [n, e, w, est_, [UNK], i, n, d, e, d, _, low, e, r, s, _]

    通过这个过程,BPE使用词汇表和合并规则有效地标记化新文本,包括使用未知标记处理未知单词或子词。

这里对字节对编码(BPE)算法的描述旨在清晰和理解。在实践中,BPE的实现可以比所描述的逐步方法优化得多。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

 

1、Llama开源模型家族大模型技术、工具和多模态详解:学员将深入了解meta Llama 3的创新之处,比如其在语言模型技术上的突破,并学习到如何在Llama 3中构建trust and safety AI。他们将详细了解Llama 3的五大技术分支及工具,以及如何在AWS上实战Llama指令微调的案例。 2、解密Llama 3 Foundation Model模型结构特色技术及代码实现:深入了解Llama 3中的各种技术,比如Tiktokenizer、KV Cache、Grouped Multi-Query Attention等。通过项目二逐行剖析Llama 3的源码,加深对技术的理解。 3、解密Llama 3 Foundation Model模型结构核心技术及代码实现:SwiGLU Activation Function、FeedForward Block、Encoder Block等。通过项目三学习Llama 3的推理及Inferencing代码,加强对技术的实践理解。 4、基于LangGraph on Llama 3构建Responsible AI实战体验:通过项目四在Llama 3上实战基于LangGraph的Responsible AI项目。他们将了解到LangGraph的三大核心组件、运行机制和流程步骤,从而加强对Responsible AI的实践能力。 5、Llama模型家族构建技术构建安全可信赖企业级AI应用内幕详解:深入了解构建安全可靠的企业级AI应用所需的关键技术,比如Code Llama、Llama Guard等。项目五实战构建安全可靠的对话智能项目升级版,加强对安全性的实践理解。 6、Llama模型家族Fine-tuning技术与算法实战:学员将学习Fine-tuning技术与算法,比如Supervised Fine-Tuning(SFT)、Reward Model技术、PPO算法、DPO算法等。项目六动手实现PPO及DPO算法,加强对算法的理解和应用能力。 7、Llama模型家族基于AI反馈的强化学习技术解密:深入学习Llama模型家族基于AI反馈的强化学习技术,比如RLAIF和RLHF。项目七实战基于RLAIF的Constitutional AI。 8、Llama 3中的DPO原理、算法、组件及具体实现及算法进阶:学习Llama 3中结合使用PPO和DPO算法,剖析DPO的原理和工作机制,详细解析DPO中的关键算法组件,并通过综合项目八从零开始动手实现和测试DPO算法,同时课程将解密DPO进阶技术Iterative DPO及IPO算法。 9、Llama模型家族Safety设计与实现:在这个模块中,学员将学习Llama模型家族的Safety设计与实现,比如Safety in Pretraining、Safety Fine-Tuning等。构建安全可靠的GenAI/LLMs项目开发。 10、Llama 3构建可信赖的企业私有安全大模型Responsible AI系统:构建可信赖的企业私有安全大模型Responsible AI系统,掌握Llama 3的Constitutional AI、Red Teaming。

    以上就是本篇文章【大模型标记器 Tokenizer之Byte Pair Encoding (BPE) 算法详解与示例】的全部内容了,欢迎阅览 ! 文章地址:http://sicmodule.glev.cn/news/9739.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 歌乐夫资讯移动站 http://sicmodule.glev.cn/mobile/ , 查看更多   
最新新闻
刘强东要求京东外卖利润不高于5%
IT之家4月15日消息,据新浪科技报道,近日京东创始人、董事会主席刘强东一段2024年(去年)内部讲话流出,其中显示刘强东声称“
特朗普又发疯了!前脚免了电子产品关税,后脚又说“没人能逃脱”
特朗普又发疯了!刚点完外卖,刷到这条消息,差点没把手里的奶茶喷出来。前脚刚宣布免关税,后脚立马转身来一句“没人能逃脱”,
关税战大反转,三大盟友集体“反水”,美国财长:这不是闹着玩的
当特朗普在社交媒体上疯狂刷屏俄乌战争时,一场关乎全球经济格局的博弈正在悄然改写剧本。13天的关税战,让美国的“纸老虎”真面
"玻璃大王"换人!曹德旺竟被福建同乡击败,他的名字鲜有人知
每当提及到中国玻璃的时候,我们想到最多的应该就是曹德旺了。毕竟在他的头顶拥有着众多的光环。不论是“玻璃大王”还是“中国首
曹德旺:当我悟透这6件事,父亲已经不在人世
曹德旺,大名鼎鼎的福耀集团董事长。然而,他自小却十分贫寒。“德旺”这个名字,是他伯父给取的,寓意是:“聪明又有德,必然兴
国内首饰金价格逼近1克700元,分析称金价长期易涨难跌
钛媒体App 3月30日消息,本周,国际金价四连涨,连创历史新高,国内黄金零售市场价格也“水涨船高”。今天,国内多家品牌金店的
《浪姐6》最爽名场面曝光: 62岁叶童怼房琪! 无论是情商人品还是业务能力, 叶童都赢麻了!
事后,房琪被网友指“低情商”,掉粉无数。事件发酵后,叶童在微博发表了下面这个回应,足见她的胸襟和坦率:镜头前银发飞扬的她
闪电评论|高校课堂禁用电子产品?应寻求“禁入”与“进入”的平衡点
近日,曲阜师范大学管理学院发布通知,要求学生在课堂上不得以任何理由使用手机、电脑等电子产品一事引发争议,支持者认为绝大多
高增长下,东鹏饮料难留股东“出走的决心”?
2022年11月以来,东鹏饮料包括董监高在内的重要股东合计减持公司约2780.35万股,减持金额超50亿元投资时间网、标点财经研究员 董
原创张国荣夸她是天才,与初恋相知相爱41年,丈夫出轨8次却依然原谅
“叶童真的好奇怪,你怎样看她都不是一个非常非常漂亮的女人,但是你怎么样看她都是一个非常非常漂亮的女人。” 阅女无数的倪匡