ChatGPT 的煉成方式和在哈囉營銷落地能力

ChatGPT 是由 OpenAI 開發的大型語言模型,可以幫助我們解決很多日常生活中的事情,如更改錯誤、寫小說、回答問題、翻譯、寫文案等。

圖片

圖片

GPT 的演進

GPT 一共有三代,即 GPT-1,GPT-2,GPT-3,目前非常火的 ChatGPT 是 GPT-3.5。GPT-1 誕生於 2018 年 6 月,比 BERT 略早幾個月,層數爲 12 層,詞向量長度爲 768,訓練參數量爲 1.17 億個,數據量爲 5GB;時隔半年之後,GPT-2 誕生於 2019 年 2 月,訓練參數量爲 15 億個,數據量爲 40GB;GPT-3 誕生於 2020 年 5 月,訓練參數量增長超過 100 倍至 1750 億個,數據量達到 45TB。

圖片

GPT-1 以 Transformer 爲核心結構,是自左向右單向的。GPT-2 提出了 “所有的有監督學習都是無監督語言模型的一個子集” 的思想,即它是一個無監督模型,中間所有的過程都是通過無監督去完成的。對比 GPT-2,GPT-3 的模型結構上沒有做任何的改變,它使用了超大的數據和參數量,真正詮釋了什麼叫“暴力出奇跡”。GPT 系列雖然都取得了不錯的成果,但始終會存在一個問題,即怎麼樣讓它無害,它會生產出一些假的新聞,造成不好的社會影響。

GPT-1

自然語言裏面有很多未標註數據,標好的數據比較少。GPT-1 面臨的問題是在沒有標註的地方學習一個語言模型,在標好的數據上訓練一個小模型。在做無監督的時候,我們會遇到兩個最大的問題,一是不知道目標函數是什麼,二是怎麼傳遞到下一個子任務。

圖片

GPT-1 採用的是傳統語言模型的方式,k 是窗口的大小,窗口越大就代表整個任務會更難。

圖片

將這些預測的概率向量和它的位置編碼進行結合,就可以得到 h0,h0 通過 transform 解碼器去進行解碼,最終就得到它的編碼,最後會接上一個微調模型。

這是 GPT-1 裏面的應用,主要包括分類、蘊含、相似和多選,每一類任務都有一個標記,告訴這是任務的開始階段、中間階段還是結束階段,如果是分類任務就在開始和結束階段中間抽取一個 text,開始和結束符號一定是特殊符號,最好不要在這些文本當中出現,最後我們再接一個 Linear 的分類器。二是蘊含,即 B 是否能夠支持 A,舉個例子,小王和小李是好朋友,如果後面一句話是小王送給小李一個饅頭,那麼它的結果可能是正確的,這句話能證明他們是好朋友。如果是小王今天中午吃了一個饅頭,這並不能證明小王和小李是好朋友。三是相似度的訓練,類似頭條的去重可以用到這樣的算法。四是多選,即有 A、B、C 三個選擇,應該去選擇哪一個。當然整個的效果是不如 BERT 的,從技術難度上來說,BERT 會更簡單,並且 GPT-1 用的數據本身沒有 BERT 那麼大。

圖片

GPT-2

GPT-2 模型來自論文《Language Models are Unsupervised Multitask Learners》,它希望通過 zero-shot 有所創新,即對於下游任務,不需要標註信息,在任何地方都能用。這裏不能引入之前模型沒見過的符號,提示符看上去更像一句話,這也是 ChatGPT 最初的一個版本,冒號前面告訴它你要做什麼事情,如在英語到法語的翻譯任務中,給模型一個英語和法語。或者告訴模型去回答一個問題,這個問題是什麼,它會告訴你答案是什麼。

作者在閱讀理解、翻譯、總結和回答問題上進行實驗,可以發現 GPT-2 在閱讀理解和回答問題上效果會更好一些,同時當它的數據量越大,模型能夠繼續上升。

圖片

GPT-3

GPT-3 模型來自論文《Language Models are Few-Shot Learners》,受到了 zero-shot 的啓發,我們發現用大量的數據去做標註很困難,但如果一個樣本都沒有,它的泛化性不一定好,同時人類不需要很大的數據去做任務。這裏用了兩個方法,一是元學習,二是 in-context learning。

圖片

