Contents
藉由每週的文章選讀改變 4 個觀點,是逐漸改變大腦慣性的最佳方法!
每週一到週四我們會選讀實用,有啟發性的文章,並摘要我們看到的重點筆記。週五我們會彙整一個週報,讓你在週末方便回顧這週的文章選讀
原文連結:How to Build Amazing AI Use Cases under 10 Mins using GPT-3?
為什麼選讀這篇文章?
GPT-3 是一個強大的自然語言處理模型,並且透過開放 API 讓你不必具備大量的資料科學技術就可以利用這個自然語言處理模型提供的功能。
想像一下如果你是一位行銷人員,透過 GPT-3 就可以幫你產生文案,你是一位商業分析人士,不必學會 SQL 語法就可以跟資料庫互動 ( 請參考以下的延伸閱讀 )
GPT-3 還有很多神奇的功能等待我們去挖掘,這篇文章使用簡短的 Python 程式碼示範了三個範例,看完這三個簡單的範例,你會發現自然語言處理不是那麼遙不可及
對了 GPT-3 的 API 還沒全面開放,也是用候補名單的方式,看完後趕快去申請來玩看看體驗一下吧!
[會員服務]文章內容重點筆記
✍溫馨小提醒:這篇文章我全部翻成中文,建議可以先看文章的大綱和我標黑體的重點,快速掌握這篇文章的內容後再看細節。最近我使用這個方法看書,效果也不錯。
你是否認為建構一個基於自然語言處理( NLP )的人工智慧應用程式,如聊天機器人或翻譯機,需要大量的資料科學技能,會花費大量時間?事實並非總是如此,本文將幫助你更好地理解。我將展示如何使用GPT-3以最小的開發工作量建構一些令人驚歎的基於NLP的AI應用程式。在進入建構之前,我們先來了解一下什麼是GPT-3,以及GPT-3都有哪些特性使其如此特別。
什麼是 GPT-3?
GPT-3 是 Generative Pre-trained Transformer 3 的縮寫,它是在大量的網際網路資料集上訓練出來的語言模型,由一家名為 OpenAI 的公司開發。GPT-3是透過API提供的,目前,API處於受控測試階段,有一個等候名單,可以獲得這個神奇的API。
以下是GPT-3 模型最受關注的一些原因。
- GPT-3 模型由1750億個參數(parameters)組成,上一版本GPT-2模型只有15億個參數。參數是神經網路模型中的權重,它將輸入轉化為輸出
- 它是一個生成式(generative)模型,這意味著它有能力生成一個長長的單詞序列,作為一個連貫的輸出
- 這個最先進的語言模型幾乎可以對傳遞給它的任何問題做出回應,而且也是以更人性化的方式進行回應
- 模型訓練中使用的數十億字、文字和程式碼片段,因此使它能夠使用廣泛的程式語言中自動編碼
- 它的多國語言文字處理有助於處理英語以外的其他語言
- 最好的部分是 GPT-3 模型可以執行特定的任務,比如做一個翻譯或聊天機器人或程式碼建構者,不需要任何量身定做或任何特殊的調整,它所需要的只是一些訓練案例
要了解更多關於這個神奇模型的技術細節,請檢視這裡。在本文中,我將向你展示如何使用這個神奇的API來解決不同的基於 NLP 的 AI 使用案例
訪問 GPT-3 測試版API
要建構本文所涉及的使用案例,你需要訪問 GPT-3 測試版API。目前只有透過邀請才能使用,你可以使用下面的連結申請訪問。它將帶你進入一個表格,在這個表格中,你會被問到幾個關於你的組織和你計劃實施的專案的問題。

