原文標(biāo)題:《ChatGPT 已能操控機(jī)器人,工程師連代碼都不用寫,網(wǎng)友:微軟在搞天網(wǎng)?》
當(dāng)我還在跟 ChatGPT 吹牛尬聊時(shí),有人已經(jīng)在拿它操控機(jī)器人了。
不是別人,正是 OpenAI 的金主爸爸、不久前剛拿 ChatGPT“重新發(fā)明搜索引擎”的微軟。
到目前為止,開(kāi)發(fā)者調(diào)教機(jī)器人不僅技術(shù)門檻高,還道阻且長(zhǎng):
工程師需要在工作流程回路中,不斷手寫新代碼和規(guī)范來(lái)糾正機(jī)器人行為;另外,操控不同的機(jī)器人可能需要不同的編程語(yǔ)言和環(huán)境。
而在 ChatGPT 的幫助下,工程師甚至不用手寫代碼 —— 直接用人話描述想做什么,AI 就能自動(dòng)翻譯成機(jī)器語(yǔ)言。
這意味著,一方面專業(yè)人士與機(jī)器人的交互效率起飛;另一方面,技術(shù)門檻也降低一大截,外行人甚至也能參與調(diào)試,創(chuàng)造出更多使用方法。
舉個(gè)簡(jiǎn)單的例子:讓無(wú)人機(jī)自動(dòng)檢查貨架。
首先,操作者只需用自然語(yǔ)言給 ChatGPT 提出要求;然后,AI 就能自動(dòng)翻譯成代碼,并指揮無(wú)人機(jī)行動(dòng)。(還可以規(guī)定無(wú)人機(jī)的飛行路徑。)
難怪特斯拉前 AI 主管 Andrej Karpathy 會(huì)調(diào)侃:
最新的熱門編程語(yǔ)言是英語(yǔ)。
一個(gè) AI 指揮多種機(jī)器人
實(shí)際上,ChatGPT 會(huì)玩兒的花樣可多了。
比如,一位操作者跟 AI 說(shuō):“我渴了,請(qǐng)幫我找個(gè)喝的?!?/p>
此時(shí) AI 并不會(huì)直愣愣地就去找水了,而是會(huì)很機(jī)靈地反問(wèn):
請(qǐng)問(wèn)你想喝哪種?這里有好幾種飲料,比如椰子水、可樂(lè)等等。
當(dāng)然操作者也不是吃素的,他并未直接告訴 AI 選哪個(gè),而是說(shuō):“我剛從健身房回來(lái),請(qǐng)幫我找個(gè)健康點(diǎn)兒的飲料?!?/p>
然后更神奇的操作就開(kāi)始了:
AI 先是猜測(cè)他想喝椰子水,然后自己噼里啪啦寫出一段代碼(甚至還有注釋):
寫完就自己指揮無(wú)人機(jī)去找椰子水:
除了無(wú)人機(jī),ChatGPT 還能輕松操控別的小機(jī)器人,包括攝像頭、機(jī)械臂等等。
比如讓攝像頭在房間里找出能加熱午飯的東西。
還有指揮機(jī)械臂拼出一個(gè)微軟的 Logo。(悄悄夾帶私貨)
看到這些,有網(wǎng)友腦洞大開(kāi),有人發(fā)問(wèn):
他們是不是正在建立無(wú)所不能的天網(wǎng)?
還有人甚至調(diào)侃稱,AI 可能連發(fā)射核彈的指令都會(huì)寫:
不過(guò)話說(shuō)回來(lái),其實(shí)離網(wǎng)友說(shuō)的這些還差得遠(yuǎn),畢竟現(xiàn)在還是需要人類參與的。
怎么實(shí)現(xiàn)的?
從前文可以看出,這只靈活的 AI 不僅與人交流暢通無(wú)阻,而且和機(jī)器也能快速溝通。
這主要得益于微軟團(tuán)隊(duì)專門開(kāi)發(fā)的一系列 API 和高級(jí)函數(shù)庫(kù)。
他們沒(méi)有讓 ChatGPT 背后的語(yǔ)言大模型(LLM),生成某固定種類的代碼;因?yàn)闄C(jī)器人是個(gè)多元化領(lǐng)域,這樣可能會(huì)在不同場(chǎng)景下涉及大量微調(diào)。
而在新穎的操作框架下,不同機(jī)器人,都有自己對(duì)應(yīng)的特定函數(shù)庫(kù)。
—— 一個(gè) AI,就能適應(yīng)不同的對(duì)象、不同的任務(wù)。
一方面,這些函數(shù)庫(kù),能夠連接到機(jī)器人控制系統(tǒng)中管理底層硬件,以及執(zhí)行基本運(yùn)動(dòng)的代碼和功能模塊。
另一方面,為了讓 ChatGPT 也能遵循函數(shù)庫(kù)的規(guī)則,預(yù)定義函數(shù)命名就很關(guān)鍵。清晰的函數(shù)名,能讓各 API 之間建立良好的功能連接,最終生成高質(zhì)量的回答。
其中一項(xiàng)要求,就是所有 API 名稱必須描述整體功能行為。例如,detect_object (object_name) 函數(shù)可以在內(nèi)部鏈接到 OpenCV 函數(shù)或計(jì)算機(jī)視覺(jué)模型。
設(shè)計(jì)好庫(kù)和 API 后,微軟給 ChatGPT 編寫了一個(gè)文本提示(prompt),描述目標(biāo)任務(wù),并明確說(shuō)明函數(shù)庫(kù)中哪些函數(shù)可用;另外,這還能規(guī)定 ChatGPT 生成代碼用哪種編程語(yǔ)言。
值得一提的是,AI 生成內(nèi)容效果,和人為提示的質(zhì)量呈正相關(guān)。為此,微軟還開(kāi)發(fā)了一個(gè)協(xié)作開(kāi)源平臺(tái) PromptCraft,任何人都能在此分享不同類機(jī)器人的 Prompt 策略。
到此,幕后部署基本完成,然后用戶就能通過(guò)“說(shuō)人話”間接操控機(jī)器人了。
如果想要檢查 AI 生成的代碼是否有 Bug,隨時(shí)都能在聊天框直接檢查,或通過(guò)模擬器測(cè)試,人類可以用自然語(yǔ)言指導(dǎo) AI 進(jìn)行修正。
另外,還能等到用戶對(duì)解決方案滿意為止,再將 ChatGPT 生成代碼部署到機(jī)器人上。
最后,如果是你,會(huì)想用 ChatGPT 操控機(jī)器人做些什么呢?
論文地址:
https://www.microsoft.com/en-us/research/uploads/prod/2023/02/ChatGPT___Robotics.pdf
參考鏈接:
[1]https://arstechnica.com/information-technology/2023/02/robots-let-chatgpt-touch-the-real-world-thanks-to-microsoft/
[2]https://www.microsoft.com/en-us/research/group/autonomous-systems-group-robotics/articles/chatgpt-for-robotics/
[3]https://github.com/microsoft/PromptCraft-Robotics#promptcraft-robotics
本文來(lái)自微信公眾號(hào):量子位 (ID:QbitAI),作者:Alex
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。