這次有幸可以前往在日本橫濱舉辦的IEEE ICRA(International Conference on Robotics and Automation)展覽,有許多的廠商以及學校在現場設攤,展出他們最新的設備產品以及技術研究,還有由學生以海報形式進行的研究發表,讓我們得以見識到在機器人各大領域中的最新知識,有應用在各方面的大語言模型(LLM),還有用在自動駕駛上的新技術等。在會場繁多的資訊當中,我們選出了數個具有特色的內容,在文章中將會做簡單的分享講解。
使用大語言模型與提示詞操控機器人
專案網址:https://robot-promptbook.github.io/
論文網址:https://openreview.net/forum?id=T8AiZj1QdN
適合的運算裝置:Nvidia Jetson AGX Orin
這份研究是由Google Deepmind發表,相信大家對Deepmind都不陌生,就是開發出圍棋人工智慧軟體AlphaGo的Google子公司。這次發表的內容是基於他們過去提出的程式碼即原則(Code as Policies),這是一種讓使用者只需要給予少量的說明,就能讓語言模型生成程式碼,用來精確操控機器人的概念。在Code as Policies之上,Deepmind精心設計了一組提示詞的配方,他們稱為PromptBook,內容包含了以下幾點:
- 一組註解用來描述機器人的構造、周遭的環境,還有一些對於機器人動作的限制,比如說機器人有幾隻機械手臂、安裝的平台能否移動、手臂的移動範圍等類似的內容。
- 一組註解用來描述機器人的座標系統,例如前後移動是X軸、左右移動是Y軸、上下移動是Z軸之類的,還有表達手臂上的夾爪方向訊息。
- 列出操控機器人可能會需要的所有API,讓語言模型知道有哪些功能可用在操作上。
- 數組運用到關聯思考(Chain-of-Thought)的範例,從模擬使用者要求衍生出需要進行的操作,並在每一步操作程式前附加使用該操作的原因,讓語言模型理解輸出結果時應該要有的格式。
- 使用者提供要求後,透過外部的程式進行物件偵測,將結果以邊界框(Bounding Box)的形式加入提示詞中。
- 等待語言模型生成輸出內容後,使用者給予反饋,要求其改進內容,重複進行這一步直到滿足使用者需求。
過去通常是透過語言模型呼叫預先訓練與編寫好的設定來執行動作,或是在生成的程式碼中運用代價地圖等方式產生動作路線,這些方法通常無法移植到其他環境,限制了系統的攜帶性(Portability)與通用性(Generalization)。研究中的PromptBook可以使用指令式提示詞(Instruction-based Prompting)、提示詞中提供的範例以及通過外部進行的物件偵測,讓語言模型產生出高複雜度的動作規劃,並且在零樣本(Zero Shot)的情況下也能結合提示詞、範例與動作API在各種環境產生可以使用的動作路線。
簡而言之,透過PromptBook有望可以舒緩在建立機器人系統時的最大難點,將機器人部署到各種環境時,為了要讓它在新的情境下可以更好的運作,往往都需要花費大量時間與人力,針對各種動作去做適應與調整。PromptBook中的方法使用設計好的提示詞,加上對環境中的物件進行偵測,就能直接生成適合當下環境的的動作指令,節省設定的時間。
這項技術或許可以結合第一篇文章中東京大學松尾實驗室的通用服務機器人,將在NVIDIA Jetson AGX Orin上透過影像生成的環境偵測資訊,以及彙整動作控制指令加入PromptBook的設定中,增進大語言模型在規劃動作上的能力,並降低錯誤產生的機率,對於PromptBook的使用者反饋也能使用Whisper語音轉文字輸入,加速整個流程的循環速度。
關於東京大學松尾實驗室的通用服務機器人,可以參考部落格文章:
[東京大學松尾實驗室-使用GPT4等大型語言模型(LLM)打造可自我恢復的通用服務機器人-NVIDIA AGX ORIN]
以上就是我們在ICRA的見聞,之後還會有數篇文章繼續分享在展覽裡面見到的新知識,敬請期待!