【以下內(nèi)容是基于公開資料的個人理解,歡迎探討交流。】 伴隨大語言模型的火熱流行,有個技術(shù)名詞:token經(jīng)常被提及,各個公開的大模型網(wǎng)站也以token數(shù)量作為計(jì)費(fèi)單位。那么,什么是token,與計(jì)算機(jī)中的二進(jìn)制有什么區(qū)別呢。 首先,讓大模型自己解釋,通過對市面上主流的3個大模型提問:大模型中的token是什么意思。得到以下答案: 1、平臺1: 2、平臺2: 3、平臺3: 從上面的問答中可以看出來,token是針對文本而言的,是大模型的最小單位,形式是單詞、字、標(biāo)點(diǎn)符號,其實(shí)就是大家看到的各種信息的組成,在英文中,1個token是1個單詞;在中文中,由于中文的組詞形式比較復(fù)雜,1個token可以是一組詞、1個字。大模型在訓(xùn)練的時候根據(jù)訓(xùn)練數(shù)據(jù)集進(jìn)行切分,構(gòu)建一個龐大的詞表,給每一個詞一個唯一的編號,而這個詞表的規(guī)模就是大模型的參數(shù)量,目前最大參數(shù)已經(jīng)達(dá)到千億規(guī)模。說到這里,可能有人就問了,中文還好說,英文中單詞有不同時態(tài),那同一個單詞的不同時態(tài)是1個編號還是各自一個呢,其實(shí)不同模型對這種情況處理方式不一樣,有些模型會將單詞進(jìn)行切分,形成子詞級別的token。例如,將單詞"goes"分解成"go"和"es",“walked"分解成"walk"和"ed”。這樣的子詞級別的token可以更好地處理詞形變化和詞根的變化,提高模型的泛化能力。在大模型訓(xùn)練的過程中,模型將訓(xùn)練數(shù)據(jù)集中的數(shù)據(jù)切分為token,學(xué)習(xí)不同token的關(guān)系和上下文,并進(jìn)行泛化,在進(jìn)行推理的時候,就基于學(xué)習(xí)的能力進(jìn)行回答。 在中文中,1個token大約相當(dāng)于1.5個漢字,英文中1個token約等于4個字母。不同語種切分方式也大不相同。那么相比于計(jì)算機(jī)底層的二進(jìn)制又有什么區(qū)別呢。大家都知道,計(jì)算機(jī)在硬盤和內(nèi)存中存儲數(shù)據(jù)是二進(jìn)制形式,使用二進(jìn)制存儲是為了簡化數(shù)據(jù)存儲和信號傳輸。但是對于大語言模型而言,它其實(shí)屬于應(yīng)用層面,如果使用二進(jìn)制不利于內(nèi)容理解,采用token的形式進(jìn)行單詞和字級別的拆分,更加有利于模型理解內(nèi)容,也與人類理解文字的方式相同,這樣可以參考人類思考問題的方式去訓(xùn)練模型,提升模型的問答能力,將龐大的知識積累塞進(jìn)大模型的大腦中,輔助人類進(jìn)行知識查詢、問題推理、跨語種翻譯等復(fù)雜的問題。 |
|