- 大模型應(yīng)用開發(fā)極簡入門:基于GPT-4和ChatGPT(第2版)
- (比)奧利維耶·卡埃朗 (法)瑪麗-艾麗斯·布萊特
- 807字
- 2025-05-07 12:20:58
1.2.1 GPT-1
2018 年年中,就在 Transformer 架構(gòu)誕生一年后,OpenAI發(fā)表了一篇題為“Improving Language Understanding by Generative Pre-Training”的論文,作者是 Radford 等人。這篇論文介紹了 GPT,也被稱為 GPT-1。
在 GPT-1 出現(xiàn)之前,構(gòu)建高性能 NLP 神經(jīng)網(wǎng)絡(luò)的常用方法是監(jiān)督學(xué)習(xí)。這種學(xué)習(xí)技術(shù)使用大量的手動標(biāo)記數(shù)據(jù)。以情感分析任務(wù)為例,目標(biāo)是對給定的文本進(jìn)行分類,判斷其情感是正面的還是負(fù)面的。一種常見的策略是,收集數(shù)千個手動標(biāo)記的文本示例來構(gòu)建有效的分類模型。然而,這需要有大量標(biāo)記良好的監(jiān)督數(shù)據(jù)。這一需求限制了監(jiān)督學(xué)習(xí)的性能,因為要生成這樣的數(shù)據(jù)集,難度很大且成本高昂。
在論文中,GPT-1 的作者提出了一種新的學(xué)習(xí)過程,其中引入了無監(jiān)督的預(yù)訓(xùn)練步驟。這個預(yù)訓(xùn)練步驟不需要標(biāo)注數(shù)據(jù),而是通過訓(xùn)練模型來預(yù)測下一個詞元。由于采用了可以并行化的 Transformer 架構(gòu),預(yù)訓(xùn)練步驟是在大量數(shù)據(jù)上進(jìn)行的。對于預(yù)訓(xùn)練,GPT-1 模型使用了 BookCorpus 數(shù)據(jù)集。該數(shù)據(jù)集包含約 11 000 本未出版圖書的文本。BookCorpus 最初由 Yukun Zhu 等人在 2015 年的論文“Aligning Books and Movies: Towards Story-Like Visual Explanations by Watching Movies and Reading Books”中給出,并通過多倫多大學(xué)的網(wǎng)頁提供。然而,原始數(shù)據(jù)集的正式版本如今已不能公開訪問。人們發(fā)現(xiàn),GPT-1 在各種基本的文本補全任務(wù)中是有效的。在無監(jiān)督學(xué)習(xí)階段,該模型學(xué)習(xí) BookCorpus 數(shù)據(jù)集并預(yù)測文本中的下一個詞。然而,GPT-1 是小模型,它無法在不經(jīng)過微調(diào)的情況下執(zhí)行復(fù)雜任務(wù)。因此,人們將微調(diào)作為第二個監(jiān)督學(xué)習(xí)步驟,讓模型在一小部分手動標(biāo)記的數(shù)據(jù)上進(jìn)行微調(diào),從而適應(yīng)特定的目標(biāo)任務(wù)。比如,在情感分析等分類任務(wù)中,可能需要在一小部分手動標(biāo)記的文本示例上重新訓(xùn)練模型,以使其達(dá)到不錯的準(zhǔn)確度。這個過程使模型在初始的預(yù)訓(xùn)練階段習(xí)得的參數(shù)得以修正,從而更好地適應(yīng)具體的任務(wù)。
盡管規(guī)模相對較小,但 GPT-1 在僅用少量手動標(biāo)記的數(shù)據(jù)進(jìn)行微調(diào)后,能夠出色地完成多個 NLP 任務(wù)。GPT-1 的架構(gòu)包括一個解碼器(與 2017 年提出的原始 Transformer 架構(gòu)中的解碼器類似),具有 1.17 億個參數(shù)。作為首個 GPT 模型,它為更強大的模型鋪平了道路。后續(xù)的 GPT 模型使用更大的數(shù)據(jù)集和更多的參數(shù),更好地發(fā)揮了 Transformer 架構(gòu)的潛力。
- C# 從入門到項目實踐(超值版)
- Java程序員面試算法寶典
- 執(zhí)劍而舞:用代碼創(chuàng)作藝術(shù)
- D3.js By Example
- Visual Foxpro 9.0數(shù)據(jù)庫程序設(shè)計教程
- Android Game Programming by Example
- HikariCP數(shù)據(jù)庫連接池實戰(zhàn)
- JavaScript語法簡明手冊
- 計算機應(yīng)用基礎(chǔ)
- Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)(第2版)
- 編程改變生活:用PySide6/PyQt6創(chuàng)建GUI程序(進(jìn)階篇·微課視頻版)
- Augmented Reality for Developers
- μC/OS-III源碼分析筆記
- Beginning Application Development with TensorFlow and Keras
- 深入理解LLVM:代碼生成