成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

優雅談大模型:Token與分詞方法

發布于 2024-12-25 12:22
瀏覽
0收藏

1.Token

在繼續前行之前,需要先停下來澄清下Token這個詞,以及如何將原始的語料轉化為Token,在細究背后的原理之后會更加優雅的理解大模型。任何的資訊都可以生成語料,而這些語料需要被機器理解以及供后續的模型訓練,那么最常見的做法是將一段文字先切片,然后一一對應的轉化為數字或者向量輸入模型。通常而言有三種類型的分詞法:基于單詞、字符以及子詞的分詞法。單詞和字符這里就不解釋,字詞法運用得最為廣泛,也是最為主流。字詞分詞法包含了BPE、WordPiece、Unigram等。GPT等主流大模型也是采用BPE的分詞法。

優雅談大模型:Token與分詞方法-AI.x社區圖片

優雅談大模型:Token與分詞方法-AI.x社區先從個列子開始以GPT-3.5為例,輸入“I must read lubanmochui, it's professional.”,下圖則表明整句話一共43個字符,按照不同的顏色塊被切分成13份(Token)。而且每個Token都有與之對應的id。然后輸入中文的時候,發現24個字符卻被切成了30個Token。

優雅談大模型:Token與分詞方法-AI.x社區

按照常識,中文不是應該一個字一個Token。因為這里舉的例子是GPT,一個多語言模型,它覆蓋了國際很多種語言。但是它并沒有特殊的針對中文做適配,因此它采用了一種辦法,將中文轉為unicode,然后在按照英文的體系去切分,所以會看到有些切塊是“?”的字符。其實這樣一來,整體效率降低了,而且代價巨大,畢竟收費是基于Token數。

2.分詞方法

BPE、WordPiece、SentencePiece等方法的技術專業性的詳細拆解后續可以參見??《大模型背后的基礎模型》??這個專欄。

優雅談大模型:Token與分詞方法-AI.x社區


各種分詞法對比,各種分詞法都是基于大的詞匯庫然后按照特定的算法進行學習切分。BPE是貪婪而且是確定的,SentencePiece是可以針對同一個字符串進行反復的抽樣。

BPE(Byte Pair Encoding)自于論文《Neural Machine Translation of Rare Words with Subword Units》。它是一種基于頻率的分詞方法,它從一個完整的詞匯表開始,迭代地合并出現頻率最高的字符對,直到預定的詞匯表規模。例如:“I love lubanmochui.” 使用BPE分詞法,首先將每個單詞分割成字符,然后合并最常見的字符對。也許“love”會變成“lo”和“ve”,因為“lo”和“ve”在整個語料庫中頻繁出現。英語中“un”、“est”、“less”也經常被單獨提煉出來。

WordPiece來至論文《Japanese and korean voice search》,和BPE一樣在合并字符時除了考慮出現的頻率,還考慮了合并后的token對整體語言模型的貢獻,某種意義是基于概率的分詞法。畢竟有些名詞,例如針對蔬菜名合并和切分的意義不大,保留詞匯的原始意義是最優的選擇。

SentencePiece來至論文《Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates》。它是谷歌推出的子詞開源工具包,其中集成了BPE、ULM子詞算法。除此之外,SentencePiece還能支持字符和詞級別的分詞。為了能夠處理多語言問題,SentencePiece將句子視為Unicode編碼序列,從而子詞算法不用依賴于語言的表示。

3.HuggingFace Tokenizer

HuggingFace(重量級的大模型社區)的介紹會放在后續,這里主要介紹下HuggingFace提供的Tokenizer的庫。在HuggingFace里面它對于輸入文本的處理流程(黃色部分)如下圖所示,粉色則為處理的輸出結果。

注意:

GPT, GPT-2, RoBERTa, BART, DeBERTa 等模型使用了 BPE,其中 GPT-2 使用了 byte-level BPE 。

BERT,DistilBERT,MobileBERT,Funnel Transformers,MPNET等模型使用了WordPiece。Hugging Face中的實現是基于已發表文獻的模擬。

AlBERT,T5,mBART,Big Bird,XLNet等模型使用了 Unigram。

  • Normalization:標準化步驟,包括一些常規清理,例如刪除不必要的空格、小寫、以及刪除重音符號
  • Pre-tokenization:tokenizer 不能單獨在原始文本上進行訓練。相反,我們首先需要將文本拆分為小的單元,例如單詞。這就是pre-tokenization 步驟。基于單詞的tokenizer可以簡單地基于空白和標點符號將原始文本拆分為單詞。這些詞將是tokenizer在訓練期間可以學習的子詞邊界
  • Model:執行tokenization從而生成token序列
  • Postprocessor:針對具體的任務插入special token,以及生成attention mask和token-type ID

本文轉載自 ??魯班模錘??,作者: 龐德公


收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 日韩欧美在线观看 | 美女一区二区在线观看 | 国产极品粉嫩美女呻吟在线看人 | 欧美一区二区三区大片 | 毛片综合| 91国内在线观看 | 成年人的视频免费观看 | 天天综合久久 | 久久国产精彩视频 | 爱爱视频网 | 亚洲精品第一国产综合野 | 欧美一级久久 | 91精品国产麻豆 | 日韩最新网站 | 亚洲成人一级 | 啪啪精品 | 99精品久久久 | 日韩视频在线播放 | 日韩www视频| 精品一二三| 一级午夜aaa免费看三区 | 午夜欧美日韩 | 亚洲五码在线 | 国产一区2区| 欧美一区二区三 | 中文字幕第三页 | 亚洲视频在线观看一区二区三区 | 99精品99| 成人特区| 国产一区2区 | 国内自拍视频在线观看 | 可以在线看的黄色网址 | 一区二区高清在线观看 | 久久久久国产精品午夜一区 | 成人综合一区 | 范冰冰一级做a爰片久久毛片 | 精品99爱视频在线观看 | 亚洲欧洲一区二区 | 日韩精品成人免费观看视频 | 欧美精品1区2区 | 国产高清精品在线 |