코끼리를 냉장고에 설치하려면 몇 단계를 거쳐야 하나요? NVIDIA, 언어 모델이 로봇에 대한 계획을 계획할 수 있게 해주는 ProgPrompt 출시

WBOY
풀어 주다: 2023-04-14 12:49:08
앞으로
1102명이 탐색했습니다.

로봇에게 작업 계획은 피할 수 없는 문제입니다.

실제 작업을 완료하려면 먼저 코끼리를 냉장고에 설치하는 데 몇 단계가 필요한지를 알아야 합니다.

비교적 간단한 사과 던지기 작업에도 여러 하위 단계가 포함되어 있습니다. 로봇은 사과를 보지 못하면 먼저 사과의 위치를 ​​관찰해야 합니다. 그런 다음 사과에 가까이 다가가서 사과를 잡고 쓰레기통을 찾아서 다가가세요 .

쓰레기통

닫혀 있으면 먼저 열고한 다음 사과를 넣고 쓰레기통을 닫아야 합니다. 그러나 각 작업의

구체적인 구현 세부 사항

을 모두 인간이 설계할 수는 없습니다. 단일 명령을 통해 액션 시퀀스를 생성하는 방법은 어려운 문제가 됩니다. 시퀀스를 생성하려면

명령을 사용하시겠습니까

? 이것이 바로 Language Model의 일이 아닐까요? 과거에 연구자들은 LLM(대형 언어 모델)을 사용하여 입력 작업 지침을 기반으로 잠재적인 다음 작업 공간의 점수를 매긴 다음 작업 시퀀스를 생성했습니다.

지침은 자연어로 설명되며

추가 도메인 정보가 포함되어 있지 않습니다. 그러나 이러한 방법은 점수를 매기기 위해 가능한 모든 다음 작업을 열거해야 하거나 생성된 텍스트의 형식에 제한이 없어

특정 로봇이 현재 환경에서 수행할 수 없는 작업

을 포함할 수 있습니다. 최근 University of Southern California와 NVIDIA는 언어 모델을 사용하여 입력 지침에 대한 작업 계획을 수행하는 새로운 모델

ProgPrompt

를 공동으로 출시했습니다. 여기에는 프로그래밍된 프롬프트 구조가 포함되어 있어 생성된 계획이 생성됩니다. 다양한 상황에서 사용될 수 있으며 환경, 다양한 능력을 가진 로봇, 다양한 작업에서 역할을 수행할 수 있습니다.

코끼리를 냉장고에 설치하려면 몇 단계를 거쳐야 하나요? NVIDIA, 언어 모델이 로봇에 대한 계획을 계획할 수 있게 해주는 ProgPrompt 출시작업의 표준화를 보장하기 위해 연구원은

파이썬 스타일 코드 생성

을 사용하여 어떤 작업을 사용할 수 있는지, 환경에 어떤 개체가 있는지, 어떤 프로그램이 실행 가능한지 언어 모델에 메시지를 표시합니다. 예를 들어

"사과 던지기" 명령

을 입력하면 다음 프로그램이 생성될 수 있습니다.

코끼리를 냉장고에 설치하려면 몇 단계를 거쳐야 하나요? NVIDIA, 언어 모델이 로봇에 대한 계획을 계획할 수 있게 해주는 ProgPrompt 출시ProgPrompt 모델은

가상 홈 작업에서 소타 성능

을 달성했으며, 연구원들은 데스크톱 작업을 위해 물리적 로봇 팔에도 모델을 배포했습니다. 환상적인 언어 모델

일상적인 가사 작업을 완료하려면 세상에 대한 상식적인 이해와 현재 환경에 대한 상황별 지식이 모두 필요합니다.

"저녁 요리" 작업 계획을 작성하기 위해 에이전트가 알아야 할 최소한의 지식은 다음과 같습니다.

물체의 기능

(예: 스토브, 전자레인지를 가열에 사용할 수 있음) , 음식을 추가하기 전에 오븐은 미리 예열되어야 하며, 가열하고 재료를 찾는 등 물건과 행동의 상관 관계는 "저녁 식사"와 관련된 첫 번째 행동입니다. 하지만 state Feedback

없이는 이런 추론을 할 수 없습니다.

상담원은 냉장고에 생선이 있는지, 냉장고에 닭고기가 있는지 등 현재 환경에서 음식이 어디에 있는지

를 알아야 합니다.

대규모 코퍼스에서 훈련된 자동 회귀 대형 언어 모델은 입력 프롬프트 조건 하에서 상당한 다중 작업 일반화 기능을 갖춘 텍스트 시퀀스를 생성할 수 있습니다.

예를 들어 "만찬 만들기"를 입력하면 언어 모델은 냉장고 열기, 닭고기 집기, 탄산음료 집기, 냉장고 닫기, 전등 스위치 켜기 등과 같은 후속 시퀀스를 생성할 수 있습니다. .

