之前看了一個超讚的影片,Andrej Karpathy 解釋大型語言模型怎麼運作,到今天還在持續回味。
這邊節錄一下幾個重點。
大型語言模型是由兩種檔案組成
第一個檔案是很多很多的參數,用來訓練模型用的
第二個檔案是一個跑模型的 code file
參數是什麼又從哪來? (Pre-trained 模型)
我們把網路上的資料分解成一小片一小片的
把這些資料整理乾淨後丟到 GPU 裡頭訓練模型
訓練完的模型就像一個壓縮檔案
模型是怎麼運作的?
有點像人類的大腦,是透過神經元的方式。
模型會在訓練後去根據前後背景預測下一個字要說什麼,從原本訓練完壓縮的檔案中做夢 (很喜歡這個比喻,因為這解釋了為什麼模型會 hullicainate)
想知道怎麼運作,可以去讀 Jay Alammar 大神介紹 Transformer 的文章
經過第一版本訓練的資訊要怎麼客製化
這邊是用對齊 (Alignment) 資訊的方式來幫已經訓練好的模型調整思維,大致上是用 Fine Tuning
把比較好的答案透過案例來置換原本的 data set,然後大型語言模型就會根據新的資訊回答
有點像是你有一本書,上面記載了很多資訊,然後你不斷的給書本增加實際案例的筆記,這樣下一個看的人就會知道原來還有這樣的思維和回答方式。
總結怎麼客製化模型,Fine Tuning 有哪些步驟
幫模型上標籤,像是可以幫語調標籤成「善意的,中立的,惡意的」
找一些 Q&A 的案例然後 vectorize
微調數字
得到新的調整完的模型
一直測試一直測試
落地開始使用
追蹤數字和成效
重複 1 - 7
基本上就是給模型一堆新的案例,請他重新學習,然後如果答錯,人類就幫他打分數獎勵和逞罰他。
想要知道怎麼做可以上這堂課
語言模型的限制
讀過快思慢想的人就會知道大腦有分兩種思考方式。
系統一快速的思考,根據習慣。
系統二慢速的思考,根據邏輯和規劃。
目前語言模型在系統一表現比較好,在系統二還沒辦法做到 resoning & planning。
這應該算是人類最大的優勢吧,可以發散的思考去找出其他部門在想什麼,然後如果要統合縱效要怎麼慢慢規劃。
語言模型可以整合濃縮資訊,但是 (暫時) 還沒辦法發散,用系統二思考。
很酷的是已經有人在想說透過時間軸或是樹狀決策方式來強化模型的系統二思考,複製人類在 resoning & planning 的情境。
語言模型自我進步的可能
作者舉了 Alpha go 的例子,解釋模型怎麼在沙盒 (Sandbox) 的環境下自己比賽學習。
但是業界目前遇到最大的困難是正確答案無法在沙盒中複製呈現,所以很多時候並沒有正確答案可以參考。
就像你開一家餐廳你可以算清楚營業額和成本,大致猜到會不會成功,但是放到現實生活要考慮的因素太多,能不能成功還是有很多變數無法數據化。
無法轉換成結果的數字就少了一個標竿可以讓模型不斷的自我進步。
-
結論,Gen AI 無法想到這些東西的相關性,這必須要了解各個不同領域的東西才能找到連接點,我覺得在短期的未來這項技能還是非常難被取代的。
Comments