充分利用預訓練模型
已發表: 2022-03-11大多數新發布的深度學習模型,尤其是 NLP 中的模型,都非常非常大:它們的參數從數億到數百億不等。
給定足夠好的架構,模型越大,它的學習能力就越大。 因此,這些新模型具有巨大的學習能力,並且在非常非常大的數據集上進行訓練。
正因為如此,他們學習了他們訓練的數據集的整個分佈。 可以說它們編碼了這些數據集的壓縮知識。 這使得這些模型可以用於非常有趣的應用——最常見的應用是遷移學習。 遷移學習是在自定義數據集/任務上微調預訓練模型,它需要的數據要少得多,並且與從頭開始訓練相比,模型收斂速度非常快。
預訓練模型如何成為未來的算法
儘管預訓練模型也用於計算機視覺,但本文將重點介紹它們在自然語言處理 (NLP) 領域的前沿應用。 Transformer 架構是這些模型中使用的最常見和最強大的架構。
雖然 BERT 開啟了 NLP 遷移學習革命,但我們將探索 GPT-2 和 T5 模型。 這些模型是預先訓練的——在特定應用程序上對它們進行微調會產生更好的評估指標,但我們將開箱即用地使用它們,即無需微調。
預訓練的 NLP 模型:OpenAI 的 GPT-2
GPT-2 早在 2019 年發佈時就引起了不小的爭議。由於它非常擅長生成文本,因此引起了媒體的高度關注,並提出了很多關於人工智能未來的問題。
GPT-2 在 40 GB 的文本數據上進行訓練,是一個非常大的模型,包含來自互聯網各個領域的大量壓縮知識。
GPT-2 有很多潛在的用例。 它可以用來預測一個句子的概率。 反過來,這可用於文本自動更正。 接下來,單詞預測可以直接用於為 IDE(如 Visual Studio Code 或 PyCharm)構建自動完成組件,用於編寫代碼以及一般文本編寫。 我們將使用它進行自動文本生成,並且可以使用大量文本語料庫進行自然語言分析。
文本生成
像 GPT-2 這樣的預訓練模型生成連貫文本的能力令人印象深刻。 我們可以給它一個前綴文本並要求它生成下一個單詞、短語或句子。
一個示例用例是生成產品評論數據集,以查看在正面評論和負面評論中通常使用哪種類型的詞。
讓我們看一些例子,如果我們以正面前綴“真的很喜歡這部電影!”開頭,我們會得到什麼。
樣品 1 | 喜歡這個角色在不斷危險中的情緒,以及他內心的恐懼是如何被這些事件慢慢克服的。 也很喜歡他如此專注於生存; 甚至有一段時間感覺蝙蝠俠大戰超人中的某些東西再次出現,因為你總是知道無論如何你的敵人最終會出現:)結局主題也讓我印象深刻......我的意思是,他們確實必須...... |
樣品 2 | 它完全按照我的意願去做,非常有趣。 演員陣容很棒,在 IMDB 上看到其他所有內容後,這個故事到目前為止很有意義。 由於他們的“力量”(或缺乏力量),從遠古時代就有關於在地下城市中的暗示,但他們並沒有真正說明那麼多......我認為它更像是一個大謎團,而不是其他一些方面現在與我一起出現雖然……應該…… |
如您所見,評論一詞不在前綴中的任何位置,但由於大多數評論是標題後跟評論正文,這迫使模型適應該分佈。 還要注意對Batman v Superman的引用。
讓我們看另一個例子。 我們將嘗試使用否定前綴“垃圾產品! 別買。”
樣品 1 | 請不要嘗試將其用作花園或草坪的肥料 - 如果被魚和鳥攝入,會造成嚴重的水損害。 謹慎使用,因為有機雜貨店網上提供的寵物食品中可能含有殺蟲劑,例如 Petsmart、PetSmart 和 Safeway 等過於“好”的名稱。食物垃圾的毒性有多大? 廢物可以貢獻大量 - 足以使甚至非常...... |
樣品 2 | 沒有人會再給你一塊垃圾。 只是幫自己和您的企業一個忙,在購買之前清理乾淨,無非是為了將來節省一些錢或方便。1/2 盎司瓶裝塑料食品儲存包裝 + 1 包 #1636370105702615(P,3ml)7 美元立即購買您可以在任何零售店購買這些瓶子,但這裡是如何獲得…… |
同樣,前綴可以推斷為產品評論的標題,因此模型開始按照該模式生成文本。 GPT-2 可以像這樣生成任何類型的文本。
Google Colab 筆記本已準備好用於實驗,“Write With Transformer”現場演示也是如此。
問答
是的,由於 GPT-2 是在網絡上訓練的,它“知道”許多截至 2019 年在線發布的人類知識。它也可以處理上下文問題,但我們必須遵循“問題:X,答案:”,然後讓它嘗試自動完成。 但是如果我們強制模型回答我們的問題,它可能會輸出一個非常模糊的答案。 以下是試圖強迫它回答開放式問題以測試其知識的情況:
樣品 1 | 問:誰發明了進化論? 答:進化論最早由查爾斯·達爾文於 1859 年提出。 |
樣品 2 | 問:人有多少顆牙齒? 答:人類有21顆牙齒。 |
正如我們所看到的,預訓練模型對第一個問題給出了非常詳細的答案。 第二,它盡了最大努力,但它不能與穀歌搜索相提並論。
很明顯,GPT-2 具有巨大的潛力。 微調它,它可以以更高的精度用於上述示例。 但即使是我們正在評估的預訓練 GPT-2 仍然沒有那麼糟糕。
預訓練的 NLP 模型:Google 的 T5
Google 的 T5 是迄今為止最先進的自然語言模型之一。 它總體上建立在先前關於 Transformer 模型的工作之上。 與只有編碼器塊的 BERT 和只有解碼器塊的 GPT-2 不同,T5 使用兩者。

