国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

從2019年到現在,是時候重新審視Tokenization了

人工智能
tokenization 對語言模型中的算術性能有顯著影響。通過仔細選擇,我們可以根據問題類型優化 tokenization 策略,從而提高 LLM 在數學任務上的表現。

2019 年問世的 GPT-2,其 tokenizer 使用了 BPE 算法,這種算法至今仍很常見,但這種方式是最優的嗎?來自 HuggingFace 的一篇文章給出了解釋。

「9.9 和 9.11 到底哪個大?」這個問題一度難壞了各家大模型。

關于模型為什么會答錯,研究人員給出了各種猜測,包括預訓練數據的構成和模型架構本身。

在一篇新博客中,來自 HuggingFace 的研究者討論了可能造成這一問題的原因之一 ——tokenization,并重點分析了它如何影響模型的數學能力,尤其是算術能力。

回顧 Tokenization

早在 2019 年,GPT-2 論文就詳細介紹了將 BPE(byte-pair encoding)用于語言模型的 tokenization 方法。此方法的工作原理是將頻繁出現的子詞合并為單個單元,直到詞匯量達到目標大小。

然而,這種做法生成的詞匯表在很大程度上取決于輸入到 tokenizer 中的訓練數據,從而導致了在數字編碼方式上的不一致性。例如,在訓練數據中常見的數字(例如 1-100、1943 年這樣的表示)很可能被表示為單個 token,而較少見到的數字則被拆分成多個 token,如下所示:

圖片

四年后,Llama 系列來了!Llama 和 Llama 2 使用 SentencePiece (一個用于基于文本生成的無監督文本 tokenizer )的 BPE 實現,并對數字進行了顯著的調整:它們將所有數字拆分為單個數字。這意味著只有 10 個唯一 token(0-9)來表示任何數字,從而簡化了 LLM 的數字表示。Deepseek 后來發布了一個模型 (DeepSeek-V2),它有一個類似的單位數(single-digit)的 tokenizer 。

后來,Llama 3 采用了不同的方法來處理數字,將它們 tokenizing 為三位數。因此,從 1 到 999 的數字每個數都有唯一的 token,而從 1000 開始的數字由這些 token 組成。

一個新的范式:從右到左的 Tokenization

到目前為止,我們所看到的 tokenization 方法都是從左到右處理文本的。例如,如果三位數字的分詞法遇到序列 12345,它將從開頭掃描,將其分解為 123 和 45 這樣的片段。

與從左到右(L2R)的分詞方法不同,從右到左(R2L)的分詞方法以三個字符為一組,從文本的末尾開始向開頭處理。使用 R2L 分詞,序列 12345 將通過從右側掃描進行分詞,首先分割出 345,然后再處理 12。最近,一些前沿的閉源模型也在探索使用這種 R2L 分詞方法,這已經被證明對某些算術運算有益,因為 R2L 表示可以防止操作數的錯位。還有傳言稱 Claude 使用了這種 R2L 分詞方法。

為了更好地理解錯位是什么樣子的,讓我們以 3789 + 8791 為例:

圖片

如上所示,在三位數從左到右(L2R)的例子中,9 + 1 應該映射到數字 0,但實際上卻與 8 組合在一起形成了 80,因為前面的三個 token(125)已經被分在一起了。tokenization 邊界的偏移在學習過程中引入了額外的復雜性,已經證明準確性是有害的。

而在從右到左(R2L)的例子中,數字 580 和對應的子操作數 789 和 791 很好地對齊了。

以下是用于處理數字 tokenization 的技術概述:

圖片

不同方法的比較

該研究旨在比較多個 tokenizer 以及它們處理數字的不同方式,以盡量減少模型架構、訓練配置和預訓練數據等外部因素在評估結果中的影響。因此,每個模型之間唯一的區別應該是 tokenizer。

實驗選擇了 3 種 tokenizer,分別是 GPT-2 的 BPE tokenizer、Llama 3 的三位數 tokenizer(three-digit tokenizer)和 Deepseek 的單位數 tokenizer(single-digit tokenizer)。

from transformers import AutoTokenizer
from tokenizers import pre_tokenizers, Regex

