關于大模型微調與訓練的問題,大模型訓練的難點在哪里? 原創
?“ 大模型訓練的難點不在于大模型本身,而在于訓練數據 ”
這兩天公眾號上有一個小兄弟問我關于大模型訓練的問題,然后他想自己訓練一個小模型,但又不知道該怎么操作;所以,今天就再來討論一下大模型的訓練問題,大模型訓練的難點到底在哪里?
大模型訓練的難點
對大部分學習大模型技術的人來說,大模型訓練和微調可能都是一個無法繞過的問題,也是很多人弄不明白的問題,總認為由于沒有足夠的算力,個人無法進行模型訓練。
但事實上有這種想法的人是進入了一個誤區,原因是對大模型不夠了解,認為大模型的難點就在于訓練。
大家都知道目前市面上的模型主要都是預訓練模型或者一些基座模型;除了哪些真正有技術和資金,能夠真的自己去設計模型,然后實現模型的組織或企業來說,大部分所謂的自己的模型都是基于一些開源模型進行的二次訓練或微調。
大模型技術本身確實有很多難點,比如說算法,架構,并行計算的方式,幻覺問題,能力不足等等多種問題;但對采用開源模型,使用重新訓練的方式得到一個具有特定模型的企業來說,大模型本身對他們來說并沒有特別大的難度,如果說有難度那么唯一的難度就是基于當前模型做的二次開發,使得其功能更完善與強大。
而如果只是把開源模型重新訓練一下,那么大模型本身的復雜度對他們來說都不是問題;原因就在于這些開源模型在開源的時候已經把模型的基礎架構和一些算法進行了實現;對訓練者來說已經不需要再進行算法的開發。
因此,對這些訓練者來說,重新訓練一個大模型就類似于把別人已經制作好的工具,用自己的數據重新再跑一遍,然后怎么跑,開源者已經給了一個詳細的步驟;就是開源模型的核心技術以及訓練的步驟。這些文檔在開源模型里面都已經有了,不會的直接拿過來看就行了,如果看不懂就多看幾遍,多嘗試幾遍。
上面說了這么多,主要就是想說明白一件事,對基于開源模型進行訓練的人來說,大模型本身已經做的很好了,你已經不需要再對大模型進行調整,就可以直接進行訓練;或者如果你能力很強,當然也可以根據自己的需求對大模型的整個架構或算法進行重寫。
ok ,現在我們說一下大模型訓練的真正難點在什么地方?這個前提是拋開大模型的架構設計和算法實現,只是單純的對大模型進行訓練,不涉及二次開發等情況。
對訓練者來說,大模型訓練的難點不在于算力,也不在于大模型的復雜度,而在于訓練數據的收集與處理。
大模型訓練的流程現在基本上已經很詳細了,網絡上能找到各種大模型訓練和微調的文章以及案例;但訓練和微調的過程你知道了,算力也可以去買算力服務,但訓練的數據哪里來?
使用開源模型做訓練來實現一個新的業務,最難的一點就是收集和整理訓練數據;比如說,你想做一個垃圾分類的模型,那么你就需要收集大量的和垃圾有關的數據,比如干垃圾有哪些,濕垃圾又有哪些,什么是可回收的,什么是不可回收的。
如果只是訓練一個小模型問題還不是很大,少者幾十到幾百,多則幾千到幾千萬,甚至上億的訓練數據;傳說openAI訓練GPT4已經把全世界能找到的數據全部收集了過來,用于模型的訓練;這些數據的收集,處理,加載,存儲都是一個個問題。
這玩意就類似于造原子彈,原子彈的圖紙都是公開的,技術也是公開的;但制造原子彈的原料哪里來?
原子彈的原料都是各國嚴格管控的,如果想自己制作原料,就一個高速離心機有幾個國家能做的出來?
所以,大模型的訓練的難度就像造原子彈一樣,技術和原理都有了;但就是找不到制造的原料,而數據就是大模型訓練的原料。
當然,現在有很多提供各種數據的企業服務,甚至一些灰色地帶公開叫賣一些數據;但問題是這些數據可能并不能完全符合你的需求,因此想打造一個好的模型,模型的設計或選擇雖然很重要;但訓練數據的收集和整理也很重要。
?
本文轉載自公眾號AI探索時代 作者:DFires