생성된 텍스트 시퀀스는 에이전트의 작업 공간에 매핑되어야 합니다. 예를 들어 생성된 명령은 "손을 뻗어 피클 한 병을 집으세요"이고 해당 실행 가능한 작업은 "pick up the pickle"일 수 있습니다. jar"를 선택하면 모델은 해당 작업의 확률 점수 값을 계산합니다.

그러나 환경 피드백이 없는 경우 냉장고에 닭고기가 없는데도 "닭 가져오기" 작업을 선택하면 "저녁 만들기"에 닭고기에 대한 정보가 포함되어 있지 않기 때문에 작업이 실패합니다. 세계의 상태.

ProgPrompt 모델은 작업 계획에서 프로그래밍 언어 구성을 교묘하게 활용합니다. 기존 대규모 언어 모델은 일반적으로 프로그래밍 자습서 및 코드 문서 모음에 대해 사전 훈련되어 있기 때문입니다.

ProgPrompt는 파이썬 프로그램 헤더를 힌트로 언어 모델에 제공하여 환경에서 사용 가능한 작업 공간, 예상 매개변수 및 사용 가능한 개체를 가져옵니다.

코끼리를 냉장고에 설치하려면 몇 단계를 거쳐야 하나요? NVIDIA, 언어 모델이 로봇에 대한 계획을 계획할 수 있게 해주는 ProgPrompt 출시

그런 다음 make_dinner, throw_away_banana 등과 같은 함수 를 정의합니다. 본문은 객체에 대해 작동하는 액션 시퀀스 이고 그런 다음 계획된 전제 조건 을 선언합니다. 냉장고를 열고 냉장고 가까이에 머물면서 어설션 실패에 대한 대응으로 복구 작업을 사용하여 상태 피드백을 환경에 통합하세요.

가장 중요한 점은 ProgPrompt 프로그램에는 작업의 목표를 설명하기 위한 자연어로 작성된 주석도 포함되어 있어 생성된 플래너의 작업 실행 성공률이 향상된다는 것입니다.

ProgPrompt

완전한 아이디어로 ProgPrompt의 전반적인 작업 흐름은 명확합니다. 여기에는 주로 세 부분, Pythonic 함수 구성, 구성된 프로그래밍 언어 프롬프트, 작업 계획 생성 및 실행이 포함됩니다.

코끼리를 냉장고에 설치하려면 몇 단계를 거쳐야 하나요? NVIDIA, 언어 모델이 로봇에 대한 계획을 계획할 수 있게 해주는 ProgPrompt 출시

1. 로봇 계획을 Python 함수로 표현합니다.

계획 기능에는 액션 프리미티브에 대한 API 호출, 작업 요약 및 주석 추가, 실행 어설션 추적이 포함됩니다.

각 동작 프리미티브에는 개체가 매개변수로 필요합니다. 예를 들어 "연어를 전자레인지에 넣기" 작업에는 find(연어)에 대한 호출이 포함됩니다. 여기서 find는 동작 프리미티브입니다.

코끼리를 냉장고에 설치하려면 몇 단계를 거쳐야 하나요? NVIDIA, 언어 모델이 로봇에 대한 계획을 계획할 수 있게 해주는 ProgPrompt 출시

코드의 주석을 활용하여 후속 작업 시퀀스에 대한 자연어 요약을 제공합니다. 주석은 상위 수준 작업을 "연어 잡기" 및 "연어를 전자레인지에 넣기"와 같은 논리적 하위 작업으로 나누는 데 도움이 됩니다. ."

주석을 사용하면 언어 모델이 현재 목표를 이해하고 일관되지 않거나 일관되지 않거나 반복되는 출력 가능성을 줄일 수 있습니다. 이는 생각의 연쇄와 유사중간 결과를 생성하는 것과 같습니다.

Assertions는 전제 조건이 true인지 확인하고 전제 조건이 true가 아닌 경우 오류 복구를 구현하는 환경 피드백 메커니즘을 제공합니다. 예를 들어 잡기 작업 전에 계획에서는 에이전트가 연어에 접근했다고 주장합니다. 에이전트 찾기 작업을 먼저 실행해야 합니다.

2. 프로그래밍 언어 프롬프트 구성

프롬프트는 관찰, 액션 프리미티브, 예제를 포함하여 환경 및 주요 액션에 대한 정보를 제공하고 언어에 대한 Python 프롬프트를 생성해야 합니다. 모델 완성.

코끼리를 냉장고에 설치하려면 몇 단계를 거쳐야 하나요? NVIDIA, 언어 모델이 로봇에 대한 계획을 계획할 수 있게 해주는 ProgPrompt 출시

