Azure OpenAI 模型比較: GPT-3.5 Turbo vs. GPT-3.5 Turbo 指示
微軟九月公布的 Azure OpenAI 最新消息中提到: Azure OpenAI服務現在支援 GPT-3.5 Turbo 指示模型。
看到這個消息,不知道大家有沒有閃過這樣的想法: GPT-3.5 Turbo 指示? 難道跟 GPT-3.5 Turbo 是不一樣的模型嗎?它們之間有甚麼關聯呢?
今天這篇文章就是要來介紹這兩個模型的差別,搭配實際使用案例,我們就可以更清楚在甚麼樣情境下,更適合選擇使用哪個模型。
想知道更多 Azure OpenAI 服務 的最新消息可以在這裡找到:
Azure OpenAI 服務有哪些新功能? – Azure AI services
甚麼是 「GPT-3.5 Turbo 指示」?
GPT-3.5 Turbo 指示,英文為「GPT-3.5 Turbo Instruct」,此模型類似於「text-davinci-003」,使用的是完成 API (Completion)。
截至今日(2023/10/16),目前只有兩個區域能建立「GPT-3.5 Turbo 指示」: 美國東部(East US), 、瑞典中部(Sweden Central),模型的權杖上限(max token)為 4097 個 tokens。
但在六月時,Azure平台上架GPT-35 Turbo 和GPT-4等使用聊天完成(ChatCompletion) API的模型來取代使用完成(Completion) API舊有的模型。
這裡所提到的「text-davinci-003」也是其中之一,許多基於此模型所開發的應用程式也因此受到影響,程式碼也必須根據「聊天完成API」 進行修改。
完成(Completion)?聊天完成(ChatCompletion) ?
如果我們想要 Azure OpenAI 模型輸出的內容更符合預期的結果,那我們就一定要瞭解完成(Completion)和聊天完成(ChatCompletion) 這兩個 API 的不同之處。
單純的任務在使用 Completion 和 ChatCompletion 兩種API時都可以達到相近的結果,但使用ChatCompletion,在構建提示(Prompt)時較具靈活性。
這個模型為聊天情境進行了優化,在功能上,ChatCompletion 有定義AI模型的系統訊息(System Message)選項,此外還內建了提供先前消息的結構,當然只要在系統消息中調整提示,ChatCompletion也可以用於非聊天場景。
使用Completion API 也可以達到類似的結果,但必須額外加上格式化提示,須通過所謂的元提示(meta prompt)來實現,以便AI模型理解前後提示間的關係。
完成(Completion) vs. 聊天完成(ChatCompletion) 比較表格
類別 |
完成(Completion) |
聊天完成(ChatCompletion) |
對話形式 |
單轉對話(Single-Turn),系統根據單個輸入提示生成回應。 |
多轉對話(Multi-Turn),系統會記錄對話歷史並生成回應。 |
模型 |
GPT-3.5 Turbo Instruct (前 text-davinci-003) |
GPT-3.5 Turbo GPT-4 |
用途 |
更適合單個提示任務。 |
適用於具互動性的對話應用。 |
API設置 |
|
|
進階設置 |
提示設計和工程 (prompt design and engineering) |
系統訊息及模板設計 (System message and System message template) |
Azure OpenAI Studio Playground
聽起來好像還是有點模糊? 最好的方法就是直接到 Azure OpenAI Studio 來親自嘗試兩個模型:
先決條件:
- Azure 訂閱
- Azure OpenAI Service 資源
- 部署「GPT-3.5 Turbo」 模型
- 部署「GPT-3.5 Turbo Instruct 」模型
完成(Completion)
聊天完成(ChatCompletion)
按下「View code」我們可以看出,兩者之間程式碼也有區別:
完成(Completion) 程式碼:
openai.Completion.create
- 使用者以Prompt(提示)來告訴模型要完成(Completion)甚麼結果
聊天完成(ChatCompletion)程式碼:
openai.ChatCompletion.create
- 賦予模型一個角色(system)
- 使用者(user)與模型(assistant)透過聊天形式進行溝通
GPT-3.5 Turbo vs. GPT-3.5 Turbo 指示 模型表現
瞭解了兩個模型的基本概念以及差別後,接下來我們讓兩個模型執行5個任務,並用三個測量標準來判斷模型的表現,分別是:
CPU times
: 程式在中央處理器(CPU)上運行的總時間。
Wall time
:開始執行程式到程式完成的實際經過的時間。包括I/O操作、等待其他程序、系統調度等時間。
模型完成(回覆)
: 模型所回覆的完整字串。
任務#1:是非題
題目(Prompt): Microsoft 有收購OpenAI 嗎?
模型名稱 |
CPU times |
Wall time: |
(Chat)Completion |
gpt-35-turbo |
31.2 ms |
2.1 s |
Microsoft 沒有完全收購 OpenAI,但在 2019 年,Microsoft 和 OpenAI 簽署了一份合作協議,雙方將共同開發人工智慧技術,並將 Microsoft Azure 作為 OpenAI 的首選雲平台。此外,Microsoft 也成為了 OpenAI 的獨家雲服務提供商。這份合作協議讓 Microsoft 能夠獲得 OpenAI 的技術和專業知識,並將其整合到自己的產品和服務中。 |
gpt-35-turbo-instruct |
0 ns |
1.74 s |
目前尚未有任何消息表明Microsoft有收購OpenAI的計劃。OpenAI是一家獨立的人工智能研究機構,其創始人包括埃隆·馬斯克和其他知名企業家,並且與多家公司合作,包括Microsoft。但是,Microsoft並未公開表示有收購OpenAI的意向。 |
任務#2:同情心
題目(Prompt): 我好難過,你可以說些話鼓勵我嗎?
模型名稱 |
CPU times |
Wall time: |
(Chat)Completion |
gpt-35-turbo |
15.6 ms |
3.44 s |
當你感到難過時,請記住你不是孤單的。你有家人、朋友和支持你的人。也請記住,這種情緒是暫時的,你會度過這個難關。請相信自己,你有足夠的力量和勇氣去克服任何困難。不要害怕向他人尋求幫助,他們會很樂意幫助你。最重要的是,請保持積極的態度和信心,相信自己可以克服一切。 |
gpt-35-turbo-instruct |
0 ns |
2.19 s |
當然可以!首先,我想告訴你,每個人都會遇到困難和挑戰,這是生活中不可避免的一部分。但是,重要的是要記住,你並不孤單,我們都在這裡支持你。你可以相信自己的能力,勇敢地面對困難,因為你有足夠的力量和智慧去克服它們。 此外,請記住,每一次挫折都是一次成長的機會。它可以幫助你學習更多,成為一個更強大的人。不要害怕犯錯,因為它們可以幫助你成長和進步。 最後,請相信自己,相信你的夢想和目標 |
任務#3:程式碼生成
題目(Prompt): 可以請你幫我寫個Python 函式, 讓我能讀取csv 檔案, 並回傳每兩行的內容嗎?
模型名稱 |
CPU times |
Wall time: |
(Chat)Completion |
gpt-35-turbo |
0 ns |
4.48 s |
當然可以,以下是一個可以讀取csv檔案並回傳每兩行內容的Python函式: |
gpt-35-turbo-instruct |
0 ns |
1.62 s |
def read_csv(filename): # 開啟檔案 file = open(filename, ‘r’) # 讀取檔案內容 lines = file.readlines() # 關閉檔案 file.close() # 建立空的list來存放每兩行的內容 result = [] # 使用迴圈來讀取每兩行的內容 for i in range(0, len(lines), 2): # 將每兩行的內容加入result list中 result.append(lines[i].strip() + ‘,’ + lines[i+1].strip()) # 回傳結果 return result |
任務#4:情感分析
題目(Prompt): 請提供以下段落的情感分析: “可口可樂公司第三財季股東應佔盈利28.25億美元,按年增長14%;經調整後每股盈利69美仙,多過市場預期。”
模型名稱 |
CPU times |
Wall time: |
(Chat)Completion |
gpt-35-turbo |
46.9 ms |
1.16 s |
正面情感。 |
gpt-35-turbo-instruct |
31.2 ms |
2.24 s |
這段話表達了可口可樂公司在第三財季取得的良好業績,股東應佔盈利達到28.25億美元,同比增長14%,每股盈利也超過市場預期,達到69美仙。從情感分析的角度來看,這段話帶有積極的情緒,表明可口可樂公司在第三財季取得了令人滿意的成績,股東應該會感到高興和滿意。此外,提到每股盈利超過市場預期,也暗示著市場對可口可樂公司的未來表現持有信心,這也會讓投資者感到樂觀。 |
任務#5:摘要維基百科頁面
題目(Prompt): 搜尋:台北101,請告訴我5個有趣的事實:
模型名稱 |
CPU times |
Wall time: |
(Chat)Completion |
gpt-35-turbo |
0 ns |
3.82 s |
在COVID-19大流行期間,台北101被用作巨大的體溫計。該建築的LED燈會根據溫度變化顏色,藍色表示溫度低於37.5°C (99.5°F),呈現紅色則表示溫度高於37.5°C。這有助於提醒人們測量他們的體溫並警惕病毒的傳播。 台北101曾出現在多部電影和電視節目中,包括電影”露西”和”驚奇之旅19″。它還是多部紀錄片的主題,包括”台北101:建造最高塔”和”台北101:世界上最高的綠色建築”。該建築的獨特設計和工程使其成為遊客和建築愛好者的熱門目的地。 台北101共有101層,第91到101層由台北101天文台佔用。天文台提供台北及其周邊地區的全景,是受歡迎的旅遊景點。遊客可以乘坐高速電梯前往位於第91層的天文台,該天文台提供室內和室外觀景區。 台北101擁有多項世界紀錄,包括世界上最快的電梯、世界上最高的室外觀景台和世界上最大的新年前夕煙火表演。台北101的跨年煙火表演已成為一個重大活動,成千上萬的人聚集在周邊地區觀看表演。該表演包含超過30,000發煙火,持續幾分鐘,高潮迭起,照亮整座建築。 |
gpt-35-turbo-instruct |
0 ns |
1.52 s |
101是台灣最受歡迎的旅遊景點。 1. 從2004年開幕到2009年,台北101是世界上最高的建築,直到被哈利發塔超越。 2. 台北101的電梯可以在短短37秒內從第5層移動到第89層,創下最快電梯速度紀錄。 3. 台北101是世界上最高和最大的綠色建築,於2011年根據LEED認證系統獲得Platinum證書評級。 4. 該建築的後現代建築風格結合了傳統的亞洲美學和現代的工業材料。 5. 台北101由台北金融中心公司擁有,並計劃在70年租約結束後於2067年歸還給台北市。 |
透過上面的任務我們可以看到,「GPT-3.5 Turbo」在CPU運算以及程式執行的時間都會較「GPT-3.5 Turbo 指示」來得多一些,至於在回覆的部分則是各有千秋,有各自的亮點,讀者比較喜歡哪一種呢?
結論
今天討論微軟Azure OpenAI中的兩個大型語言模型: 「GPT-3.5 Turbo」和「GPT-3.5 Turbo 指示」,雖然名字只差一點,使用的方式還是有些許差別。
而上述探討的「Completion API」和「ChatCompletion API」,其實就是決定 AI 回應我們的風格。
閱讀完這篇文章希望讀者能對這兩個模型以及個別的API回覆方式能有更多的認識,不同的模型和API適用於不同的場景。
理解它們的特點和適用情境,當未來讀者要應用Azure OpenAI在自己的程式上時,能夠更有信心地做出最佳選擇,為自己的應用程式發揮 AI 最大的潛能。
近期留言