Hugging Face 비동기 로봇 추론

Hugging Face는 행동 예측을 실행과 분리하여 순차적인 로봇 제어 루프에서 일반적으로 발생하는 대기 시간을 없애는 비동기 로봇 추론 시스템을 도입했습니다. 이 접근 방식은 다음 행동 집합이 계산되는 동안에도 로봇이 예측된 행동 큐를 계속 실행할 수 있게 하여 성공률을 떨어뜨리지 않으면서 작업 완료 시간을 약 2배 가속화합니다.

순차 추론의 한계

순차 추론은 로봇이 정책이 다음 행동 청크를 예측할 때까지 대기해야 하는 병목 현상을 만들습니다. 전통적인 루프에서는 로봇이 관측을 캡처하고, 정책을 실행해 미래 행동 시퀀스를 얻은 뒤, 그 행동들을 실행합니다. 큐가 비어 있으면 로봇은 다음 추론 사이클이 완료될 때까지 완전히 멈춥니다.

이 의존성은 두 가지 주요 문제를 초래합니다:

  • 런타임 지연: 모델이 커지고 계산 비용이 증가함에 따라 추론 지연 시간이 늘어나 상호작용 시간을 지배하고 전체 작업 실행 속도를 늦춥니다.
  • 반응성 감소: 로봇은 청크를 실행하는 동안 오픈 루프 방식으로 동작하고, 이후 완전히 대기 상태가 되어 환경 변화에 빠르게 대응하지 못합니다.

비동기 추론 아키텍처

비동기 추론은 계산과 실행을 겹치게 함으로써 대기 시간을 없앱니다. 시스템은 네트워크로 연결된 서로 다른 머신에 배치될 수 있는 두 개의 독립적인 구성 요소로 나뉩니다:

로봇 클라이언트

RobotClient는 로봇에 탑재됩니다. 주요 책임은 다음과 같습니다:

  • 관측 스트리밍: 최신 관측을 서버로 스트리밍합니다. 고해상도 카메라 캡처는 종종 4 MB gRPC 메시지 제한을 초과하므로, 관측은 단일 RPC 대신 스트리밍됩니다.
  • 큐 관리: 클라이언트는 로컬 행동 큐를 유지합니다. 큐 길이가 설정 가능한 임계값(chunk_size_threshold 또는 $g$) 이하로 떨어지면 새로운 관측 요청을 트리거합니다.
  • 행동 집계: 새로운 행동 청크가 도착하면 클라이언트는 커스텀 집계기를 사용해 현재 큐와 병합합니다. 지원되는 전략에는 Replace(겹치는 행동을 새로운 예측으로 덮어쓰기)와 Weighted blend(시간 가중치를 사용해 행동을 결합) 등이 있습니다.

정책 서버

PolicyServer는 GPU나 TPU와 같은 가속 하드웨어에 호스팅되어 계산 자원을 최대화합니다. 워크플로는 다음을 포함합니다:

  • 관측 정제: 키 매칭, 전처리, 추론 준비를 처리하는 파이프라인.
  • 유사도 필터링: 중복 계산을 방지하기 위해 서버는 현재 관측을 이전 관측과 조인트 스페이스 유사도로 비교합니다. 관측이 너무 유사하면 must_go=True로 태그되지 않은 한 추론을 건너뛸 수 있습니다.
  • 요청 차단: 서버는 이전 관측이 처리될 때까지 새로운 관측을 차단하여 항상 최신 데이터에 대해 작업하도록 합니다.

기술 구현 및 성능

통신 프로토콜

시스템은 gRPC(HTTP/2 기반, 프로토콜 버퍼 사용)를 통신에 활용합니다. 이 선택은 저지연 바이너리 메시징과 양방향 스트림을 제공하며, NVIDIA RTX 4090과 같은 하드웨어를 사용할 경우 로컬 네트워크에서 100 ms 미만의 왕복 지연을 달성합니다.

제어 루프 튜닝

성능은 비율 $c = \frac{\mathtt{environment}\mathtt{dt}}{\mathtt{inference}\mathtt{time}}$ 로 관리됩니다. 시스템이 순차 제어로 퇴화하는 것을 방지하기 위해 사용자는 다음을 수행할 수 있습니다:

  1. 컴퓨팅 파워 증가: 더 강력한 GPU를 사용해 $\mathtt{inference}_\mathtt{time}$을 감소시킵니다.
  2. 임계값 조정 ($g$): 파라미터 $g$는 최대 청크 크기의 비율을 나타내며, 이 비율 이하가 되면 새로운 관측을 전송합니다.
    • $g = 0$은 순차 추론을 모방합니다.
    • $g = 1$은 최소 지연을 위해 매 타임스텝마다 관측을 전송하지만 계산 부하가 최대가 됩니다.
    • 실험 결과 $g \approx 0.7$이 효과적인 절충점으로 나타났으며, Hugging Face는 시작값으로 $g = 0.5$를 권장합니다.

로봇 정책에 미치는 영향

비동기 추론은 ACT, OpenVLA, PI0, SmolVLA와 같이 행동 청크를 지원하는 정책과 호환됩니다. 제어 루프를 긴밀히 만들고 연속적인 움직임을 허용함으로써 시스템은 보다 적응적인 제어와 빠른 작업 완료를 가능하게 합니다. SmolVLA와의 테스트에서 이 아키텍처는 작업 성공률을 비슷하게 유지하면서 작업 완료 시간을 약 2배 가속화했습니다.

Sources