背景
各位ChatGPT使用者是否常常發生以下狀況:ChatGPT跟你雞同鴨講。
原因就出在ChatGPT當初在訓練時,在你所處的專業Domain並沒有足夠的訓練資料。
針對這種情況要怎麼辦呢?
今天將介紹幾種方法來解決,並分析各種方法的優劣。
方法羅列
方法說明
每次使用ChatGPT之前,先儘可能地提供更多「上下文訊息」,透過提供一些範例
(Few-Shot Learning)來讓ChatGPT了解你提問的範圍與目的。
2. 檢索增強生成 (Retrieval Augmented Generation, RAG)
直接外掛一個「專屬於你專業Domain的腦袋」,這腦袋可以是多樣化的形式,例如:
PDF文件、網頁、資料庫等等,如此一來,ChatGPT每次在回答你問題之前都可以先
去這個腦袋檢索一番之後再回答你問題。
3. 微調 (Fine Tuning)
針對既有的ChatGPT模型,準備屬於你專業Domain的資料來做重新訓練與微調,但
是要注意,這通常不會是小工程,要評估的地方有:是否有強力的運算單元GPU、你
所屬專業Domain知識的變化頻率程度等等。
有別於第三個方法,這裡的從新訓練規模更大,基本上除了企業等級的規模外,普通
用戶幾乎不會有此等運算能力來重新訓練,但好處是此方法能匹配你所屬的專業
Domain。
比較
總結
並沒有一種方法可以適用於所有情況,但如果你像我一樣是普通人,手邊沒有強大的GPU運算平台,那麼RAG是最佳方法,有鑑於此,我在後續將手把手教學如何用Meta釋出的Llama模型搭建自己的ChatGPT,手把手的程度可以參照以下文章:
使用Meta釋出的模型,實作Chat GPT - Part 0
使用Meta釋出的模型,實作Chat GPT - Part 1
使用Meta釋出的模型,實作Chat GPT - Part 2
使用Meta釋出的模型,實作Chat GPT - Part 3
使用Meta釋出的模型,實作Chat GPT - Part 4