GPT-2 在 40 GB 的文本數據上進行訓練已經令人印象深刻,但T5 在 7 TB 數據集上進行了訓練。 即使它經過了非常非常大量的迭代訓練,它也無法遍歷所有文本。 雖然 T5 可以像 GPT-2 一樣進行文本生成,但我們會將它用於更有趣的業務用例。

總結
讓我們從一個簡單的任務開始:文本摘要。 對於那些想要構建一個總結新聞文章的應用程序的 AI 開發公司來說,T5 非常適合這項任務。 例如,將這篇文章交給 T5,下面是它產生的三個不同的總結:
V1 | 命運 2 的下個賽季,從 3 月 10 日開始,將重做劍。 他們將有充電能量用於為重擊和守衛提供動力。 情人節活動,深紅色的日子,也在這個月發生。 |
V2 | 邦吉透露,命運2的下一季將大幅重做劍。 工作室對於這一季的內容一直很靦腆。 重新思考將使劍部分繞過 AI 敵人的盾牌。 |
V3 | 命運 2 的下個賽季將重做劍,讓他們繞過 AI 敵人的盾牌。 賽季從 3 月 10 日開始。 你可以在深紅色的日子裡玩命運 2,情人節活動。 |
正如我們所看到的,它在總結文章方面做得非常好。 此外,每個摘要都與其他摘要不同。
使用預訓練模型進行總結具有巨大的潛在應用。 一個有趣的用例可能是自動生成每篇文章的摘要,並將其放在只需要概要的讀者的開頭。 可以通過個性化每個用戶的摘要來進一步實現。 例如,如果某些用戶的詞彙量較小,則可以為他們提供一個包含不太複雜的單詞選擇的摘要。 這是一個非常簡單的示例,但它展示了該模型的強大功能。
另一個有趣的用例可能是在網站的 SEO 中使用此類摘要。 儘管可以訓練 T5 自動生成非常高質量的 SEO,但使用摘要可能會提供開箱即用的幫助,而無需重新訓練模型。
閱讀理解
T5 也可用於閱讀理解,例如,從給定的上下文中回答問題。 這個應用程序有非常有趣的用例,我們稍後會看到。 但讓我們從幾個例子開始:
題 | 誰發明了進化論? |
語境 (大英百科全書) | 在阿根廷發現大型已滅絕哺乳動物的骨骼化石以及在加拉帕戈斯群島觀察到多種雀類,這些事件都被認為激發了達爾文對物種起源的興趣。 1859 年,他發表了《通過自然選擇的方式來研究物種的起源》,這是一篇建立進化論的論文,最重要的是,它確立了自然選擇在決定進化過程中的作用。 |
回答 | 達爾文 |
沒有明確提到達爾文發明了該理論,但該模型利用其現有知識以及一些背景來得出正確的結論。
一個非常小的上下文怎麼樣?
題 | 我們去哪兒了? |
語境 | 在我生日那天,我們決定去巴基斯坦北部地區。 那個真的很好玩。 |
回答 | 巴基斯坦北部地區 |
好的,這很容易。 哲學問題怎麼樣?
題 | 什麼是生命的意義? |
語境 (維基百科) | 我們所感知的生命的意義來源於對存在、社會關係、意識和幸福的哲學和宗教沉思和科學探究。 還涉及許多其他問題,例如像徵意義、本體論、價值、目的、倫理、善惡、自由意志、一個或多個神的存在、上帝的概念、靈魂和來世。 科學貢獻主要集中在描述有關宇宙的相關經驗事實,探索有關生命“如何”的背景和參數。 |
回答 | 對存在、社會關係、意識和幸福的哲學和宗教沉思和科學探究 |
雖然我們知道這個問題的答案非常複雜,但 T5 試圖想出一個非常接近但又明智的答案。 贊!
讓我們更進一步。 讓我們以前面提到的 Engadget 文章為背景提出幾個問題。
題 | 這是關於什麼的? |
回答 | 命運2將大幅重做 |
題 | 我們什麼時候可以期待這個更新? |
回答 | 3月10日 |
可以看到,T5 的上下文問答非常好。 一個業務用例可能是為網站構建上下文聊天機器人,以回答與當前頁面相關的查詢。
另一個用例可能是從文檔中搜索一些信息,例如,提出諸如“將公司筆記本電腦用於個人項目是否違反合同?”之類的問題。 使用法律文件作為上下文。 儘管 T5 有其局限性,但它非常適合此類任務。
讀者可能會想,為什麼不為每個任務使用專門的模型呢? 這是一個很好的觀點:與 T5 的預訓練 NLP 模型相比,專業模型的準確性會更高,部署成本也會更低。 但 T5 的美妙之處恰恰在於它是“一個模型來統治一切”,也就是說,您幾乎可以將一個預訓練模型用於任何 NLP 任務。 此外,我們希望開箱即用地使用這些模型,無需重新訓練或微調。 因此,對於創建總結不同文章的應用程序以及進行上下文問答的應用程序的開發人員來說,相同的 T5 模型可以同時完成這兩者。
預訓練模型:即將普及的深度學習模型
在本文中,我們探討了預訓練模型以及如何將它們開箱即用地用於不同的業務用例。 就像經典排序算法幾乎無處不在用於排序問題一樣,這些預訓練模型將用作標準算法。 很明顯,我們所探索的只是 NLP 應用程序的皮毛,這些模型可以做的事情還有很多。
StyleGAN-2 和 DeepLabv3 等預訓練的深度學習模型可以以類似的方式為計算機視覺應用提供支持。 我希望你喜歡這篇文章,並期待在下面聽到你的評論。