ChatGPT uses Few-shot for style transfer

Ian Chen
playtech
Published in
5 min readJul 14, 2023

--

在臉書看到一則提問是這樣的

有沒有辦法把自家服務 文案內容先餵給Ai 然後做出gpt風格的客服機器人?國外已經有真人客服被機器人取代,我覺得如果可以做到對小電商很有幫助

這個問題可以分成2個層次來討論

1.企業私有資料的更新

首先目前OpenAI的模型(無論是ChatGPT、GPT4)其內部的資料的更新度與現實上是有差距的,並無法直接由使用者對它做即時的更新,更不用談再訓練這檔事,所以要讓自家的文案內容,讓GPT模型能準確的回答,最簡單的方式就是採用Plugin或類似Plugin的方式,來結合GPT模型運行,如果是在Azure上,可以使用 azure cognitive services question answering,先由azure cognitive services question answering負責提供準確答案,提交給GPT模型,接著再以步驟2的風格轉換技處理文字做最後的內容生成。

2.風格轉換

雖然GPT模型經過大量文字內容的訓練,或多或少它學習到了一些文字寫作風格,但如果今天想要GPT模型以我們指定的寫作者,進行文字風格的模擬,那麼可以採取few-shot的技巧,意即在讓GPT模型進行角色人設扮演時給與一些範例,讓GPT模型先理解它接下來的生成的文字風格(也就是讓模型思考),few-shot技巧並不需要重新訓練模型,這會比使用 fine-tuning來的有效且直接,使用fine-tuning就像在一個汪汪大海中(GPT過往的學習訓練集)倒入一杯水,要能攪動這片大海進而形成影響力,並非如表面上的簡單,並且其效果也是未知,fine-tuning的資料量,資料品質等都會影響最後fine-tuning模型的效果,因此我會比較推荐優先採用few-shot技巧。

few-shot技巧怎麼操作?

舉例來說,如果我希望GPT模型扮演一位客服人員,並且使用方文山的文字風格來進行客服文字服務,那麼就比較先讓GPT模型理解方文山的文字風格,以下就來簡單示範一次

1.先準備一些方文山的文字範例

門外垂綠柳 簾下迎白晝
她到過沒有
情重緣未夠 歎思憶困憂
春看作清秋
濃霧人倦透 眉目才漸皺
風掃過韆鞦
情像蝴蝶舞 難望停在手
情目送便走

從 二零零三 生命不一樣
三生石的江南 煙雨中的過往
樂行者是我 壓力不閃躲
親愛的我話 不多
創作是氧氣 是生活活活活活
我寫歌 聽她說

七千三百多天 我們一起數一起 紀念
開心的畫面 至今仍鮮豔
有你們在身邊 一切暖在我的心 裡面
第二天堂 就在眼前

從 二零零三 生命不一樣
三生石的江南 煙雨中的過往
樂行者是我 壓力不閃躲
親愛的我話 不多
創作是氧氣 是生活活活活活
我寫歌 聽她說

七千三百多天 我們一起數一起 紀念
開心的畫面 至今仍鮮豔
有你們在身邊 一切暖在我的心 裡面
第二天堂 就在眼前

牆影晃燭 我提筆卻清楚
宣白上行書 蘸墨了幾行路
暗夜風驚竹 誰在窗外起舞
而冷風隔窗 我靜靜地讀

炊煙不安 嫋嫋了幾道彎
俗事萬般 不敵雪落輕歎
眼前雪滿山 咫尺紛飛不斷
門開不遠處 與天地對談

雪霽一壺酒 與你共飲春秋
盼前塵回首 三生亦師友
千年畫卷不寂寞 不沉默
江岸垂釣的是 灑脫

2.以提示工程(prompt engineering)讓GPT模型扮演客服人員並要求模型先理解先前所準備的範例

學會few-shot技巧,可以在有限的資料量下學習新的任務,藉以增強模型的能力,在快速適應新的任務或情況下,並不需要大規模的再訓練或微調(fine-tuning),是一個簡單又有效的prompt engineering技法。

但如果你是使用Azure OpenAI服務並且啟用了on your data,那麼few shot技巧並無法直接支援,以下擷取官方資訊

Few shot examples are not used when source data has been added. Any previous examples have been cleared. Once data is removed, then examples can be added

置入工商服務一下,與另外2位Microsoft AI MVP合著的Azure OpenAI書籍上市了,現在預購中,這本書的內容有更多精彩的實務技巧以及應用,現正預購中 => 駕馭 ChatGPT 4: 探索 Azure OpenAI 與 Cognitive Service for Language 開發實踐 (使用.NET 與 Node.js) | 天瓏網路書店 (tenlong.com.tw)

--

--

Ian Chen
playtech

Microsoft MVP / Microsoft Certified Trainer(MCT)