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

徹底理解GPT tokenizers

發(fā)布于 2024-7-17 10:12
瀏覽
0收藏

你可能已經(jīng)聽說過GPT這個(gè)詞,它是一種人工智能模型,可以生成各種各樣的文本,比如小說、詩歌、對話、新聞等等。GPT的全稱是Generative Pre-trained Transformer,意思是生成式預(yù)訓(xùn)練變換器。生成式表示它可以根據(jù)一些輸入(比如一個(gè)單詞或一句話)來創(chuàng)造新的內(nèi)容,預(yù)訓(xùn)練表示它在使用之前已經(jīng)在大量的文本數(shù)據(jù)上進(jìn)行了學(xué)習(xí),變換器表示它使用了一種叫做Transformer的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。

要理解GPT的工作原理,我們需要先了解一個(gè)重要的概念:token。token是文本的最小單位,可以是一個(gè)字母、一個(gè)單詞、一個(gè)標(biāo)點(diǎn)符號或者一個(gè)符號。比如,這句話:

Hello, world!

可以被分成五個(gè)token:

Hello , world !

GPT模型在處理文本時(shí),需要先把文本分割成token,然后把每個(gè)token轉(zhuǎn)換成一個(gè)數(shù)字,這個(gè)數(shù)字就代表了這個(gè)token的含義。這個(gè)數(shù)字叫做token ID。比如,我們可以用下面的表格來表示每個(gè)token和它對應(yīng)的token ID:

token

token ID

Hello

1

,

2

world

3

!

4

那么,這句話就可以被轉(zhuǎn)換成一個(gè)數(shù)字序列:

1 2 3 4

GPT模型就是通過學(xué)習(xí)大量的這樣的數(shù)字序列,來掌握文本的規(guī)律和語義。

然后,當(dāng)我們給它一個(gè)輸入(比如一個(gè)token ID或者一個(gè)數(shù)字序列),它就可以根據(jù)它學(xué)到的知識,來生成一個(gè)合理的輸出(比如一個(gè)新的token ID或者一個(gè)新的數(shù)字序列)。

但是,如果我們只用單個(gè)字母或單詞作為token,會有一些問題。首先,不同的語言有不同的詞匯量,有些語言可能有幾萬個(gè)單詞,有些語言可能有幾十萬甚至幾百萬個(gè)單詞。如果我們要給每個(gè)單詞分配一個(gè)唯一的token ID,那么我們需要很大的內(nèi)存空間來存儲這些ID。其次,有些單詞可能很少出現(xiàn)在文本中,或者有些單詞可能是新造出來的,比如一些專有名詞、縮寫、網(wǎng)絡(luò)用語等等。如果我們要讓GPT模型能夠處理這些單詞,那么我們需要不斷地更新我們的token ID表格,并且重新訓(xùn)練模型。

為了解決這些問題,GPT模型使用了一種叫做BPE(Byte Pair Encoding)的方法來分割文本。BPE是一種數(shù)據(jù)壓縮技術(shù),它可以把一段文本分割成更小的子單元(subword),這些子單元可以是單個(gè)字母、字母組合、部分單詞或完整單詞。

BPE的原理是基于統(tǒng)計(jì)頻率來合并最常見的字母對或子單元對。比如,如果我們有下面這四個(gè)單詞:

lowlowernewestwidest

我們可以先把它們分割成單個(gè)字母:

l o wl o w e rn e w e s tw i d e s t

然后,我們可以統(tǒng)計(jì)每個(gè)字母對出現(xiàn)的次數(shù),比如:

pair

count

l o

2

o w

2

w e

2

e r

1

n e

1

e w

1

w i

1

i d

1

d e

1

e s

1

s t

1

我們可以看到,l o,o w和w e都出現(xiàn)了兩次,是最常見的字母對。我們可以把它們合并成一個(gè)新的子單元,比如:

lowlow ern e westw i dest

這樣,我們就減少了一些token的數(shù)量。我們可以重復(fù)這個(gè)過程,直到達(dá)到我們想要的token的數(shù)量或者沒有更多的可合并的字母對。比如,我們可以繼續(xù)合并e r,n e,e w等等,得到:

