huggingface/OpenEnv

An interface library for RL post training with environments.

해결하는 문제

OpenEnv는 에이전트 강화학습(RL) 훈련을 위한 격리된 실행 환경을 표준화된 방식으로 생성, 배포, 상호작용할 수 있도록 제공합니다. 에이전트가 작동할 수 있는 보안성 높은 사전 환경을 설정하는 번거로움을 제거하면서도, RL 프레임워크가 이러한 환경과 통신할 수 있는 일관된 API를 제공합니다.

작동 방식

OpenEnv는 환경을 격리된 Docker 컨테이너(예: LocalDocker, Docker Swarm, Hugging Face Spaces 등 제공자를 통해 배포)에서 호스팅하는 클라이언트-서버 아키텍처를 사용합니다.

  • 서버 측: 환경 생성자는 reset(), step(), state() 메서드를 구현한 기본 클래스를 정의하여 로직과 보상을 정의합니다.
  • 클라이언트 측: 사용자는 WebSockets를 통해 EnvClient를 사용하여 Gymnasium 스타일 API로 이러한 환경과 상호작용합니다.
  • 도구: CLI(openenv)를 통해 새로운 환경을 스크래핑하고, Docker 이미지를 빌드하며, Hugging Face Spaces에 쉽게 배포할 수 있습니다.

대상 사용자

  • RL 연구자: LLM 또는 기타 에이전트를 시뮬레이션 또는 사전 환경에서 작업 수행하도록 훈련하는 사람.
  • 환경 생성자: 코드 작성, 체스, 금융 시장 등과 같은 전용 시뮬레이터나 사전 환경을 구축하고, 보안적으로 배포하며 쉽게 접근 가능하게 해야 하는 개발자.

주요 특징

  • Gymnasium 스타일 API: RL 통합을 원활하게 하기 위해 익숙한 step()reset() 패턴을 사용합니다.
  • 사전 실행: 에이전트가 보안을 위해 격리된 컨테이너에서 작동하도록 보장합니다.
  • 통합 웹 인터페이스: 에이전트-환경 상호작용을 실시간으로 디버깅하고 상호작용적으로 탐색할 수 있는 내장 UI를 포함합니다.
  • 유연한 배포: 여러 컨테이너 제공자와 Hugging Face Spaces에 쉽게 배포할 수 있도록 지원합니다.
  • 광범위한 생태계: TRL, torchforge, SkyRL, Oumi 등의 RL 프레임워크와 통합됩니다.

관련