當(dāng)前位置:首頁 > IT技術(shù) > 其他 > 正文

CA周記 - 帶你進(jìn)? OpenAI 的世界
2022-04-25 22:51:53

2021年11月的 Microsoft Ignite , 微軟帶來了全新的 Azure OpenAI Service,通過新的 Azure 認(rèn)知服務(wù)能夠訪問 OpenAI 強(qiáng)大的 GPT-3 模型 。 雖然微軟還沒有正式開放 Open AI Service , 但 GitHub 和 OpenAI 已經(jīng)推出了基于 GPT-3 的新模型 Codex 的工具 - Copilot ,通過它可以幫助軟件開發(fā)人員更高效地編寫代碼。我相信不少小伙伴都已經(jīng)開始在 Visual Studio Code / Visual Studio 使用 Copilot 感受到 GPT-3 的威力。 作為開發(fā)者, 希望微軟能盡快開放相關(guān)文檔, 能盡快掌握相關(guān)技能 。 為了滿足各位要求, 今天我就帶大家進(jìn)入 OpenAI 。

GPT-3 介紹

2020 年 5 月,Open AI 發(fā)表了一篇開創(chuàng)性的論文,題為 Language Models Are Few-Shot Learners。 他們展示了 GPT-3語言模型,它使用了一個(gè)具有 1750 億個(gè)參數(shù)的神經(jīng)網(wǎng)絡(luò)。 GPT-3 使用來自 CommonCrawl、WebText、維基百科和書籍語料庫的數(shù)據(jù)進(jìn)行訓(xùn)練, 并在各種自然語言處理任務(wù)中表現(xiàn)出驚人的性能,包括翻譯、問答和完形填空任務(wù)。在性能上 GPT-3 也是非常優(yōu)秀, 超過了很多現(xiàn)有的模型。2020 年 7 月,也就是論文發(fā)表兩個(gè)月后,OpenAI 開放了一個(gè) beta API playground,大家可以通過 API 方式訪問 GPT-3 模型。

GPT-3 的幾個(gè)主要特點(diǎn)

1. 零/單/少樣本學(xué)習(xí)(Zero/one/few-shot learning): 通常,深度學(xué)習(xí)會(huì)針對(duì)一組特定的類別進(jìn)行訓(xùn)練和測(cè)試。 如果計(jì)算機(jī)視覺中對(duì)星球大戰(zhàn)中的 BB8 , R2D2 , C3PO 進(jìn)行分類,在測(cè)試過程中就只能針對(duì)這三個(gè)類別進(jìn)行。 但在零樣本學(xué)習(xí)設(shè)置中,系統(tǒng)在測(cè)試時(shí),可以使用不在訓(xùn)練內(nèi)的類別(例如,用曼努達(dá)人做測(cè)試)。 單/少樣本學(xué)習(xí)(one-shot 和few-shot) 也是一個(gè)道理,在測(cè)試時(shí),系統(tǒng)會(huì)分別看到一個(gè)或幾個(gè)新的類別。

2. 零/單/少樣本任務(wù)遷移(Zero/one/few-shot task transfer): 這個(gè)整合了 零/單/少樣本學(xué)習(xí)和多任務(wù)學(xué)習(xí)的概念。 新任務(wù)(或者顯示零個(gè)、一個(gè)或幾個(gè)新任務(wù)的示例)可以隨時(shí)執(zhí)行,而不是在測(cè)試時(shí)才展示新類。 例如, 輸入 “I love you -> 我愛你。 I miss you -> ____?!?GPT-3 就可以通過單樣本任務(wù)遷移 ,把之前沒有訓(xùn)練過的英語轉(zhuǎn)中文的任務(wù)執(zhí)行起來

3. Transformers: Transformers 是解決機(jī)器翻譯問題的框架, 有一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu),基于自注意機(jī)制,不依賴于遞歸和卷積完全。通過并行計(jì)算使Transformer效率高,需要更少的訓(xùn)練時(shí)間。

