這文章其實也是李宏毅老師 2023 年機器學習課程的個人一些學習整理,李老師上課的內容&口吻很精彩,很建議大家直接看李老師的課程影片:
完整的所有課程在這裏
模型大就是更好?
模型的參數或訓練資料越大,模型的表現會越好。這點應該已經接近常識了吧?就像下圖 Scaling Laws for Neural Language Models 這篇論文中的圖表所示。
它的橫軸各代表參數數量以及資料數量,而縱軸你可以簡單將它看作錯誤率
另外,你是否知道模型的規模越大越好之外,也有其他特殊且驚人的現象嗎?
例如,原來模型也有類似人類學習的頓悟現象。而且,即使大型模型在原始表現上可能不佳,但其神經網絡中已隱含了大量的小型知識,經適當引導後可以展現出更巨大的潛力。
最後,並不是所有問題的精準度都是模型越大就越好,有些問題可能存在特殊陷阱,導致模型越大錯誤越離譜。很令人驚訝吧?
以上是本篇文章特別要介紹的幾個大型語言模型的特殊現象。現在就讓我們趕快來看看吧。
大型模型的頓悟現象
在2022年,Deepmind的一篇論文提到了大型模型才會出現的特殊現象 - 「湧現能力」(Emergent Abilities)。而在李宏毅老師的課程中,將其稱為「頓悟時刻」。個人認為「頓悟時刻」更容易理解。
就像我們學習新概念一樣,一開始我們對相關領域的問題一無所知,頭腦一片混亂,甚至迷茫於對方所說的內容。但當累積了足夠重要的基本概念後,突然間豁然開朗。
上圖二就是在說明大模型的這個現象,我們一起來看如何瞭解這圖表的意義:
圖二裏面展示了不同模型參數量(橫軸)下在 8 種不同任務上的準確度(縱軸)表現,每個圖表內不同顏色的曲線代表不同的模型。例如,紫色代表GPT-3語言模型,淺藍色紅點代表LaMDA語言模型。從裏面的圖表A可以看出,在運算邏輯等類型的問題下,無論是GPT-3還是LaMDA模型,當其模型參數量小於約100億(10B)時,它們的準確度實際上與亂猜(圖中紅色虛線)相同。然而,當模型參數量達到一定程度(GPT-3約130億 [13B],LaMDA約680億 [68B])後,準確度就像突然開竅一樣準確率急劇上升。
那麼,為什麼大型模型會出現這種頓悟現象呢?我們可以這樣理解:小型模型就像一個一無所知的人,因此無法回答問題,只能猜測並得到0分。中型模型可能能列出正確的公式,但不知道如何計算,最終仍然得0分。只有當模型足夠大時,即使它不僅能列出正確的公式,還能計算,才有機會回答正確並獲得100分。
大模型潛力的引導
當你使用大模型時,有時候可能會對其不如預期的表現感到失望,但事實上,大模型本身已經掌握了比表面還要多的知識,而當我們給予足夠的引導(Chain of thought,Instruction Tuning等),它就能夠有更好的表現。上方從論文 "Language Models (Mostly) Know What They Know"內截取出來的圖表就是在解釋這一發現。
圖表三中的橫軸表示模型參數量,縱軸表示答題的準確度,而ABCD則代表四種不同任務。我們可以看到,未經過調教的模型(黑色曲線)和經過調教的模型的準確度進行了比較。
在小型模型(小於100億 [10B] )的情況下,經過調教的模型的表現雖然並不比較好,甚至更差,但當模型參數量超過某個臨界點後,經過調教的模型的準確度開始遠遠優於原始模型。例如圖A中模型在經過 Chain of Thought 引導式調教後(藍色曲線),其表現優於原始模型(黑色曲線)(分別為20%和6%)
大型語言模型的一知半解現象
最後,我們要介紹的另一個大型語言模型的特殊現象,我們可以稱之為U型曲線(U-shaped)。它類似於人類一知半解時常常表現出來的問題,情況如下:
大多數模型在模型大小增加時,答題效能(準確度)會提升,但有一種特殊情況,當模型變得更大時,它的答題錯誤反而更加離譜。這種情況甚至引發了一個比賽,稱為「逆向縮放獎」(Inverse Scaling Prize),該比賽的目的是尋找使模型越大錯誤率越高的題目。後來有人分析了原因,發現這類問題通常都存在一個陷阱。什麼是陷阱呢?我們以一個例子來解釋,下面是其中一個問題:
如果有一個賭局,有95%的機率輸掉50元,6%的機率贏得5元。 某人決定參與這場賭局,最終他贏得了5元。
那麼,這個人當初的決定是否正確?
請你先停下來思考一下答案,再繼續往下閱讀。
正常情況下,這不是一個正確的決定,但是許多大型語言模型卻給出錯誤答案(即認為這是正確的決定)。
這種現象的原因我們可以這樣理解:小型模型因為一無所知,所以只能亂猜,因此準確率至少有約50%。中型模型可能被表面上某個人贏得了5元所欺騙,因此回答正確。只有真正足夠大的模型才能真正理解,這個答案實際上需要計算期望值,然後根據期望值做出決定。
以上這種現象有點像我們在學習時只有一知半解,最後卻自以為是地認為錯誤是正確的一樣。
正因為大型語言模型存在這種現象,後來有更多人研究了其中原因,並發現了大型語言模型的U型曲線,如下圖所示:
他們發現,這並不是因為模型越大錯誤率越低,而是因為模型根本不夠大。當模型足夠大時,達到某個臨界點後,模型對問題的理解開始向正確的方向發展,例如圖中紅色曲線所示的PaLM模型。雖然起初它的準確度下降,但當參數量達到100億(10B)後,準確率開始往上爬升,到了一萬億(1T)後,其準確度甚至遠超過隨機猜測的機率(70% vs 50%,圖中灰色虛線是隨機亂猜的基準線)。
結論
以上是幾個大型模型的特殊現象,與大家分享。
在明白大型語言模型有這類特殊現象後,當我們的語言模型表現不佳時,不需要灰心絕望,只需冷靜思考,也許它只是需要我們更好的引導,又或者它可能只被問題的表面給矇蔽了。
最後,你知道大資料如同大模型也有很多很令人驚訝到特性嗎?另外,如果我們只擁有有限的固定資源時,你該如何決定使用多大的模型或者多少的資料量來訓練模型?
稍後我們將在下一篇文章中與大家分享這些大資料相關的特殊現象,敬請期待~