2分鐘入門篇-什麼是AI模型?

大难不死的男孩 2024-07-30 08:44 19次浏览 0 条评论 taohigo.com

這篇是

的後續,如果你還沒有看過前一篇的話,推薦你先去看。

上一篇我們用瞭最簡單的詞語,介紹AI是如何生成文字的。上文中用到的詞語如下圖所示:

我故意沒有用任何專業術語,因為引入任何一個概念,都增加瞭理解的難度,我想把復雜的概念用最直白的語言表達出來。

如果你對AI稍微有些瞭解,聽過一些AI方面的概念,比如說參數、模型、算法、訓練等等,我希望延續上一篇的類比,幫你理解這些“大詞”的含義。

什麼是模型?

模型就是參數+架構。先說什麼是參數,上文中說到,

這裡面一億個旋鈕,就可以理解成為模型的參數。

什麼是架構?架構是上文中沒有提到的一個概念,就是說這些旋鈕並不是一字排開的,他們分成很多層,不同層級的旋鈕之間有很多連接。這些層級和關聯關系就組成瞭架構。比如說同樣的十個旋鈕,下圖中左右兩側的架構是不同的。在參數量(旋鈕的數量)和參數值(旋鈕的刻度)一樣的情況下,架構不同,也會產生完全不同的效果。

架構和參數同等重要,共同組成瞭模型。

訓練過程和推理過程

人工智能的應用一般分成兩個部分,訓練過程和推理過程。上文中提到的針對大量的句子,進行猜詞、看答案、算分、調節旋鈕的過程就是訓練過程。這些用於訓練階段的數據就是訓練數據。

訓練過程中,模型的架構不變,而其中的參數的數值(旋鈕的刻度)在不斷調整。

推理,就是把已經訓練好的模型,用於新數據,來生成文字的過程。在推理過程中,因為我們隻知道前半句,後半句是我們要生成的,我們並沒有“原文”,也就不存在看答案、算分、調節旋鈕的過程。到瞭推理過程的模型,其中的參數是不再改變的。上文中不斷猜詞的過程就是推理過程。

什麼是算法?

算法是用來定義整個訓練過程的,包括模型結構和其它的處理細節,常見的GPT3、BERT等等都是算法。算法負責的事情包括:

  • 模型有多少層,每一層的旋鈕是怎麼連接的?
  • 猜詞的時候,如何定義一個詞?“翻開瞭第七章”,那“翻開”是一個詞,還是“翻”、“開”是兩個詞?
  • 分數是怎麼算的,答對加多少分,答錯扣多少分?
  • 如何根據分數調節旋鈕,往左調還是往右調,每次調多少?
  • … …

什麼是微調(Fine tuning)?

目前最先進的文字生成模型,有大概1750億個參數(旋鈕),在訓練的時候,需要48臺最好的服務器,384塊最好的顯卡。訓練數據來自於互聯網,有1.5TB,包含3500億個單詞。整個訓練耗時3.5個月,光訓練成本就需要幾百萬美元(見註一)。

這麼大的模型,每一傢機構都要自己訓練一個嗎?不需要,成本太高,也沒有必要。但是每一個機構都有自己的專業術語,或者獨特表達,比如說法律、金融、醫療等等,原始數據中根本不存在或者數量很少。某一個領域的內容,機器看的少,學的就不好。從頭開始訓練成本太高,而不訓練效果又不好,怎麼辦?

這就是微調技術解決的問題,它可以把別人訓練好的超大模型拿來(這樣的模型又被稱為基礎模型,或者大規模預訓練模型),用自己的數據對參數做持續的優化,結果就是,既有通順連貫的表達,又有領域知識,一舉兩得。

這也變成瞭今天文字生成領域的常見方案,通過別人訓練好的千億模型,配合自己的領域數據做微調,最終實現在自己專業領域內的最佳效果。

結尾

總結一下,今天主要介紹AI領域的一些概念,包括模型、參數、架構、(模型)訓練過程、訓練數據、(模型)推理過程、微調技術,如果你看到這裡,恭喜你,已經打敗瞭99.1%的人瞭,希望你再接再厲。

參考:

1. The Technology Behind BLOOM Training

https://huggingface.co/blog/bloom-megatron-deepspeed

2. Stanford CS224n: Natural Language Processing with Deep Learning

https://www.bilibili.com/video/av252678062/