實現背景
為了與GPT-3 API對接,我將使用以下 gpt3-sandbox repository 中的一個script。我使用的 script是在API資料夾下的gpt.py,它使我能夠訪問GPT-3 API,從而能夠展示不同的使用案例。本文中使用的 script 可以在這裡找到。
使用案例 1 — 聊天機器人
在這裡,我們不打算透過任何訓練範例,而只是直接訪問API並將其作為聊天機器人使用。
在下面的範例中,我匯入了所需的套件以及我們從 “gpt3-sandbox “資源庫中下載的 script。我們將向模型傳遞三個參數。
- 引擎( Engine )–有四個選項供我們選擇,它們是 Davinci、ADA、Babbage和Curie。我們將使用 Davinci,因為它是使用1750億個參數訓練出來的最強大的引擎
- 溫度 (Temperature ) – 這通常是在0和1之間,它用於控制生成輸出的隨機性。0的值使模型的確定性,也就是說,每次執行時的輸出都是一樣的,而另一方面,1的值則會使生成的輸出具有很高的隨機性
- max_tokens – 最大完成長度
在下面的 script 中,需要問的問題被傳遞到變數 “prompt1 “中,然後使用submit_request函式傳遞給模型。結果儲存在 “output1 “變數中,如下圖所示。
import json
import openai
from gpt import GPT
from gpt import Example
import config
# Reading the API key from a file service_key = config.api_key openai.api_key = service_key
# Application 1 - Directly use as chatbot Use-case
gpt1 = GPT(engine="davinci", temperature=0.2, max_tokens=100)
# Input to the Model
prompt1 = "How to learn data science?" output1 = gpt1.submit_request(prompt1)
# Model Output output1.choices[0].text
輸出為
'\nI think the best way to learn data science is to do data science.\n\nI’ve been doing data science for a few years now, and I’ve learned a lot from doing it. I’ve learned a lot from reading books and blogs, but I’ve learned the most from doing it.\n\nI’ve learned a lot from doing data science, and I’ve learned a lot from reading books and blogs.\n\nI'
在上面的例子中,正如你所看到的,模型可以對所問的問題做出一個非常好的回答,而不需要變更或調整。由於這裡我們沒有提供任何訓練範例,所以模型的輸出不需要總是響應,它可以用類似的問題集或與輸入相關的內容來實現。透過提供一些訓練範例,可以提高效能。
使用案例 2 — LaTex — 文字轉成方程式
在下面的例子中,我們將看到用極少的訓練實現文字到方程式的轉換,這是其他預訓練模型無法實現的。
在下面的例子中,溫度值已經被增加,以給響應帶來一些隨機性,我們也將一些預定義的範例作為訓練資料集傳遞給模型。只需5個例子,我們就可以訓練模型將文字轉換為一個方程式。在用已知的例子訓練模型後,我們將以下內容作為輸入 “x squared plus 2 times”,模型將其轉換為一個方程式。
# Application 2 - LaTex Use-case - Text to Equation
gpt2 = GPT(engine="davinci", temperature=0.5, max_tokens=100)
# Examples to train as LaTex Application gpt2.add_example(Example('Two plus two equals four', '2 + 2 = 4'))
gpt2.add_example(Example('The integral from zero to infinity', '\\int_0^{\\infty}'))
gpt2.add_example(Example('The gradient of x squared plus two times x with respect to x', '\\nabla_x x^2 + 2x')) gpt2.add_example(Example('The log of two times x', '\\log{2x}'))
gpt2.add_example(Example('x squared plus y squared plus equals z squared', 'x^2 + y^2 = z^2'))
# Input to the model
prompt2 = "x squared plus 2 times x"
output2 = gpt2.submit_request(prompt2) # Model Output output2.choices[0].text
輸出為
'x^2 + 2x\n\n'
使用案例 3 —翻譯器 (英文翻成法文)
就像上面的使用案例一樣,透過一些例子,我們可以將模型訓練成一個翻譯器的樣子。下面是翻譯模組的程式碼,在這裡我們訓練模型只用三個範例就能將英文文字翻譯成法語。
# Application 3 - Translator Use-case
gpt3 = GPT(engine="davinci", temperature=0.5, max_tokens=100)
# Examples to train as a English to French translator gpt3.add_example(Example('What is your name?', 'quel est votre nom?'))
gpt3.add_example(Example('What are you doing?', 'Que faites-vous?'))
gpt3.add_example(Example('How are you?', 'Comment allez-vous?'))
# Input to the model prompt3 = "where are you?"
output3 = gpt3.submit_request(prompt3)
# Model output
output3.choices[0].text
輸出為
Où êtes-vous?\n\n'
該模型能夠以極小的開發工作量完成 “外語翻譯 “或 “文字到方程式轉換 “等特定任務,這種能力使其非常特殊。
下面是一個教學影片,我提供了一個使用案例實現的演練。
使用 GPT-3 創造的一些很酷的應用程式
要了解更多關於使用 GPT3 建構的有趣應用程式,請點選這裡。
關於作者
我是一名資料科學專家,有超過10年的經驗,我已經撰寫了2本資料科學方面的書籍。我寫資料科學相關的內容,意在使其簡單易懂。請在Medium上關注我。我也有一個YouTube頻道,在那裡我教授和談論各種資料科學概念。如果有興趣,請在下面訂閱我的頻道。.Data Science with SharanI am a Data Science professional with more than a decade of experience in advanced analytics and applied machine…www.youtube.com。
🔥 如果你喜歡我們策展的文章,歡迎支持我們加入我們的 Soft & Share 友情贊助訂閱
相關線上課程
文章中的程式碼是用 Python 寫成的,如果想要學習 Python ,可以參考這個熱門課程