![]() |
- Source from: Burst
本文要跟你分享未來 AI 變更強更效率的兩個層面──數據與模型框架。你會從實務者的觀點,知道數據跟 AI (或機器學習模型) 表現間的關係;了解 ChatGPT 為什麼有運算資源的困擾;同時,你也會看到目前最新改善 AI 運算速度的技術發表。
正文開始
湧現的出現,與模型的參數息息相關。這也驅使我們思考,要打造一個這麼強的智能,非得把參數搞得那麼多不可嗎?
更短小精幹的數據,打造出更強的 AI?
關於這個問題,答案是「有機會不用」,如果不考慮硬體和運算的層面,改善 AI 模型表現這可以從兩個方面著手,首先是數據,第二是框架。關於數據,知名 AI 專家吳恩達教授﹝Angrew Ng﹞提到,在資料品質足夠好的前提下,訓練好 AI 模型不需要太多的數據。例如你想預測圖篇中是貓還是狗,你不需要成上萬張的貓狗圖,反而是用 1000 張貓狗多重角度、動物特徵明顯的圖片效果還更佳。也有研究者發現,有的語言模型即便參數量和訓練運算量更低,卻在諸多任務上表現比更大型模型要來的好。這也說明只要有一定品質的數據,模型確實可能「以小搏大」。
雖然此些研究並未提及所使用的數據細節,或量化「資料品質」這個概念,我以個人的經驗來分享一下──儘管是不同的研發任務。我的主戰場在財務金融,預測的目標是金融資產的價格。
我們知道金融資產經常受總體經濟、政策、突發事故以及供需基本面影響,可是價格在特定時間內,不會被這些因素同時影響,有時候政策影響大,有時候是供需問題影響。
在我們的領域中,建立一個複雜一點的模型,例如結構複雜的神經網路模型,用他吃入大量的方方面面的數據,是一種可行的方式。這樣聽起來不錯,但你們猜效果會如何?答案是挺爛的。原因是為能把過去模式解釋的很好的模型,不一定能預測現在﹝泛化能力不足﹞。金融市場是開放的體系,眼前當下可能是匯率影響最大,但你模型還有其他變數正在打亂「專注力」,以至於模型真正實戰時,反而不知道誰輕誰重。
那你說如果使用有特殊學習機制,然後又更複雜的模型,難道不行嗎?有機會,但代價高昂。因此在這種變化多端的環境下,實務上反而是打造很多小模型,他們都只吃入有限類型/領域而非全視角的資料,個別表現不要太爛,彼此最後集合起來決策﹝ensemble 的概念﹞反而還更有機會變強。如此,也有以小搏大的效果。
百家爭鳴的框架優化
儘管如此,回到語言模型,科學家還無法完全把以小搏大的功勞,完全歸因於數據的高品質。因此第二個部分,也就是模型框架的設計就很重要。框架以白話文說,就是你的模型長什麼樣子。 我最愛的例子就是BERT,在講微調新聞情緒判斷的AI時,我也說過他。
他框架主要是 Encoder,一個編碼器,計算文字或各種輸入之間的相似性並賦予權重,將這些被壓縮的數值做轉換,提取資料當中隱藏的資訊,並在神經網路層中層層傳遞,並輸出結果。 如果不好理解,可以了解他就是一個框架、一種 AI 在處理和解讀資料的設計。
而這樣一個編碼器東西單獨使用,實務上效果未必佳。很多實測表明若在框架設計中,如果將 Decoder (與Encoder相對,意為解碼) 和 Encoder一同使用,一個編碼一個解碼效果更佳。這設計就是現在很有名的 Transformer 架構,因著ChatGPT而火紅。如今這個酷東西,大家都能說上兩句。
這個例子說明了,模型的設計,會根本地影響表現。
也因此,湧現伴隨而來的,技術上是人們對大模型的反思,我們需要更高品質的數據,或是有良好的框架設計。
前一陣子,可能將近一個月前,還有人疑問或質疑,OpenAI是不是在開發GPT-5。這猜測旋即被創辦人Sam Altman打破。他在訪談中表示,打造新模型並非當務之急,做出巨大模型不是一個好選擇。
的確, OpenAI 不是沒有挑戰,首先是 AI 的安全性與可控性問題。二來是技術上他們面對O(n^2),或二次複雜性問題。也就是說這是一個效率問題,隨著我們輸入的語料等序列資料長度變長,其運算時間與模型參數也高速成長,因而需要更多運算資源,當然,還有GPU (NVIDIA或恐成為最大贏家)。
當然生成式 AI 玩家們,可能已經注意到ChatGPT與他的服務,似乎常常 "down" 掉。這個問題正發生在 ChatGPT 所使用的技術──Attention機制,所以近來改善 AI 模型框架成為了熱門研究。接下來我們來吊個書袋。史丹佛大學與相關研究團隊提出了 Heyna 結構,在減少20%的運算(FLOP)之下,達到相近於原始GPT的表現。
而最新也有點意思的進展則是Direct Preference Optimization (DPO),針對ChatGPT 中以 RLHF (基於人類反饋的強化學習) 微調模型這個環節,做出改進。RLHF這類強化學習方案雖然讓AI可以應對多變的環境與對話,但是其穩定度並不如DPO來的好。
技術細節沒辦法多說,只是先簡述幾個例子,我的用意不是談論技術細節,或是定調何為好的模型架構。畢竟什麼方法能真正勝出,都還遠在未定之天。
小結
總之,框架的改進確實能使 AI 訓練時消耗資源減少,所以我們未來也未必要刻意追求爆多的訓練資料跟巨量模型參數。現在,架構的優化與改進,配上運算資源的提升,AI還會有更進一步的突破。而會是哪個方法突破重圍,哪家廠商、什麼產品會在這個風口浪尖上脫穎而出,值得舉世的技術人跟投資人注目。
系列文未完待續......
[latest update: 2024/06/26]
0 留言