# Initialize all tokenizers
tokenizer = AutoTokenizer.from_pretrained ("meta-llama/Meta-Llama-3-8B")

# Add an extra step to the existing pre-tokenizer steps
tokenizer._tokenizer.pre_tokenizer = pre_tokenizers.Sequence (
            [
                # Added step: split by R2L digits
                pre_tokenizers.Split (pattern = Regex (r"\d {1,3}(?=(\d {3})*\b)"), 
                  behavior="isolated", invert = False),
                # Below: Existing steps from Llama 3's tokenizer
                pre_tokenizers.Split (pattern=Regex (r"(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\r\n\p {L}\p {N}]?\p {L}+|\p {N}{1,3}| ?[^\s\p {L}\p {N}]+[\r\n]*|\s*[\r\n]+|\s+(?!\S)|\s+"), 
                  behavior="isolated", invert=False), 
                pre_tokenizers.ByteLevel (add_prefix_space=False, trim_offsets=True, use_regex=False)
            ]
        )

print (tokenizer.tokenize ("42069")) # [42, 069]

訓練模型使用了原始的 Llama 架構,此外,該研究還調整了隱藏層的數量,以確保每個模型大致具有相同數量的參數(約 14.5 億)。

圖片

為了保持恒定的計算預算,本文減少了具有更大詞匯表模型中的隱藏層數量。

結果

算術問題

如下圖所示,單位數 tokenization 優于其他 tokenizer 方法。

圖片

圖片

圖片

結果顯示,雖然在較簡單的問題上差異不太明顯,但隨著問題復雜性的增加,表現最佳的 tokenizer(單位數分詞)與其他 tokenizer 之間的差距越來越大。這表明單位數分詞對于輸入數據長度的變化更為魯棒,并且能夠更好地捕捉復雜的模式,從而在其他分詞方法難以應對的場景中提升性能。

此外,本文還發現浮點數和整數之間的性能差距在所有 tokenizer 中都是相似的。這表明在這兩個類別中選擇 tokenizer 時,并不存在固有的權衡,即對于整數最優的 tokenizer 對于浮點數也是最優的。

如下圖所示,三位數 R2L tokenization 比標準三位數 L2R tokenization 具有更好的性能。

圖片

本文發現,與使用默認 L2R token 數據進行訓練相比,使用 R2L token 數據進行訓練的模型取得了顯著的改進(乘法除外)。這表明,與典型的從左到右編碼相比,它是算術運算的最佳設置。

當數字被從右向左每 3 位一組進行分塊時,Pure-BPE(Byte Pair Encoding)tokenizer 顯示出不一致的性能。

圖片

顯然,沒有任何額外數字預處理的純基于 BPE 的 tokenizer 不會從使用 R2L token 化中受益。一個可能的解釋是,這些 tokenizer 中數字分組的方式缺乏結構。

基于單詞的問題

圖片

雖然在基于單詞的問題上,不同 tokenizer 之間的性能差距不太明顯,但本文觀察到單位數 tokenizer 和三位數 tokenizer 通常優于基于 BPE 的 tokenizer。這表明,無論是單詞問題還是數字問題,這種趨勢都是一致的。

Llama 3 R2L 推理

接下來本文進行了另一項測試,即現有的預訓練 / 指令模型在接受與最初訓練方案不同的 token 化方案時表現如何,而無需重新訓練或微調。因此,本文基于 Llama3 8B Instruct 模型,并使用上述相同的代碼修改其 tokenizer,以在推理期間執行 R2L tokenization,而無需重新訓練新模型。

在三位數 tokenization 方案中進行兩個數相加需要注意的是:結果有時會產生比輸入數字更多的 token。例如將 999 和 111 相加時,它們單獨只需要一個 token,但是當它們相加產生 1110 時,需要兩個 token(1 和 110)。基于這個觀察,本文想探索在使用 L2R 和 R2L tokenization 對不同的 token 長度執行加法時,會產生多大的差異。

接下來,本文將把導致額外 token 的加法稱為進位(carry)加法,而那些沒有進位的加法稱為無進位(without carry)加法。