lowlowernewestwidest

這樣,我們就把四個(gè)單詞分割成了六個(gè)子單元:

lowernewestwidest

這些子單元就是BPE的token。我們可以給它們分配token ID,比如:

token

token ID

low

5

er

6

new

7

est

8

wid

9

那么,這四個(gè)單詞就可以被轉(zhuǎn)換成下面的數(shù)字序列:

55 67 89 8

你可能會問,為什么要用BPE來分割文本呢?有什么好處呢?其實(shí),BPE有以下幾個(gè)優(yōu)點(diǎn):

  • 它可以減少token的數(shù)量,從而節(jié)省內(nèi)存空間和計(jì)算資源。
  • 它可以處理未知或罕見的單詞,只要把它們分割成已知的子單元就行了。比如,如果我們遇到一個(gè)新單詞lowerest,我們可以把它分割成low er est,然后用對應(yīng)的token ID表示它。
  • 它可以捕捉單詞的形態(tài)變化,比如復(fù)數(shù)、時(shí)態(tài)、派生等等。比如,如果我們遇到一個(gè)單詞lowering,我們可以把它分割成low er ing,然后用對應(yīng)的token ID表示它。這樣,GPT模型就可以學(xué)習(xí)到這個(gè)單詞和其他形式的關(guān)系。

當(dāng)然,BPE也有一些缺點(diǎn),比如:

  • 它可能會破壞一些有意義的子單元,比如把一個(gè)完整的單詞分割成兩個(gè)或多個(gè)部分。比如,如果我們遇到一個(gè)單詞tower,我們可能會把它分割成t ow er,而不是保留它作為一個(gè)整體。
  • 它可能會導(dǎo)致一些歧義或混淆,比如把兩個(gè)不同的單詞分割成相同的子單元序列。比如,如果我們遇到兩個(gè)單詞tow er和tower,我們可能會把它們都分割成t ow er,而不是區(qū)分它們。
  • 它可能會影響一些特殊的符號或標(biāo)記的處理,比如HTML標(biāo)簽、URL、郵箱地址等等。比如,如果我們遇到一個(gè)URLhttps://www.bing.com/, 我們可能會把它分割成多個(gè)子單元,比如:

https : / / www . bing . com /

這樣,可能會丟失一些原本的含義或格式。

所以,BPE并不是一種完美的方法,它只是一種權(quán)衡的方法,它在減少token數(shù)量和保留token含義之間尋找一個(gè)平衡點(diǎn)。不同的BPE方法可能會有不同的分割規(guī)則和結(jié)果,比如,我們可以設(shè)置一個(gè)最大的token數(shù)量,或者一個(gè)最小的合并頻率,來影響B(tài)PE的過程和輸出。

那么,GPT模型是如何使用BPE來分割文本的呢?實(shí)際上,GPT模型并不是直接使用BPE來分割文本,而是使用了一種叫做GPT-2 tokenizer的工具,這個(gè)工具是基于BPE的一種改進(jìn)版本。GPT-2 tokenizer有以下幾個(gè)特點(diǎn):

  • 它使用了Unicode編碼來表示每個(gè)字符,而不是ASCII編碼。這樣,它可以支持更多的語言和符號,比如中文、日文、阿拉伯文、表情符號等等。
  • 它使用了一個(gè)固定的token數(shù)量,即50257個(gè)。這個(gè)數(shù)字是根據(jù)GPT-2模型的輸入層的大小來確定的,每個(gè)輸入層可以容納50257個(gè)不同的token ID。
  • 它使用了一個(gè)預(yù)先訓(xùn)練好的BPE模型來分割文本,這個(gè)BPE模型是在一個(gè)大規(guī)模的文本數(shù)據(jù)集上訓(xùn)練得到的,它包含了各種各樣的文本類型和語言。

上手實(shí)踐