接下來我們來看一下 Zero-shot、One-shot、Few-shot 和 Fine-tuning 的區別。最常見的是 Fine-tuning,即會給一批新的數據,需要對原來的數據做一定的梯度更新;Zero-shot 是說只給提示,剩下自己去做;One-shot 是說會告訴你去做什麼,還會給一個示例;Few-shot 是說會給更多的示例,告訴任務應該做成什麼樣。In-context learning 是它的核心,指我們對模型進行引導,教會它應當輸出什麼內容。

圖片

作者對這 3 種學習方式分別進行了實驗,可以看到在效果上 Few-shot> One-shot > Zero-shot,且參數量越大模型表現越好。

圖片

ChatGPT 的原理

ChatGPT 的訓練可以分成三步,第一步是需要去做一個有監督的模型;第二步是去收集數據給模型一個反饋,即做強化學習;第三步是根據強化學習,去優化原來的模型。

圖片

整個訓練過程可以分爲四個階段,包括文字接龍、找一個老師、讓老師給評分以及成爲老師。

圖片

文字接龍

ChatGPT 的第一個學習階段是文字接龍,當我們給出一個不完整的句子,如 “這個大白”,GPT 會接下一個字,如 “大白天”、“大白美”、“大白醜”,每次輸出都會不一樣,但是它會有一個概率。這裏我們舉個例子,如胡歌很帥,它剛開始學的就是胡,去預測胡歌;已知胡歌,去預測胡歌很;已知胡歌很,去預測胡歌很帥,整個過程完全不需要人工標註。

圖片

文字接龍有什麼用呢?它就能夠幫我們回答很多問題。如它在網上看到了一句話叫做 “中國最大的淡水湖”,然後讓它回答問題,它可以一個個字接下去,就可能會回答鄱陽湖。當然如果這樣去做,它的準確率是非常低的,因爲沒有標註的數據,質量都是不可控制的。

圖片

比如說你問它 “中國最大的淡水湖”,它可能回答 “鄱陽湖”,也有可能回答 “這個問題誰知道呢”,還有可能回答網上的一個選擇題 “是鄱陽湖還是太湖呢”。那麼,怎麼讓它輸出穩定下來變得更加可控呢?

圖片

找一個老師

要達到一個可用的狀態,就要給它找到一個老師,去提供正確的答案,當然這種答案不需要特別多,ChatGPT 裏面大約給了一萬個正確的答案。老師就會告訴它 “中國最大的淡水湖是鄱陽湖”,然後對這些正確的答案加上更多的權重,告訴它人類的偏好是這樣的,激發它本來的力量,本來 ChatGPT 也有能力生成這些答案。

圖片

讓老師給評分

當它找到老師以後,就可以去慢慢模仿一個老師的喜好。當 GPT 去輸出 “鄱陽湖”、“太湖” 的時候,會有一個判別器告訴說得分是多少,如果是 “鄱陽湖” 就可以給它更高的分數。

圖片

成爲老師

在得到評分的標準後,我們需要把標準告訴 GPT,讓它知道這個答案是正確的,這就是比較常見的強化學習。即會告訴你,如果你回答對了,我會給你一個獎勵,然後你去反饋到 GPT 當中去,給鄱陽湖加上更多的權重,這樣 ChatGPT 就會自己成爲老師,知道什麼樣的答案是正確的答案。

圖片

ChatGPT 在營銷的應用

ChatGPT 最核心的觀念有兩個,一是使用了超大的參數,二是給數據做高質量的標註。這可以給算法同學一個啓示,我們大部分時間可以不花在怎麼用一些 DIN、DCN、DeepFM 之類的模型,更重要的是需要去給它更多的數據,加大它的參數量;二是高重量的標註,訓練樣本的質量一定要高,不能給一些錯誤或者模糊的答案,要給的數據標籤一定要是非常正確的標籤。在哈囉目前還沒有一個超大模型出現,應用在推薦、營銷、定價等各個方向。

圖片

應用場景主要有兩個,一是逛逛,在 ChatGPT 上面我們可以告訴它一句話,然後它可以去生成圖片,或者在逛逛裏面的一個問題,我們可以用 ChatGPT 去輔助回答。二是運營同學在做廣告標籤的時候,我們可以去讓 ChatGPT 生成這些標語,拿過來給它十句左右的提示語,適應哈囉的場景。

圖片

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/kxtOwWU7dV9PsoAdXQbshA