介紹 FLAN:具有指令微調功能的更通用的語言模型

介紹 FLAN:具有指令微調功能的更通用的語言模型

對於生成有意義的文字的機器學習模型,它必須具有大量關於世界的知識以及抽象的能力。雖然經過訓練的語言模型在擴充套件時越來越能夠自動獲取這些知識,但如何最好地解鎖這些知識並將其應用於特定的現實世界任務尚不清楚。

一種行之有效的技術稱為微調,即在標記的資料集上訓練預訓練模型(如BERT和T5),以使其適應下游任務。但是,微調需要大量的訓練示例,以及為每個下游任務儲存的模型權重,這並不總是可行的,特別是對於大型模型。

在”微調語言模型是零鏡頭學習者”中,我們探索了一種稱為指令微調的簡單技術,或簡稱指令調優。這涉及微調模型,不是為了解決特定的任務,而是為了使其更適合解決一般的NLP任務。我們使用指令調優來訓練一個模型,我們稱之為微調LAnguage Net(FLAN)。由於與預訓練模型所涉及的大量計算相比,FLAN的指令調優階段只需要少量的更新,因此它是預訓練主課程的隱喻甜點。這使FLAN能夠執行各種看不見的任務。

介紹 FLAN:具有指令微調功能的更通用的語言模型

背景

最近使用語言模型解決任務的一種流行技術稱為零觸發或少觸發提示。此技術基於語言模型在訓練期間可能看到的文字制定任務,然後語言模型透過完成文字來生成答案。例如,為了對電影評論的情緒進行分類,可以給語言模型一個句子,”電影評論’自漂亮女人以來最好的RomCom’是_“,並要求用”積極”或”消極”一詞完成句子。

儘管此技術在某些任務中表現出良好的效能,但它需要仔細的及時工程設計,以將任務設計成模型在訓練期間看到的資料 - 這種方法在某些但不是所有任務上表現良好,並且對於從業者來說也可能是一種不直觀的方式與模型進行互動。例如,GPT-3(當今使用的最大語言模型之一)的建立者發現,這種提示技術並不能在自然語言推理(NLI)任務上產生良好的效能。

指令調優

FLAN 反而根據大量不同的指令對模型進行微調,這些指令使用簡單直觀的任務描述,例如”將此電影評論分類為正面或負面”或”將此句子翻譯成丹麥語”。

從頭開始建立指令資料集以微調模型將花費大量資源。因此,我們改用模板將現有資料集轉換為教學格式。

介紹 FLAN:具有指令微調功能的更通用的語言模型

我們表明,透過根據這些指令訓練模型,它不僅擅長解決在訓練過程中看到的各種指令,而且總體上善於遵循指令。

評估模型

為了以有意義的方式將FLAN與其他技術進行比較,我們使用已建立的基準資料集將模型的效能與現有模型進行比較。此外,我們評估了FLAN的效能,但在訓練期間沒有看到該資料集中的任何示例。

但是,如果我們在與評估資料集過於相似的資料集上進行訓練,則仍可能影響效能結果。例如,在一個問答資料集上進行訓練可能有助於模型在另一個問答資料集上做得更好。因此,我們按任務型別將所有資料集分組到叢集中,不僅保留資料集的訓練資料,還保留資料集所屬的整個任務叢集。

我們將資料集分組到下面的叢集中。

介紹 FLAN:具有指令微調功能的更通用的語言模型

結果

我們對FLAN進行了25項任務的評估,發現除了4項任務外,FLAN在所有任務上都比零射擊提示有所改善。我們發現,在 25 個任務中的 20 個任務中,我們的結果比零次 GPT-3 更好,在某些任務中甚至比少量 GPT-3 更好。

介紹 FLAN:具有指令微調功能的更通用的語言模型

我們還發現,模型規模對於模型從指令調優中受益的能力非常重要。在較小的尺度上,FLAN技術實際上會降低效能,只有在較大的尺度上,模型才能夠從訓練資料中的指令推廣到看不見的任務。這可能是因為太小的模型沒有足夠的引數來執行大量任務。

介紹 FLAN:具有指令微調功能的更通用的語言模型

結論

FLAN模型不是第一個在一組指令上進行訓練的模型,但據我們所知,我們是第一個大規模應用該技術並表明它可以提高模型的泛化能力的模型。我們希望我們提出的方法將有助於激發對模型的更多研究,這些模型可以執行看不見的任務,並從很少的資料中學習。

我們還發布了執行轉換的程式碼,以便其他研究人員可以重現我們的結果並在此基礎上進行構建。

介紹 FLAN:具有指令微調功能的更通用的語言模型