如果你想使用GPT-2 tokenizer來分割文本,你可以參考以下的步驟:

  • 首先,你需要安裝和導(dǎo)入transformers庫,這是一個(gè)提供了各種預(yù)訓(xùn)練模型和工具的開源庫12。
  • 然后,你需要從預(yù)訓(xùn)練的gpt2模型中加載tokenizer和model,你可以使用AutoTokenizer和GPT2DoubleHeadsModel類來實(shí)現(xiàn)這一功能12。
  • 接著,你需要給tokenizer添加一些特殊的token,比如[CLS]和[SEP],這些token可以幫助模型識別文本的開始和結(jié)束12。
  • 最后,你可以使用tokenizer的encode或encode_plus方法來把文本轉(zhuǎn)換成token ID的序列,并且使用model的forward方法來得到模型的輸出123。

下面是一個(gè)簡單的Python代碼示例:

# 導(dǎo)入transformers庫
from transformers import AutoTokenizer, GPT2DoubleHeadsModel
import torch

# 加載tokenizer和model
tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = GPT2DoubleHeadsModel.from_pretrained("gpt2")

# 添加特殊的token
num_added_tokens = tokenizer.add_special_tokens({"cls_token": "[CLS]", "sep_token": "[SEP]"})

# 分割文本
text = "Hello, my dog is cute"
inputs = tokenizer.encode_plus(text, add_special_tokens=True, return_tensors="pt")

# 得到模型的輸出
outputs = model(**inputs)
last_hidden_states = outputs.last_hidden_state

一旦您了解了令牌,GPT 工具生成文本的方式就會變得更加有意義。

特別是,觀看 GPT-4 將其輸出作為獨(dú)立令牌流式傳輸回很有趣(GPT-4 比 3.5 略慢,因此更容易看到發(fā)生了什么)。


徹底理解GPT tokenizers-AI.x社區(qū)

這是我得到的 - 使用我的 llm CLI 工具從 GPT-4 生成文本:llm -s 'Five names for a pet pelican' -4。

字典中不存在的“Pelly” 占用了多個(gè)token,而字典中存在的“Captain Gulliver”則能一次性輸出。

本文轉(zhuǎn)載自 ??AI小智??,作者: AI小智