本文用 Llama3 8B Instruct 執行了不同數字長度和進位設置的算術任務。結果發現,減法、乘法或除法沒有任何顯著的性能差異,因此結果只展示了加法。

圖片

對于非進位加法,數字個數為 3 的倍數會產生完全相同的結果,因為像 528、491 這樣的數字無論 token 化方向如何都具有相同的 token。

圖片

哪種 tokenization 方法適合數學

雖然 BPE 仍然是一種流行的 tokenization 方法,但如果你必須使用具有最多 3 位數的 tokenizer,請確保數據 token 方向為 R2L。

如果你已經有一個經過訓練的模型,數據 token 方式為 L2R,那么你可以通過使用 R2L 來獲得更好的數學性能。

最重要的是,對于算術運算,單位數 tokenization 的性能明顯優于其他方法。

圖片

總結而言,tokenization 對語言模型中的算術性能有顯著影響。通過仔細選擇,我們可以根據問題類型優化 tokenization 策略,從而提高 LLM 在數學任務上的表現。

原文鏈接:https://huggingface.co/spaces/huggingface/number-tokenization-blog。

責任編輯:姜華 來源: 機器之心
相關推薦

2020-11-18 10:21:36

存儲混合存儲

2020-06-12 10:27:08

云計算疫情IT

2020-06-07 16:43:36

云計算IT云遷移

2020-03-10 14:35:29

容器云計算發展

2024-07-05 15:42:54

2010-02-26 10:43:48

Windows CE

2016-10-26 08:49:38

2012-02-28 15:53:33

2020-10-12 10:53:09

數據中心

2019-09-02 08:53:46

程序員

2015-11-12 10:12:53

2022-06-29 13:46:50

元宇宙Web 3.0

2023-11-03 18:00:18

2023-12-13 16:28:02

2018-12-10 08:18:22

2021-11-19 14:56:13

邊緣計算

2019-03-15 14:30:16

云計算數據IT管理

2022-11-23 16:14:29

5G運營商

2017-07-10 13:46:32

PC市場匠心

2019-12-09 10:18:45

區塊鏈預言比特幣
點贊
收藏

51CTO技術棧公眾號

