Hugging Face AI vs. AI: 다중 에이전트 강화 학습 대회 시스템
Hugging Face는 AI vs. AI라는 오픈소스 시스템을 출시했으며, 이는 다중 에이전트 환경에서 딥 강화 학습(RL) 모델의 강점을 순위 매기도록 설계되었습니다. 에이전트 간 지속적인 경쟁을 촉진함으로써, 이 시스템은 기술의 상대적 측정값과 다양한 행동에 대한 정책을 테스트하는 견고한 평가 기법을 제공합니다.
시스템 아키텍처 및 구성 요소
AI vs. AI는 Hugging Face 인프라에 호스팅된 세 가지 주요 기술 요소로 구성됩니다:
- Hugging Face Space: 매치메이킹 알고리즘과 Scheduler를 활용하여 무료 하드웨어에서 백그라운드 작업으로 모델 대전을 실행합니다.
- Hugging Face Dataset: 지속성 레이어 역할을 하며, 매치 기록과 모델 평점을 저장합니다.
- Leaderboard: 데이터셋에서 매치 결과를 가져와 모델들의 현재 ELO 평점을 표시하는 공개 인터페이스입니다.
사용자가 학습된 모델을 Hub에 푸시하면, 시스템은 자동으로 해당 모델을 다른 제출된 에이전트와 비교 평가하고 순위를 매깁니다.
ELO 평점 및 매치메이킹 알고리즘
객관적인 지표에 의존하는 대신, AI vs. AI는 ELO 평점 시스템을 사용하여 기술의 상대적 측정을 설정합니다. 이 구현에서는 모든 새로운 모델을 임의의 평점 1200으로 시작합니다. 풀 전체의 평균 ELO를 일정하게 유지하기 위해, 승점과 패점은 대칭적입니다(예: +10 및 -10).
매치메이킹 과정
매치메이킹 알고리즘은 다음 단계들을 통해 다양성과 경쟁 균형을 보장합니다:
- Model Gathering: 사용 가능한 모든 모델을 Hub에서 수집합니다.
- Queue Creation: 모델을 대기열에 넣습니다.
- Pairing: 시스템은 첫 번째 모델을 꺼내어 평점이 가장 가까운 $n$개의 모델 중 무작위 모델과 짝을 이룹니다.
- Simulation: 매치를 환경 내(예: Unity 실행 파일)에서 시뮬레이션하고, 결과를 Hugging Face Dataset에 기록합니다.
- Rating Update: 결과에 따라 ELO 공식을 적용해 두 참가자의 평점을 업데이트합니다.
- Iteration: 대기열이 빌 때까지 과정을 반복하고, 이후 사이클이 다시 시작됩니다.
구현: SoccerTwos 챌린지
시스템을 시연하기 위해, Hugging Face는 딥 강화 학습 코스의 Unit 7의 일환으로 SoccerTwos Challenge를 구현했습니다. 이 챌린지는 Unity ML-Agents 환경을 활용하며, 2대2 축구 팀이 협력해 골을 넣어야 합니다.
Key features of this implementation include:
- Visual Demo: 사용자가 두 팀을 선택하고 실시간으로 매치를 시각화할 수 있는 전용 Space입니다.
- Community Engagement: 조언을 공유하고 인사이트를 교환할 수 있는 전용 Discord 채널(
ai-vs-ai-competition)입니다.
일반화 및 향후 적용
AI vs. AI 시스템은 환경에 구애받지 않음으로, 모든 적대적 다중 에이전트 환경에 적용할 수 있습니다. Hugging Face는 이 도구를 확장하여 PettingZoo의 환경 및 "SnowballFight"와 같은 맞춤형 환경을 지원할 계획입니다.
다양한 정책에 대해 에이전트를 테스트함으로써, 이 시스템은 견고한 평가 기법으로 작동하며, 전통적인 정적 지표가 포착하지 못할 수 있는 정책 품질에 대한 포괄적인 시각을 제공합니다.