標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
欧美性受xxxx白人性爽| 亚洲熟妇无码一区二区三区| 精品一区二区三区久久| 波多野结衣在线中文| 亚洲电影免费观看高清完整版在线| 妖精一区二区三区精品视频 | 亚洲精品乱码久久久久久黑人| 国产精选在线| 久久久久欧美| 欧美日韩国产一区二区| 夜夜春成人影院| 五月天激情视频在线观看| 久久在线精品| 男女男精品视频网| 成人高清网站| 91九色单男在线观看| 日韩欧美一区二区三区在线观看| 国产成人精品一区二区| 中日韩av电影| 牛牛精品成人免费视频| 男女无套免费网站| 91成人免费观看网站| 亚洲人成影院在线观看| 国产一区二区在线| 最新在线地址| 91在线短视频| 欧美日本韩国一区二区三区视频| 欧美国产91| 在线观看麻豆| 亚洲v国产v在线观看| 日韩电影免费在线观看中文字幕 | 岛国中文字幕在线| 亚洲综合欧美日韩| 一区二区国产精品视频| 久久婷婷色综合| 亚洲国产一区二区三区在线播放| 国产精品va在线观看视色| 中国黄色录像片| 欧美福利视频网站| 在线视频国产一区| 国产精品系列在线观看| www国产精品| 香港伦理在线| 国产黄视频在线| 国产日韩精品一区二区| 亚洲第一中文字幕在线观看| 国产农村妇女毛片精品久久麻豆| 综合久久综合| 国产精品麻豆成人av电影艾秋| 超碰在线电影| 996这里只有精品| 国产成人福利网站| 日韩精品中文字幕有码专区| 国产欧美一区二区精品久导航| 999久久久精品国产| xx欧美xxx| 成人午夜在线观看视频| 丰满人妻一区二区三区53号| 国产精品电影网站| 日韩中文字幕欧美| 在线播放亚洲一区| 亚洲午夜精品在线| 久久综合成人精品亚洲另类欧美| 精品白丝av| 国语产色综合| jazzjazz国产精品麻豆| 一二三四视频在线中文| 毛片网站在线观看| 制服丝袜影音先锋| 国产肉体ⅹxxx137大胆| 日本日本精品二区免费| 国产精品美女久久久久久免费| 国产亚洲日本欧美韩国| 日韩你懂的在线观看| 精品国产乱码久久久久久虫虫漫画 | 99久久人爽人人添人人澡| 丰满大乳少妇在线观看网站| 男人av在线| 国产在线高清视频| 欧美一级鲁丝片| 日韩人妻精品一区二区三区| 国产精品69久久| 国产suv精品一区二区三区88区| 久久在线观看视频| 国产亚洲在线播放| 日韩中文字幕在线观看| 91久久在线视频| 亚洲二区中文字幕| 亚洲国产伊人| 国产精品毛片在线| 久热re这里精品视频在线6| 欧美综合精品| 亚洲精品无码专区在线播放| 国产精品视频入口| 欧美成人免费观看| 日韩欧美aaaaaa| 一区二区三区在线视频观看58| 视频一区二区三区入口| 成人免费看片| 欧美中文字幕视频| 久久久久久久久久久成人| 亚洲男女性事视频| 欧美伊人精品成人久久综合97| 国产福利一区在线观看| 欧美日韩aaaaa| 麻豆久久久久久久| 国产精品久一| 美女永久在线网站| 日产精品一线二线三线芒果| 中文字幕日韩欧美| 亚洲国产一区二区视频| 国产精品嫩草99av在线| 欧洲精品久久久久毛片完整版| 国产高潮av| 欧美视频1区| 欧美激情亚洲综合一区| 日本大香伊一区二区三区| 国产真实乱偷精品视频免| 秋霞综合在线视频| 手机在线免费观看av| 一级片视频免费观看| 久久99久久精品国产| 久久影视电视剧免费网站清宫辞电视| 亚洲福利视频导航| 国产一区二区三区在线观看精品| 婷婷综合福利| 蜜桃成人365av| 成人亚洲一区二区三区| 亚洲精品一区二区三区av| 26uuu另类亚洲欧美日本一 | 精品无码久久久久国产| 中文亚洲视频在线| 欧美性猛交xxxx久久久| 成人免费毛片a| 伊人久久大香线蕉综合热线| 偷拍自拍亚洲| av激情在线| 黄页在线观看| 小泽玛利亚av在线| 超碰国产精品久久国产精品99| 精品国内自产拍在线观看| 欧美挠脚心视频网站| 国产精品久久久久久久久免费丝袜| 日韩高清中文字幕一区| 日韩精品不卡一区二区| 亚洲伊人精品酒店| 主播国产精品| 中文在线最新版天堂8| 日韩中文字幕三区| 日韩免费一区二区三区| 国产在线播放不卡| 久久久久久一区二区三区| 亚洲精品国产精品国产自| 欧美日韩在线视频首页| 久久久亚洲精品一区二区三区| 日韩激情一二三区| 欧美视频亚洲视频| 欧美久久综合网| 视频成人永久免费视频| 1区2区3区在线| 日本中文字幕视频在线| 中文字幕在线影院| 男女羞羞视频教学| 毛片一区二区三区四区| 久久久久亚洲av无码专区喷水| 国产一级二级三级精品| 国产精品18久久久久久首页狼| 久久国产精品影片| 在线观看精品国产视频| 欧美精品一区二区三区蜜桃| 在线视频一区二区三| 亚洲国产一区在线观看| 国产精品高潮呻吟| 久久精品一二三| 99久久国产免费看| 国产精品综合久久| 久久久久亚洲精品国产| 奇米影视亚洲色图| 懂色av一区二区三区四区五区| 成人性视频网站| 国产精品久久久久免费a∨| 熟女人妇 成熟妇女系列视频| 欧美亚日韩国产aⅴ精品中极品| 亚洲欧美日韩国产另类专区| 久久亚洲一区二区三区四区| 无圣光视频在线观看| 天天综合网91| 99精品偷自拍| 香蕉视频在线网站| 影音先锋久久| 欧美精品三级日韩久久| 日本精品在线播放| 99riav视频一区二区| 黄色成人在线网| 不卡的av影片| 女同一区二区免费aⅴ| 牛牛在线精品视频| 牛牛精品一区二区| 日韩网站中文字幕| 精品国产亚洲一区二区三区|