国产精品三级一区二区| 凹凸成人在线| 日本欧美一区二区三区乱码| 日韩午夜在线播放| 国产国语刺激对白av不卡| 中文字幕系列一区| 亚洲天堂第一页| 亚洲国产精品久久久久婷蜜芽| 国产乱对白刺激视频不卡| 国产综合精品一区二区三区| 秋霞一区二区| 亚洲欧美www| 爱搞国产精品| 亚洲精品理论电影| 在线观看午夜看亚太视频| 国产精品主播直播| 国产伦精品一区二区三区视频免费 | 五月天综合网| 国产午夜精品视频一区二区三区| 国产精品xvideos88| 国产精品大片wwwwww| 日韩精品―中文字幕| 日韩精品三区四区| 7777精品久久久大香线蕉小说| 成人噜噜噜噜| 精品一区久久久久久| 精品一区二区免费看| av免费观看久久| 美日韩黄色大片| 欧美在线色视频| 亚洲新中文字幕| ccyy激情综合| 青青久久av北条麻妃黑人| 裤袜国产欧美精品一区| 在线影院国内精品| 北条麻妃在线| 日韩午夜在线观看| 嫩草一区二区三区| 国产亚洲二区| 亚洲欧美卡通另类91av| 国产精品久久久久77777| 欧美gayvideo| 男人日女人逼逼| 国产高清久久久| 999精彩视频| 国产嫩草影院久久久久| 福利视频一区二区三区| 欧美电影在线观看网站| 国产福利一区视频| 午夜激情在线| 国产精品视频你懂的| 久久久免费电影| av色综合久久天堂av色综合在| 色综合久久久久久久久久久| 日本福利专区在线观看| 色天天综合狠狠色| 136福利精品导航| 国产一区红桃视频| 亚洲高清资源在线观看| 91精品久久久久久久久| 亚洲地区一二三色| 成人亚洲一区二区| 国产高潮免费视频| 色琪琪一区二区三区亚洲区| 99久久久国产| 日韩成人av网站| 视频在线观看一区二区三区| 精品日本一区二区三区在线观看| 国产91足控脚交在线观看| 日韩欧美一区电影| 欧美综合在线视频观看| 国产精品免费成人| 99国产精品久久久久久久久久久| 艹b视频在线观看| 51精品视频一区二区三区| 日本午夜免费一区二区| 欧美尤物巨大精品爽| 污网站视频在线观看| 国产精品视频999| 国产在线精品一区二区不卡了| 无人在线观看的免费高清视频| 色一区在线观看| 精品视频一区二区三区在线观看| 国产精品一 二 三| 久久久久亚洲蜜桃| 日韩久久在线| 一区二区三区天堂av| 亚洲欧美日韩国产yyy| 亚洲精品免费在线| 国产激情在线播放| 久久成人av网站| 在线亚洲激情| 黄色一级视频网站| 美女999久久久精品视频| 午夜精品在线视频一区| 日本精品在线| 99久久久精品| 中文日韩欧美| 电影在线高清| 91免费看网站| 色哟哟国产精品免费观看| 日韩经典一区| 91看片就是不一样| 欧美一级欧美一级在线播放| 极品少妇xxxx偷拍精品少妇| 韩国成人二区| 超碰超碰超碰超碰超碰| 亚洲最新视频在线| 欧美久久久久久久久中文字幕| 免费一区视频| av资源在线看片| 熟女少妇在线视频播放| 欧美大胆在线视频| 欧美日韩中文字幕在线视频| 小处雏高清一区二区三区| av电影在线网| 欧美日韩国产二区| 久久一区二区中文字幕| 亚洲美女尤物影院| 亚洲free性xxxx护士白浆| 亚洲午夜激情av| 久久久久久久久国产一区| 你懂的视频在线| 日韩精品免费在线视频观看| 97在线超碰| 97精品国产97久久久久久免费| 久久夜色电影| 四虎影视永久免费在线观看一区二区三区 | 成人av福利| 综合网中文字幕| 中文字幕久热精品在线视频| 欧美搞黄网站| av日韩一区二区三区| 午夜一区二区三区| 国产成人一区二区三区免费看| 18成人在线| 国产精品999视频| 91大神在线网站| 久久综合亚州| 中文字幕一区日韩精品欧美| 亚洲电影在线观看| 青青草国产免费| aa级大片免费在线观看| 亚洲无线观看| 超碰国产精品一区二页| 永久亚洲成a人片777777| 爽好多水快深点欧美视频| 日韩精品亚洲一区| 国产成人免费高清| 国产精品性做久久久久久| 香蕉久久夜色精品国产| 欧美亚洲免费| 永久免费毛片在线播放| 国产三级精品三级在线观看国产| 久久91精品| 秋霞蜜臀av久久电影网免费| 欧美影院三区| 在线综合亚洲| 99国产麻豆精品| 亚洲精品大片www| 国产尤物一区二区在线| 欧美一区二区三区视频在线观看| 亚洲一区国产精品| 亚洲欧美一区二区三区| 成人动漫精品一区二区| www.国产精品一二区| www.99热.com| 天天天综合网| 欧美日韩午夜在线| 日韩最新中文字幕| 在线免费av电影| 美女视频黄免费的久久| 在线观看中文字幕亚洲| 在线看的黄色网址| 中文字幕一区二区三区在线视频| 日韩成人av在线播放| 成人亚洲精品777777大片| 免费成人网www| 欧美在线综合视频| 2025韩国大尺度电影| 日韩中文字幕无砖| 欧美精品亚洲二区| 午夜肉伦伦影院| 欧美成人首页| 亚洲一区中文字幕在线观看| 精品亚洲二区| 在线免费观看日本欧美| 亚洲精品一区二区三区av| 成人免费网站www网站高清| 成人国产亚洲欧美成人综合网| 日韩免费观看视频| 欧美尤物美女在线| 91在线精品一区二区三区| 色婷婷综合成人av| 国产www.大片在线| 久久99国产精品成人| 99在线免费观看视频| 成人h动漫免费观看网站| 国产欧美综合在线| 欧美不卡一区二区三区|