2021年11⽉的 Microsoft Ignite , 微軟帶來了全新的 Azure OpenAI Service,通過新的 Azure 認知服務能夠訪問 OpenAI 強⼤的 GPT-3 模型 。雖然微軟還沒有正式開放 Open AI Service , 但 GitHub 和 OpenAI 已經推出了基於 GPT-3 的新模型 Codex 的⼯具 - Copilot ,通過它可以幫助軟體開發⼈員更⾼效地編寫程式碼。我相信不少⼩夥伴都已經開始在 Visual Studio Code / Visual Studio 使⽤ Copilot 感受到 GPT-3 的威⼒。作為開發者, 希望微軟能儘快開放相關⽂檔, 能儘快掌握相關技能 。為了滿⾜各位要求, 今天我就帶⼤家進⼊OpenAI 。
GPT-3 介紹
2020年5月,Open AI 發表了一篇開創性的論文,題為 Language Models Are Few-Shot Learners。他們展示了 GPT-3語言模型,它使用了一個具有 1750 億個引數的神經網路。GPT-3 使用來自 CommonCrawl、WebText、維基百科和書籍語料庫的資料進行訓練, 並在各種自然語言處理任務中表現出驚人的效能,包括翻譯、問答和完形填空任務。在效能上 GPT-3 也是非常優秀, 超過了很多現有的模型。2020年7月,也就是論文發表兩個月後,OpenAI 開放了一個 beta API playground,大家可以通過 API 方式訪問 GPT-3 模型。
GPT-3 的⼏個主要特點
- 零/單/少樣本學習(Zero/one/few-shot learning): 通常,深度學習會針對⼀組特定的類別進⾏訓練和測試。如果計算機視覺中對星球⼤戰中的 BB8 , R2D2 , C3PO 進⾏分類,在測試過程中就只能針對這三個類別進⾏。但在零樣本學習設定中,系統在測試時,可以使⽤不在訓練內的類別(例如,⽤曼努達⼈做測試)。單/少樣本學習(one-shot 和few-shot) 也是⼀個道理,在測試時,系統會分別看到⼀個或⼏個新的類別。
- 零/單/少樣本任務遷移(Zero/one/few-shot task transfer):這個整合了 零/單/少樣本學習和多工學習的概念。新任務(或者顯示零個、⼀個或⼏個新任務的示例)可以隨時執⾏,⽽不是在測試時才展示新類。例如, 輸⼊ “I love you -> 我愛你。I miss you -> ____。” GPT-3 就可以通過單樣本任務遷移 ,把之前沒有訓練過的英語轉中⽂的任務執⾏起來。
- Transformers:Transformers 是解決機器翻譯問題的框架, 有⼀個簡單的⽹絡結構,基於⾃注意機制,不依賴於遞迴和卷積完全。通過並⾏計算使Transformer效率⾼,需要更少的訓練時間。
- ⽣成模型(Generative models):統計學中分類任務有兩種模型-判別模型,⽣成模型。判別模型對給定的可觀察變數和⽬標變數對的條件概率進⾏編碼:p(y|x)。⽣成模型對聯合概率進⾏編碼:p(x,y)。⽣成模型可以“⽣成類似於現有資料的新資料”,GPT-3 模型就是應⽤⽣成模型來。
- 多工學習(Multitask learning):⼤多數深度學習系統都是單任務的, 只針對特定的場景。多工系統克服了這⼀限制。他們受過訓練,能夠針對給定的輸⼊解決不同的任務。例如我輸⼊⼀個蘋果,他可以幫我翻譯成英⽂的 Apple ,可以找到⼀張蘋果的圖⽚,也可以找到蘋果的⼀些特徵等。
- 半監督學習(Semi-supervised learning):是以⽆監督的⽅式訓練具有⾮常⼤資料集的模型,然後通過在較⼩的資料集中使⽤監督訓練來調整模型以適應不同的任務。
通過 OpenAI API 調⽤GPT-3
由於微軟現在還沒開放 OpenAI 的 GPT-3 功能 , 現階段我們只能通過 OpenAI 提供的 API 使⽤ GPT-3 。(當然你需要有⼀個美國的電話號碼來啟用該功能) ,OpenAI 有⾮常豐富的⽂檔, 以及示例 ,讓開發者可以⾮常快上⼿使⽤ API。
▌Python 調⽤ API ⼏個必須的步驟
1.安裝 openai 庫pip install openai
- 申請 API 的金鑰
- 可以通過 Notebook 測試⼀下
▌⼏個注意的點
- 模型 engine ,現在針對 GPT-3 有2個⽐較主要的模型
- 關於⼀些示例,你可以通過訪問下方連結學習更多的應⽤場景
- 你可以通過 OpenAI 提供的 Playground 做⼀些測試
- 你可以針對⾃⼰的業務定義 GPT-3 模型 ,你可以通過下方連結瞭解更多
展望
GPT-3 功能強⼤ ,讓 AI 應⽤場景更貼近實際的⽣活 。我⾮常希望微軟的 OpenAI Service 能儘快開放 ,讓更多的開發者能使⽤。還有現在 OpenAI GPT-3 在中⽂的⽀持還是⾮常有限的, 我也寄望微軟版本的服務能有更好的中⽂⽀持。
相關資料
Microsoft Build 2022已正式啟動報名!
立即掃碼註冊大會
5月11日後可預約session
關注微軟中國MSDN公眾號瞭解更多