繞過微調的範式轉變
在我們之前的文章中,我們重新探討了 GPT-1 的核心概念以及其靈感來源。通過將自回歸語言模型的預訓練與僅解碼器的 Transformer 結合,GPT-1 徹底改變了自然語言處理 (NLP) 的領域,並使預訓練加微調成為標準範式。
但 OpenAI 並沒有就此止步。
相反,他們在試圖理解為什麼 Transformer 的語言模型預訓練有效時,開始注意到 GPT-1 的零-shot 行為。隨著預訓練的進行,模型能夠穩定地改善其在未經微調的任務上的表現,顯示預訓練確實可以提高其零-shot 能力,如下圖所示:
這促使了從「預訓練加微調」到「僅預訓練」的範式轉變,換句話說,就是一個任務無關的預訓練模型,可以在不進行微調的情況下處理不同的任務。
GPT-2 和 GPT-3 都是根據這一理念設計的。
但你可能會問,為什麼預訓練加微調的魔法運作得很好呢?繞過微調階段有什麼額外的好處?
微調的限制
微調對於一些明確定義的任務運作良好,但並非對所有任務都如此,問題在於 NLP 領域有許多任務我們尚未有機會進行實驗。
對於這些任務,微調階段的要求意味著我們需要為每個新任務收集一個有意義大小的微調數據集,這顯然不是理想的,尤其是如果我們希望模型在未來能夠真正智能。
同時,在一些研究中,研究人員觀察到隨著我們使用的模型變得越來越大,利用微調數據中的虛假相關性的風險也在增加。這造成了一個悖論:模型需要足夠大,以便在訓練期間吸收盡可能多的信息,但在小型、狹窄分佈數據集上微調這樣一個大型模型會使其在推廣到分佈外樣本時感到困難。
另一個原因是,作為人類,我們在學習大多數語言任務時並不需要大量的監督數據集,如果我們希望模型在未來能夠有用,我們希望它們也能具備這種流暢性和通用性。
現在或許真正的問題是,我們能做些什麼來實現這個目標並繞過微調?
在深入探討 GPT-2 和 GPT-3 的細節之前,讓我們先看看影響其模型設計的三個關鍵要素:任務無關學習、規模假設和上下文學習。
任務無關學習
任務無關學習,也稱為元學習 (Meta-Learning) 或學習學習,指的是一種新的機器學習範式,在這種範式中,模型在訓練時發展出一組廣泛的技能,然後在推理時利用這些技能迅速適應新任務。
例如,在 MAML(模型無關元學習)中,作者展示了模型可以用非常少的示例適應新任務。更具體地說,在每個內部循環中(藍色部分),模型首先從一組任務中抽取一個任務,並執行幾步梯度下降,從而得到一個適應的模型。這個適應的模型將在外部循環(橙色部分)中對同一任務進行評估,然後損失將用於更新模型參數。
MAML 顯示學習可以更通用和靈活,這與繞過每個單獨任務的微調方向一致。在接下來的圖中,GPT-3 的作者解釋了這個想法如何在結合上下文學習時擴展到學習語言模型,外部循環遍歷不同任務,而內部循環則使用上下文學習,這將在後面的部分中進一步解釋。
規模假設
作為 GPT-2 和 GPT-3 發展背後最具影響力的想法,規模假設指的是觀察到的現象:當使用更大的數據進行訓練時,大型模型能夠自動發展出新的能力,而不需要明確的監督,換句話說,當規模擴大時,可能會出現新興能力,就像我們在預訓練的 GPT-1 的零-shot 能力中看到的那樣。
GPT-2 和 GPT-3 可以被視為測試這一假設的實驗,GPT-2 用於測試預訓練在更大數據集上的大型模型是否可以直接用來解決下游任務,而 GPT-3 則用於測試上下文學習在進一步擴大時是否能帶來對 GPT-2 的改進。
我們將在後面的部分中討論他們如何實現這一想法的更多細節。
上下文學習
如圖 3 所示,在語言模型的上下文中,上下文學習指的是元學習過程的內部循環,其中模型在推理時獲得自然語言指令和幾個任務的示範,然後預期通過自動發現給定示範中的模式來完成該任務。
請注意,上下文學習發生在測試階段,並未進行梯度更新,這與傳統的微調完全不同,更類似於人類執行新任務的方式。
如果你不熟悉這個術語,示範通常是指與特定任務相關的示例輸入-輸出對,如下圖的「示例」部分所示:
上下文學習的想法在 GPT-2 中隱含地探討,然後在 GPT-3 中更正式地定義,作者根據給定的示範數量定義了三種不同的設置:零-shot、one-shot 和 few-shot。
簡而言之,任務無關學習強調了繞過微調的潛力,而規模假設和上下文學習則提供了一條實際的途徑來實現這一目標。
在接下來的部分中,我們將分別深入探討 GPT-2 和 GPT-3 的更多細節。
本文由 AI 台灣 運用 AI 技術編撰,內容僅供參考,請自行核實相關資訊。
歡迎加入我們的 AI TAIWAN 台灣人工智慧中心 FB 社團,
隨時掌握最新 AI 動態與實用資訊!