4. 生成模型(Generative models): 統(tǒng)計(jì)學(xué)中分類任務(wù)有兩種模型-判別模型,生成模型。 判別模型對(duì)給定的可觀察變量和目標(biāo)變量對(duì)的條件概率進(jìn)行編碼:p(y|x)。 生成模型對(duì)聯(lián)合概率進(jìn)行編碼:p(x,y)。 生成模型可以“生成類似于現(xiàn)有數(shù)據(jù)的新數(shù)據(jù)”,GPT-3 模型就是應(yīng)用生成模型來。

5. 多任務(wù)學(xué)習(xí)(Multitask learning): 大多數(shù)深度學(xué)習(xí)系統(tǒng)都是單任務(wù)的, 只針對(duì)特定的場(chǎng)景。多任務(wù)系統(tǒng)克服了這一限制。 他們受過訓(xùn)練,能夠針對(duì)給定的輸入解決不同的任務(wù)。 例如我輸入一個(gè)蘋果,他可以幫我翻譯成英文的 Apple ,可以找到一張?zhí)O果的圖片,也可以找到蘋果的一些特征等。

6. 半監(jiān)督學(xué)習(xí)(Semi-supervised learning): 是以無監(jiān)督的方式訓(xùn)練具有非常大數(shù)據(jù)集的模型,然后通過在較小的數(shù)據(jù)集中使用監(jiān)督訓(xùn)練來調(diào)整模型以適應(yīng)不同的任務(wù)。

通過 OpenAI API 調(diào)用GPT-3

由于微軟現(xiàn)在還沒開放 OpenAI 的 GPT-3 功能 , 現(xiàn)階段我們只能通過 OpenAI (beta.openai.com) 提供的 API 使用 GPT-3 。(當(dāng)然你需要有一個(gè)美國的電話號(hào)碼來激活該功能) ,OpenAI 有非常豐富的文檔, 以及示例 ,讓開發(fā)者可以非常快上手使用 API。

Python 調(diào)用 API 幾個(gè)必須的步驟

  1. 安裝 openai 庫

pip install openai

  1. 申請(qǐng) API 的密鑰

  2. 可以通過 Notebook 測(cè)試一下

幾個(gè)注意的點(diǎn)

  1. 模型 engine ,現(xiàn)在針對(duì) GPT-3 有2個(gè)比較主要的模型
模型 介紹
text-davinci-002 GPT-3 關(guān)于自然語言處理場(chǎng)景的模型,通常需要較少的上下文。 除了響應(yīng)提示外,還支持在文本中插入補(bǔ)全。
code-davinci-002 可以理解和生成程序代碼的模型,包括將自然語言翻譯成代碼(這個(gè)模型需要另外申請(qǐng))
  1. 關(guān)于一些示例,你可以通過訪問
    https://beta.openai.com/examples 學(xué)習(xí)更多的應(yīng)用場(chǎng)景


  2. 你可以通過 OpenAI 提供的 Playground 做一些測(cè)試 https://beta.openai.com/playground

  3. 你可以針對(duì)自己的業(yè)務(wù)定義 GPT-3 模型 ,你可以通過該鏈接了解更多 https://openai.com/blog/customized-gpt-3/

展望

GPT-3 功能強(qiáng)大 ,讓 AI 應(yīng)用場(chǎng)景更貼近實(shí)際的生活 。 我非常希望微軟的 OpenAI Service 能盡快開放 ,讓更多的開發(fā)者能使用。 還有現(xiàn)在 OpenAI GPT-3 在中文的支持還是非常有限的, 我也寄望微軟版本的服務(wù)能有更好的中文支持。

相關(guān)資料

  1. 了解 Azure OpenAI Service 功能,請(qǐng)?jiān)L問 https://azure.microsoft.com/en-us/services/cognitive-services/openai-service/

  2. Azure OpenAI Service 介紹,請(qǐng)?jiān)L問
    https://blogs.microsoft.com/ai/new-azure-openai-service/

  3. OpenAI 的相關(guān)博客 https://openai.com/blog/

本文摘自 :https://www.cnblogs.com/

開通會(huì)員,享受整站包年服務(wù)立即開通 >