그런 다음 언어 모델은 를 실행 가능한 함수로 예측합니다. 즉, 마이크로파_salmon()

연어를 전자레인지로 돌리는 작업에서 LLM이 생성할 수 있고 합리적인 첫 번째 단계는 연어를 꺼내는 것입니다. 계획을 실행하는 에이전트에는 그러한 작업 기본 요소가 없을 수 있습니다.

언어 모델이 에이전트의 액션 프리미티브를 이해하려면 프롬프트의 import 문을 통해 이를 가져오십시오. 이는 또한 현재 환경에서 사용 가능한 기능으로 출력을 제한합니다.

에이전트의 행동 공간을 변경하려면 가져온 함수 목록을 업데이트하기만 하면 됩니다.

objects 변수는 환경의 모든 사용 가능한 개체를 문자열 목록으로 제공합니다.

prompt에는 완전히 실행 가능한 일부 프로그램 계획도 예제로 포함되어 있으며, 각 예제 작업은 throw_away_lime

3과 같은 주어진 환경에서 사용 가능한 작업과 목표를 사용하여 주어진 작업을 완료하는 방법을 보여줍니다. of task plan

주어진 작업 후 ProgPrompt 프롬프트를 기반으로 언어 모델에 의해 계획이 완전히 추론되고, 생성된 계획이 가상 에이전트나 물리적 로봇 시스템에서 실행될 수 있으며, 통역사가 필요합니다. 환경에 대해 각 작업 명령을 실행합니다.

실행 중에 어설션 확인은 폐쇄 루프 방식으로 이루어지며 현재 환경 상태에 따라 피드백을 제공합니다.

실험 부분에서 연구원들은 가상 홈(VH) 시뮬레이션 플랫폼에서 방법을 평가했습니다.

VH의 상태에는 전자레인지 내부의 연어(in) 또는 close to(agent_close_to) 등과 같은 일련의 개체 및 해당 속성이 포함됩니다.

동작 공간에는 잡기, 푸틴, 넣기, 걷기, 찾기, 열기, 닫기 등이 포함됩니다.

결국 3개의 VH 환경이 실험되었으며 각 환경에는 115개의 서로 다른 개체가 포함되어 있었습니다. 연구원들은 높은 수준의 추상화를 통해 70개의 가사 작업이 포함된 데이터 세트를 생성했으며 명령은 모두 "전자레인지 연어"와 같았습니다. , 이에 대한 실측 작업 시퀀스를 만듭니다.

생성된 프로그램을 가상 패밀리에서 평가한 결과, 평가 지표에는 성공률(SR), 목표 조건부 회상(GCR), 실행 가능성(Exec)이 포함되어 있으며, 그 결과 ProgPrompt가 훨씬 우수하다는 것을 알 수 있습니다. 기준선 및 LangPrompt와 함께 표에는 각 기능이 어떻게 성능을 향상시키는지도 보여줍니다.

코끼리를 냉장고에 설치하려면 몇 단계를 거쳐야 하나요? NVIDIA, 언어 모델이 로봇에 대한 계획을 계획할 수 있게 해주는 ProgPrompt 출시

연구원들은 또한 평행 발톱을 가진 Franka-Emika 팬더 로봇을 사용하여 실제 세계에서 실험을 수행했으며 선택 및 배치 전략을 얻을 수 있다는 가설을 세웠습니다.

이 전략은 대상 객체와 대상 컨테이너의 두 포인트 클라우드를 입력으로 취하고 픽 앤 플레이스 작업을 수행하여 컨테이너 위나 내부에 객체를 배치합니다.

시스템 구현에서는 개방형 어휘 개체 감지 모델 ViLD를 도입하여 장면의 개체를 식별 및 분할하고 프롬프트에서 사용 가능한 개체 목록을 작성합니다.

가상 환경과 달리 여기서 객체 목록은 각 계획 기능의 로컬 변수이므로 새로운 객체에 더 유연하게 적응할 수 있습니다.

언어 모델의 계획 출력에는 Grab 및 Putin 형식의 함수 호출이 포함되어 있습니다.

실제 불확실성으로 인해 어설션 기반 폐쇄 루프 옵션 은 실험 설정 에서 구현되지 않았습니다.

코끼리를 냉장고에 설치하려면 몇 단계를 거쳐야 하나요? NVIDIA, 언어 모델이 로봇에 대한 계획을 계획할 수 있게 해주는 ProgPrompt 출시

분류 작업에서 로봇은 바나나와 딸기를 과일로 식별하고 이를 접시에 놓고 병에 담는 계획 단계를 생성할 수 있었던 것을 볼 수 있습니다.

위 내용은 코끼리를 냉장고에 설치하려면 몇 단계를 거쳐야 하나요? NVIDIA, 언어 모델이 로봇에 대한 계획을 계획할 수 있게 해주는 ProgPrompt 출시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