早安大家~ 昨天我們簡單介紹了transformer 架構,我們也有提到他和當今最流行的GPT 有很大的關聯。今天我們就來聊聊GPT還有prompt 的改念!
GPT 是 Generative Pre-trained Transformer (現在大家都講gpt 應該很少人知道他的全名吧xd)
他是由Open AI 所開發的大型語言模型(LLM),我想在這個世代的大家應該都離不開它吧🙂↔️ 因為他實在太聰明太好用啦!
那GPT背後其實就是採昨天有說到的Transformer 背後的encoder 機制,並且加上非常大量的資料所訓練而成的模型(這個資料量是你怎麼樣也想不到的多!!),除了是採用encoder 架構外,還有一特特點是他屬於生成模型,它的主要任務是「根據前面的文字去預測下一個最合理的詞」,所以它在文字生成上特別厲害。如果你常用gpt 的話,應該會發現你在用gpt時如果沒講完話直接送出,gpt 通常會直接幫你把話接完🙂↕️
我相信大家有聽過gpt的話,都多少聽過prompt、提示詞工程吧!
那到底什麼是prompt? 他跟gpt 的關聯也是啥呢?
概念其實非常簡單!就是一種是一種通過設計、引導、改進、優化的方式來提升模型的表現,並進一步可以幫助我們完成想指派的任務!
prompt 怎麼下對模型產生的結果有很大的影響,因為模型就是靠prompt 的上下文去產生相應的回覆,所以如何把我們的指令下達的清楚,讓模型能夠產出我們希望的回覆(不管是內容還是格式,還是一些其他的要求)就變得很重要。常見給prompt 的範本有幾個:
Zero-shot prompting
不給模型任何參考的範本,單存只給模型一些指示,要求模型完成指定的任務
這個方法的特點應該就是可以看出預訓練的模型本身有多少完成這個任務的能力(但當然怎麼樣設計prompt 的指示也很重要,表現得不好也可能是prompt 下的不夠明確,而非本身的pre-trained 知識不夠)
one-shot prompting:
算是小小小進階版,顧名思義就是給模型「一個」範例當作是參考
few-shot prompting
除了給模型相應的任務只是之外,會給予許多例子 供模型參考(範圍通常是給10~100個例子)
優點:模型可以看到比較多 在表現上面可能可以因此提升
缺點:看太多例子還是有可能造成overfitting 的問題
chain of thought
這個應該是前兩個的超級進階版xd, 除了給相應的指示+範例之外 會拆解問題成一小步一小步,提供如何拆解任務到最後得出正確答案的技巧給模型,主要就是希望模型學會「推理」,再回答時也會給予他推理的過程。會有這個方法出來是因為大家發現如果直接要求模型給予答案,很容易得不到正確的,但通過這種方式通常可以讓模型表現表現較好。
以解數學當一個範例,如果是one-shot prompting 可能無法讓模型回答正確
以CoT 的方式一步一步拆解,把解題斯入告訴他
小小補充:
也有人對CoT 做後續的研究,例如Zero-shot Chain Of Thought
研究的人發現,如果在問題的結為附上「讓我們一步一步思考」這幾個字LLM 就能夠產生一個回答問題的CoT,這樣的方式能讓模型提取更精準的答案。
範例如下:
其實核心概念都是一樣的,就是讓LLM可以一步一步思考如何回覆拉~
所以你有時候發現GPT 怎麼回答都不是你想要的答案,不一定是模型太爛,可以現看看自己下達的指令是不是清楚明瞭,有時候指令太短或不清楚真的會影響模型表現!所以大家在用GPT 時切記,GPT 也沒那麼聰明,也不會通靈
好好把指令下清楚GPT才能發揮他最大的用處🙂↕️
好啦!那今天就先到這邊~ 明天我們就來自己串串看GPT,做出一個自己的聊天機器人吧!