你們有沒有想過,像那些聊天機器人或者無所不能的AI大語言模型,它們是怎么看懂我們寫的字,聽懂我們說的話呢?它們又不認識漢字,也不會說中文,這到底是怎么做到的呢?

給每個詞一個“秘密代號”

想象一下,我們要教電腦認識小動物。我們不能直接給它看圖片,得用一種它能懂的語言——數字!

我們可以給每個小動物打分,比如:

? 毛茸茸指數(1分代表不太毛茸茸,10分代表超級毛茸茸)

? 汪汪叫指數(1分代表不叫,10分代表很會汪汪叫)

? 抓老鼠指數(1分代表不抓,10分代表抓老鼠高手)

那么,“小狗”可能會得到這樣的分數:毛茸茸指數 7分,汪汪叫指數 9分,抓老鼠指數 2分。我們可以把這叫做小狗的“秘密代號”:(7, 9, 2)。

“小貓”呢?可能就是:毛茸茸指數 8分,汪汪叫指數 1分,抓老鼠指數 9分。小貓的秘密代號就是:(8, 1, 9)。

你看,“小狗”和“小貓”的秘密代號就不一樣。而且,通過比較這些數字,電腦就能“感覺”到它們的不同:哦,一個喜歡汪汪叫,一個擅長抓老鼠!

超級多的“秘密代號”!

剛才我們只用了3個數字來代表小動物。但對于我們人類語言里的每一個詞,比如“開心”、“學習”、“天空”、“香蕉”…… 大模型會用超級超級多的數字來給它們“秘密代號”!不是3個,也不是10個,可能是幾千個,甚至上萬個數字!

在GPT-1 里,每個詞用了 768 個數字來表示。在 GPT-3 里,每個詞用的是 12288 個數。在 DeepSeekV3 模型里,用的是 7168 個數來表示每個詞。

這么多數字,就像給每個詞畫了一張超級詳細的“畫像”。電腦雖然看不懂“開心”這兩個字,但它能記住“開心”對應的幾千個數字代號。

“詞嵌入”:把詞語放進“數字空間”

科學家們給這種用一大堆數字代表一個詞的方法,起了一個酷酷的名字,叫做“詞嵌入”,英文叫 Embedding。

“嵌入”是啥意思呢?想象一下我們剛才給小動物打分,如果只用兩個分數(比如“毛茸茸指數”和“汪汪叫指數”),我們是不是可以在一張紙上(一個二維平面)畫一個點來代表“小狗”,再畫一個點代表“小貓”?

? 小狗:(毛茸茸7分,汪汪叫9分) -> 在紙上的某個點

? 小貓:(毛茸茸8分,汪汪叫1分) -> 在紙上的另一個點

這就好像把“小狗”和“小貓”這兩個詞,“嵌”入到了這張紙里。

如果用三個分數呢?就像長、寬、高,我們就可以在一個立體空間(比如一個大箱子)里找到一個點來代表它。

而大模型用幾千、上萬個數字代表一個詞,就等于把這個詞“嵌”入到了一個超級復雜、我們想象不出來的“高維空間”里!雖然我們畫不出來,但在數學上,它是存在的。

數字怎么來的?電腦自己“學”!

那這些代表詞語的數字(秘密代號)是怎么定下來的呢?是人一個個設置的嗎?當然不是,那太累啦!

大模型在“學習”(訓練)的時候,會閱讀超級多的文字,比如圖書館里所有的書、網上所有的文章。它會觀察哪些詞經常一起出現,哪些詞意思比較像。

一開始,所有詞的數字代號都是亂七八糟的。但通過不斷閱讀和學習,大模型會慢慢調整這些數字,就像整理房間一樣,把意思相近的詞,它們的“秘密代號”變得也更接近。比如,“高興”和“快樂”的秘密代號會很像,它們在那個“數字空間”里的位置也會靠得很近。而“高興”和“桌子”的秘密代號就會差很遠。

一詞多義怎么辦?看“鄰居”!

我們知道,有的詞有好幾個意思,比如“球”,可以指籃球、足球,也可以指地球。電腦怎么知道我們說的是哪個“球”呢?

別擔心!當一個詞和其他詞一起出現時,這些“鄰居”詞會給它線索。

? 如果你說“踢球”,旁邊的“踢”這個詞的秘密代號,就會和“球”的秘密代號發生一種奇妙的“化學反應”(其實是數學計算),讓“球”的代號更偏向“足球”或“籃球”的意思。

? 如果你說“地球”,旁邊的“地”字就會讓“球”的代號指向我們居住的這個星球。

所以,詞語的秘密代號不是一成不變的,它會根據上下文,也就是旁邊的“鄰居”詞,進行微小的調整,變得更準確!

總結一下

所以,大模型理解文字的秘密武器就是:

(1)給每個詞一大串數字作為“秘密代號”(詞嵌入)。

(2)這些數字能表示詞語的意思和它們之間的關系。

(3)意思相近的詞,它們的“秘密代號”也相近。

(4)電腦通過閱讀海量文字,自己學會怎么給詞語定這些代號。

(5)通過詞語旁邊的“鄰居”詞,電腦能判斷一個詞在當前語境下的準確意思。

是不是很有趣?電腦用這種我們看起來有點“笨”的數學方法,竟然就能處理我們復雜又美妙的語言啦!這背后其實是很多聰明的數學和計算在幫忙哦!

供稿單位:重慶市無線電科普體驗中心
審核專家:張啟義
聲明:除原創內容及特別說明之外,部分圖片來源網絡,非商業用途,僅作為科普傳播素材,版權歸原作者所有,若有侵權,請聯系刪除。

來源: 重慶市科學技術協會

內容資源由項目單位提供