OpenAI新上線GPT太強了,服務(wù)器瞬間擠爆,馬斯克:你們太沉迷了
當每個人都在苦苦等待 GPT-4 發(fā)布時,OpenAI 卻一直遲遲沒有消息,仍在修復其前身。這家總部位于舊金山的公司于昨日發(fā)布了一個名為 ChatGPT 的新模型,它是 GPT-3 的衍生產(chǎn)品,它以對話的方式進行交互。
這種對話允許 ChatGPT 回答后續(xù)問題,承認錯誤,挑戰(zhàn)不正確的前提,并拒絕不適當?shù)恼埱蟆2煌趧e的語言模型胡編亂造,例如 Meta 的語言模型 Galactica 因為不負責任的胡編亂造,上線幾天就下架了。ChatGPT 的不同之處在于,當它不知道自己在說什么時,它承認不知道。此外,ChatGPT 拒絕回答它沒有受過訓練的問題,例如,它不會試圖回答有關(guān) 2022 年之后發(fā)生的事件的問題。它也不會回答關(guān)于個人的問題。
這個模型到底有多智能?以前調(diào)試代碼的腦力活都得程序員親自動手,現(xiàn)在 ChatGPT 可以攬下這個苦差事。
用戶表示:這段代碼沒有像我期望的那樣運行,我該如何修改?
ChatGPT:你給的上下文信息太少了,很難說出代碼的問題。你能否提供更多關(guān)于代碼的信息,比如代碼用來干什么的,這是整個代碼還是其中的一部分?
用戶:這是代碼的一部分。我認為 channel 出現(xiàn)了問題。
ChatGPT:如果沒有更多信息來說明代碼應(yīng)該做什么、執(zhí)行時發(fā)生了什么,這個問題就很難說了。從你提供的信息可以看出,代碼的一個潛在問題是 resultWorkerErr channel 從未關(guān)閉,這意味著如果從未寫入 resultWorkerErr channel,代碼可能會掛起。如果 b.resultWorker 沒有返回錯誤或者它在有機會返回錯誤之前被取消,就會發(fā)生這種情況。
要解決此問題,你可以在寫入 resultWorkerErr channel 后將其關(guān)閉。例如,你可以在向 channel 發(fā)送錯誤的行之后添加以下代碼行:
這將確保 resultWorkerErr channel 總是關(guān)閉的,即使 b.c retworker 從未返回錯誤。同樣,如果沒有更多關(guān)于你所看到的問題的信息,很難判斷這是否是你正在經(jīng)歷的問題。你能提供更多關(guān)于運行代碼時發(fā)生的細節(jié)嗎?
以上就是 ChatGPT 修改 Bug 的一個過程,可以說是刨根問底了。
在下面的示例中,ChatGPT 提供了對后續(xù)指令的響應(yīng)。下圖大概意思是說,用戶要求 ChatGPT 幫自己寫個簡短的介紹,好與鄰居認識一下;ChatGPT 給出了一篇簡短文字介紹,但用戶嫌棄不夠正式,好脾氣的 ChatGPT 又來了一版正式一點的;之后用戶又提了一個要求,讓 ChatGPT 幫忙寄出去。最后 ChatGPT 回答:「很抱歉,我是一個基于文本的 AI 助手,沒有能力為你發(fā)送一封實體信件。我只能提供關(guān)于寫什么的建議。你可以接受該建議并自己發(fā)送這封信?!?/span>
看到這,你是不是也想嘗試一番。不錯,這個模型一經(jīng)發(fā)布,讓很多人沉迷而無法自拔,就連馬斯克都來了一句:「很多人陷入了該死瘋狂的 ChatGPT 循環(huán)中?!?/span>
一時間,大家仿佛找到了一個新的樂子,紛紛和 ChatGPT 打開了對話模式?!敢笏忉屢粋€沒有上下文的復雜的正則表達式……」這個問題真是夠難為人的,但是難不倒 ChatGPT??催@解釋的篇幅,應(yīng)該是解釋清楚了。
「ChatGPT 是一個很好的 debugging 伙伴,它不僅能解釋 bug,還能修復 bug 并解釋修復 bug 的方法?!咕W(wǎng)友表示。
更有網(wǎng)友不可思議道:「天吶,ChatGPT 竟然知道 AWS IAM 策略?!?/span>
「ChatGPT 可以生成數(shù)百行 Python 代碼,將 100 GB 的文件上傳到 AWS S3 bucket 中,只需編寫這樣一句話即可「Write Python code to upload a file to an AWS S3 bucket(編寫 Python 代碼,將文件上傳到 AWS S3 bucket 中)?!?/span>
由于大家太過熱情,試用網(wǎng)站已經(jīng)崩了:「我們的需求異常旺盛。請稍等,我們正在擴充我們的系統(tǒng)。」
試用地址:chat.openai.com
方法
ChatGPT 使用與 InstructGPT 相同的方法——用人類反饋強化學習 (RLHF) 訓練模型,但數(shù)據(jù)收集設(shè)置略有不同。ChatGPT 使用監(jiān)督微調(diào)訓練了一個初始模型:人類 AI 訓練員提供對話,他們在對話中扮演雙方——用戶和 AI 助手,AI 訓練員可以訪問模型編寫的對話回復,以幫助 AI 調(diào)整回復內(nèi)容。
為了創(chuàng)建強化學習的獎勵模型,該研究需要收集比較數(shù)據(jù),其中包含兩個或多個按質(zhì)量排序的模型回復。該研究收集了 AI 訓練員與聊天機器人的對話,并隨機選擇一條模型編寫的消息,抽取幾個備選回復,讓 AI 訓練員對這些回復進行排名。此外,該研究還使用近端策略優(yōu)化算法(PPO)微調(diào)模型,并對整個過程進行了幾次迭代。
ChatGPT 對 GPT-3.5 系列中的某個模型進行了微調(diào),該模型于 2022 年初完成訓練。ChatGPT 和 GPT 3.5 在 Azure AI 超級計算基礎(chǔ)設(shè)施上進行了訓練。
局限性
1. ChatGPT 有時會寫出看似合理但不正確或荒謬的答案。解決這個問題非常具有挑戰(zhàn)性,因為:
- RL 訓練期間需要現(xiàn)實世界的數(shù)據(jù),但目前沒有來源;
- 模型被訓練得過于謹慎導致它拒絕回答可以正確回答的問題;(3) 監(jiān)督訓練會影響模型的性能,因為理想情況是模型知道正確答案是什么,而不是人類演示者知道是什么。
- ChatGPT 對調(diào)整輸入措辭或多次嘗試相同的 prompt 很敏感。例如,給定一個問題,模型可以聲稱不知道答案,但只要對問題稍作改寫,模型就就可以正確回答。
- 模型的回答通常過于冗長并過度使用某些短語,例如重申它是 OpenAI 訓練的語言模型。這些問題源于訓練數(shù)據(jù)(訓練者喜歡看起來更全面的長答案)和過度優(yōu)化。
- 理想情況下,當用戶提供模棱兩可的查詢時,模型會提出質(zhì)疑,然而 ChatGPT 目前是自行猜測用戶的意圖。
- 雖然該研究已努力使模型拒絕不當請求,但它有時會回復有害指令或給出有偏見的回答。研究團隊正在使用 Moderation API 來警告模型或阻止某些類型的不安全內(nèi)容,并試圖收集用戶反饋來進一步改進該系統(tǒng)的工作。
相比于 GPT-3 和 Codex,ChatGPT 作為 OpenAI 最新發(fā)布的模型,已經(jīng)在安全性和可用性方面做出了諸多改進,汲取了先前模型的經(jīng)驗教訓,并通過使用人類反饋強化學習 (RLHF) 大幅減少了模型的有害和不真實輸出。