我蠻常轉貼人工智慧相關應用的消息,但從來沒轉貼過各式大型語言模型的比較,從有GPT 3.5到開始有其它競爭者的加入,紛紛看到許多模型的比較。然而我不想做這些模型的比較並非沒有興趣,而是因為做這類比較對觀察競爭者的實際表現並沒有太大幫助。
在過去不到兩年的時間裡,首先是GPT 3.5的推出,隨後LLaMA接踵而至。接著,GPT4o問世,幾個月後X Grok AI也推出了自己的模型。到了去年年中,亞馬遜釋出消息,並在AWS re:Invent活動中正式推出了他們的Bedrock AI。就像之前幾篇提到的,雖然 OpenAI 的 Sora 在生成影像方面略遜於 Google 的 Veo2,但除了訓練內容外,最終兩者的能力差距應該會逐漸縮小,並達到一個相似的水準。
我離開學術界也有15年,以前在碩士剛好就是做人工智慧,也發表過SCI國際期刊。不過當時的人工智慧研究和現在相差甚遠,且幾乎沒有相關工作。如今人工智慧的飛速發展,主要是10年前大數據的興起、深度學習技術的突破,以及學術界廣泛採用輝達GPU取代CPU進行運算。相比CPU,GPU具備強大的平行計算能力,特別適合神經網路訓練和推理的需求。
先簡單談談我人對工智慧的理解,以前古典人工智慧的研究相對比現在單純,因為之前沒有太多的數據做標籤,能夠用的大多都是國外學術單位已經處理好的資料,省下處理訓練資料的過程,不過就會有一派的人專門研究如何取樣資料,像是SVM (支援向量機)如何提煉原始資料,讓提煉過後的資料變成資料量較小而有意義的資訊,進而縮小訓練的時間。
比如說有份商業評鑑系統,每人平均寫50個字的回應,總共有300人回覆,如果用人工看就必須要看完1萬5千字,但用人工智慧就可以協助找到每條回應的語義是屬於正向、普通還是批評。然後做數據統計,那省下的就是時間,具我所知,這種系統也有人拿來賣錢。
再來,以前Transformer Model還沒被Google發明出來,最有名的人工智慧模式就是類神經網路 Neural Network,不過類神經網路發展到後來,也衍生許多變形,比如說前饋神經網路(Feed Forward Network)、迴圈神經網路(Recurrent Network)、強化式架構(Reinforcement Network)。反正就是不斷有學者提出新的模式來克服某些特定的場景和需求,不是走學術的不需要搞懂。
接下來,架構內的每一個節點(Node)和路徑其實也可以改善,從最一開始的反向傳播演算法 (Back-propagation),到基因演算法(GA)、粒子群最佳化演算法(PSO)……。記得研究所有位學長讀到PSO演算法的Paper,因為效果太好了,結果實驗室的每人都拿來套在自己的研究,然後就"創新"了一篇新的研究。
比如說OpenAI的Reinforcement Fine-Tuning 就是其中之一的方式,不需要重新研發模型,而是在演算法做精進。
不管【取樣】、【模型】還是【演算法】這些都是提升精確度,不然就是要提升效率。
最近看到中國 DeepSeek 推出的 DeepSeek-V3,就是一個明顯的例子。
我非常佩服可以搞出來這樣的研究,不僅公開了技術報告,還在 Hugging Face 上開源。我瀏覽了 DeepSeek-V3 和 DeepSeek-V2 的技術報告,兩份總計超過 100 頁,詳述了模型架構、訓練方法以及基準測試結果。除了大家強調的DeepSeek-V3 的訓練成本以 H800 硬體實現,僅需約 558 萬美元外,對比之下 GPT-4 的訓練成本高達 10 億美元;而 Claude 3.5 Sonnet 則成本是5億美元,DeepSeek這篇技術報告主要可以觀察的是在「效率成本」的改進:
而DeepSeek-V3也是沿用DeepSeek-V2的Multi-head Latent Attention (MLA) 和 DeepSeekMoE 架構。MLA 架構來實現高效推理,此架構在 DeepSeek-V2 中已驗證其效能,MLA 被證明可以減少 93.3% 的 Key-Value ,簡單來講就是把Transformer模型的Attention層,輸入經由映射至KV,由於資料被壓縮過後,所以在推論過程不需要花費大量的快取,所以可以節省效率。
再來是前饋神經網路導入他們設計的DeepSeekMoE,據DeepSeek稱可以節省 42.5% 的訓練成本,因為使用專家系統,由路由專家Routed Expert 和 Shared Expert共享專家來提高專家專業化的潛力。簡單來說專家系統的安排,模型每次都可以更準確的知識獲取;以及隔離一些共享專家,以減輕路由專家之間的冗餘知識,也就是雜訊。
這部份看不太懂它的公式,不過主要改良是在路由的計算公式,DeepSeek-V3 引入了輔助損失自由的負載平衡策略,相較於 DeepSeek-V2 依賴輔助損失實現負載平衡,這項改進顯著降低了對模型效能的不利影響,並提升了實際運行效率。
DeepSeek-V3 採用了多 token 預測訓練目標,為每個深度的每個標記的預測保留完整的 causal chain。而DeepSeek-V2 沒有使用 MTP ,MTP 讓 DeepSeek-V3 的解碼速度提高了 1.8 倍。
DeepSeek-V3 的訓練資料包含 14.8 兆個 tokens,對比DeepSeek-V2 的訓練資料8.1兆個 tokens。
FP8 訓練以降低訓練成本,DeepSeek-V2 也使用了 FP8,將參數轉換為 FP8 精度。FP8 訓練能顯著減少訓練過程中的記憶體使用量,同時保持模型的計算精度,這是透過將數據表示壓縮至8位浮點數來實現的。此外,FP8 的使用還減少了計算所需的能源消耗,從而進一步降低了運算成本。
DualPipe讓演算法進行高效的管道並行性,簡單來講在計算時管道並行不會隨著批次數量的增加而增加在記憶體用量。
再來是一些極大地節省記憶體方法,像是保留模型參數在CPU記憶體而不是GPU記憶體。像是DualPipe演算時的機制安排共享MTP相關的參數,進一步提高了記憶體效率。
為了確保DualPipe足夠的運算效能,DeepSeek還魔改Nvidia 的kernel,讓GPU作溝通時更有效率,這應該要很懂Nvidia GPU的人,才能做客制化調整。不過在Hugging Face上有提到,在本地端要跑DeepSeek-V3還可以用AMD GPU和華為Ascend NPU,可能還是要再自己調校,才會有比較好的效果吧。
剩下還有很多內容就不贅述了… …
##
以前,我們會看到論文發表在比較模型表現時,會特別強調自己模型的優勢,甚至拿這些數據差異來吹噓自己研究的高精確度,然後發表期刊、指導教授也開心可以計點數升等。但說實話,這些微不足道的差異在統計上雖然看似有顯著性,但都已經非常優秀。
而這些公司發表的大型語言模型,我認為也一樣,並不代表在實際應用中會沒有差別。但對大多數人來說,這些數學、科學的測驗其實並不常見,也不必過度關注那些模型哪個更厲害。
DeepSeek-V2到DeepSeek-V3發表相隔7個月,這之後一定會有更多致敬的推論模型出來。
真正的戰場,其實是在模型運用哪些資料來做訓練和推理的終端應用上。