[自然語言處理] #4 ChatGPT 介紹與創作者計畫
深入淺出ChatGPT: AI 的進步,帶來的是革命還是機會?
上一篇: [自然語言處理] #3 命名實體標註 Name Entity Recognition 理論設計篇
下一篇: [自然語言處理] #5 如何與ChatGPT協作,提升自我
[前言]
好久沒有回來更新了,原本當初草稿上的計畫自然語言處理#4 是BERT的介紹與說明,但現在ChatGPT橫空出世了,只好先插個隊,先寫一系列ChatGPT的介紹以及應用。
其實我相信最近大家也早就看到不想看了,但為了良好的承先啟後還是從介紹著墨,希望帶給讀者有更全面的了解!
本篇章會先以自然語言工程師的角度介紹,而後續幾篇比較會以一般大眾的腳色來做介紹,因為身為自然語言工程師的我來說對於如何把科技帶入一般人的生活中,更令我感到興奮~
希望大家看完這系列ChatGPT的介紹後以及作者的觀點後,對於這次AI帶來的衝擊會得到屬於自己的答案。
目錄
- ChatGPT的介紹 🚩
- ChatGPT 令人驚豔的原因 😎
- ChatGPT 在自然語言任務上的表現 📚
- 面對ChatGPT 帶來衝擊的看法❗️❓
- ChatGPT 創作者計畫🔖
- 結語 💬
ChatGPT的介紹🚩
凡事都有個開頭,甚麼是ChatGPT?
ChatGPT(全名:Chat Generative Pre-trained Transformer)是一個由 OpenAI 開發的人工智慧聊天機器人程式,也就是說可以跟你用打字的方式隨便聊天的機器人。它是建立在 GPT-3.5 模型基礎之上的大型語言模型,透過強化學習進行訓練。在2022年11月正式推出後,它引起了眾多自然語言處理領域的關注。
但其實早在GPT-3.5之前,2020年5月OpenAI就已經發布了GPT-3的模型了,當時用GPT-3來寫小說,寫美國隊長跟鋼鐵俠的同人小說等😄,可見,GPT-3早就不是甚麼新的模型,但當時生成出來的結果只能說離可以使用還有一段非常遙遠的距離。
有些人可能不知道甚麼是GPT-3,讓我做一個快速地介紹:
GPT-3是一個大型語言模型Large Language Model(LLM),
LLM可以通過大量的文本資料來進行預訓練,學習到自然語言的結構和規律。
LLM 模型的主要優點是它可以進行大量的自我訓練,
逐漸提高其在各種自然語言處理任務中的表現,具有強大的語言生成能力,
可以進行文本生成、翻譯、問答等任務。
更多請看 GPT-3 WIKI百科介紹
但這次ChatGPT產出的結果,看看下圖的一個範例,是不是讓人覺得很新奇有趣呢?
人人都可以訓練自己的虛擬女/男友~
ChatGPT 令人驚豔的原因😎
為什麼這次的ChatGPT會這麼的令大家覺得耳目一新呢?
作者我覺得主要是因為兩個部分:
- 通順流暢的回答:
透過RLHF技術讓機器人的回答都像是真人或是使用者所預期的那樣通順。 - 自學習能力:
透過ICL機制可以隨著與使用者的互動中學習和改進自己的回答,彷彿有學習記憶的能力。
RLHF技術
Reinforcement Learning from Human Feedback(從人類反饋中進行強化學習)是一項非常有趣的技術,也是訓練ChatGPT的關鍵。透過此技術,人們可以幫助ChatGPT更好地學習如何進行對話,讓ChatGPT能夠產生更符合人們期望的回答。
這個技術是透過人工標註來實現的,專門針對蒐集ChatGPT的訓練資料建立了另外一個模型,用來對每一個文句進行評分,這個模型除了可以蒐集訓練資料外,還可以將ChatGPT的回答也進行評分,判斷是否合理、流暢,以及是否符合人們的期望,這樣的方式形成了一種類似於Generative model 搭配Discriminative model的類似於生成對抗式網路的架構。
當ChatGPT的回答被標為不好時,還可以透過人工介入Discriminative model的結果,來讓ChatGPT學習到更符合人們期望的回答方式,進而提高其對話能力。
還有很多參考資料或是更詳細的過程可以參考以下兩個影片:
參考影片1: ChatGPT (可能)是怎麼煉成的 — GPT 社會化的過程 by 李弘毅老師
參考影片2: 台大資訊 深度學習之應用 | ADL 17.2: OpenAI InstructGPT 從人類回饋中學習 ChatGPT 的前身 by 陳縕儂老師
ICL機制
In-Context Learning,ICL是一種元優化的訓練方法,讓模型能夠學習如何適應不同的上下文情境,進而有效地利用先前的資訊。
根據Microsoft Research發表的論文:
Why Can GPT Learn In-Context? Language Models Secretly Perform Gradient Descent as Meta-Optimizers
論文中,顯示語言模型能夠具有記憶功能,主要是因為它採用一種稱為In-Context Learning (ICL)的訓練方法,根據我的理解,ICL通常會給予GPT模型先前的輸入資訊以及模型的輸出(上下文)來表達現在的狀態,就好像LSTM中的hidden state一樣,讓模型能夠更好的知道目前的狀況(上下文),並針對後來的問題進行回答。
這種方法類似於人類學習新事物的方式,我們會根據先前的經驗和知識,來幫助理解新的情境,進而快速掌握新的知識。因此,ICL是使得ChatGPT能夠具有記憶功能的重要因素之一。
ChatGPT 的前身還有一個名為 InstructGPT 的模型,有很多的細節其實也都是透過InstructGPT的論文得知的,有興趣的讀者也可以閱讀一下:
Training language models to follow instructions with human feedback
ChatGPT 在自然語言任務上的表現📚
過往複雜的任務,現在一個ChatGPT就搞定!
ChatGPT 是一個強大的自然語言處理工具,能夠在多個自然語言任務中毫不費力地完成各種複雜的任務。以下是一些 ChatGPT 在自然語言任務中的效果以及範例:
- 命名實體識別:ChatGPT 可以識別文本中的命名實體,例如人名、地名、組織名等。
2. 情感分類:ChatGPT 能夠分析文本中的情感色彩,例如正面情感、負面情感或中性情感等。
3. 文本分類:ChatGPT 可以將文本分類為不同的類別,例如新聞、博客文章、社交媒體帖子等。
4. Question Answering:ChatGPT 可以根據使用者的問題,自動回答問題。這種能力可以幫助使用者更快地獲取所需信息,並節省大量時間。
5. MRC (Machine Reading Comprehension):ChatGPT 可以通過閱讀文本,回答問題,並理解文本背後的意思。ChatGPT在MRC方面的表現得到了廣泛認可,尤其是在數據集 SQuAD 2.0 上,其得分已經超過了人類平均得分。
ChatGPT 的自然語言處理能力目前已經被廣泛的認可,並且也越來越多的企業與科技大佬出來發聲:
- 微軟運用ChatGPT編程 輕鬆操控機器人、無人機
- 戴蒙:小摩目前有300項AI計畫、當中包括類ChatGPT
- 黃仁勳:ChatGPT熱潮讓企業領袖見識到AI的威力 etc.
相信未來這類的技術,很快就會進入到各位讀者的生活之中如: 智能客服、自然語言生成、機器翻譯等,是不是也很期待呢?
休息一下,接著進入作者對於這次衝擊的看法~
面對ChatGPT 帶來衝擊的看法❗️❓
科技進步帶來的是生產力的革新,而不是阻力!
這次科技的進步,對於很多人來說,第一個擔心的就是自己會不會失業,連我的家人都在問我,我會不會失業?
Q:自然語言工程師會不會失業?
A: 並不會,但其他職業可能會有很大的轉型。
以自然語言工程師的角度來看,雖然流程會有些許的不同,但其實做的事情不變,反而會是基於ChatGPT之上進行調優,然後帶出來更好的效果,以下分別用兩個不同的Flow進行簡單的說明。
Original Task Flow :
Pre-processing
: 資料清洗,資料前處理。Model Training
: 模型訓練,參數調優。Post-processing
: 將模型產出的結果後處理成應用需要的方式。
Involved ChatGPT Task Flow:
Pre-processing
: 資料清洗,資料前處理。Prompt Engineering
: 針對問題設計與之對應的Prompt Flow。Generated Result Parsing
: 將ChatGPT產出的結果Parse成固定的格式。Post-processing
: 將Parse好的結果後處理成應用需要的方式。
其中,Prompt Engineering 以及Generated Result Parsing也都可以透過建模型的方式完成。
總結來說,雖然ChatGPT等AI技術在自然語言處理方面帶來了革新,但這並不意味著NLP工程師的工作被取代了。反而,這些技術的出現為NLP工程師提供了更多的可能性和挑戰。
[2023/03/06更新]正好在本篇發出去幾天後看到李弘毅老師發的新影片:
【生成式AI】ChatGPT 原理剖析 (3/3) — ChatGPT 所帶來的研究問題
也是很好跟這篇結合一起看的影片,所以更新上來,其中本篇提到的Prompt Engineering就是對應到李弘毅老師提到的第一個精準需求,當然延伸出很多的可能性也不只限於影片以及本篇中有提到的。
當然,身為一個自然語言工程師,一方面會覺得說,過去學習那麼多的知識一下就被取代掉,覺得很令人氣餒,但另一方面,也很高興可以專精在更有價值的部分,從而能端出更多更好的應用與產品。
ChatGPT 創作者計畫🔖
現在,各行各業都會受到AI帶來的影響,而我們需要面對的是如何學習和運用新技術,以及如何在這場革新中把握機會,藉由生產力的提升,更加展現自身的價值,否則就會被時代拋下。
下一篇,會從一般大眾如何把握新技術的革新,並帶來一些成果展示,沒有寫作經驗的人如何透過AI將自己的經驗以及技術,以人機人互動的方式,展現給大眾成為創作者:
結語 💬
本篇分享了甚麼是ChatGPT,還有講述他背後的一些技術亮點跟一些範例,並分享了作者身為自然語言工程師對這次ChatGPT帶來的影響跟看法,上面假如哪裡講不清楚或寫不好,或是還有甚麼疑問,歡迎留言詢問或指教,假如覺得講得不錯,也請給鼓勵跟分享。 0W0)/