self-play RL을 사용하여 superhuman 수준의 Generals.io 에이전트를 만들었습니다
요약
Self-play 강화학습을 통해 Generals.io 게임에서 인간 리더보드 1위를 달성한 superhuman 에이전트 개발 과정을 소개합니다. JAX 재구현과 Vision Transformer 도입을 통해 스케일링 효율을 극대화한 기술적 노하우를 공유합니다.
핵심 포인트
- Self-play RL과 Vision Transformer를 활용한 에이전트 구축
- NumPy/Torch 기반 파이프라인을 JAX로 재구현하여 성능 최적화
- 불완전 정보 RTS 환경을 위한 오픈 소스 시뮬레이터 제공
- 사전 지식보다 모델 스케일링에 집중하여 성능 병목 해결
안녕하세요 여러분,
저는 Generals.io를 위한 self-play RL (강화학습) 에이전트를 훈련시켰으며, 이 에이전트는 superhuman 수준에 도달하여 인간 1v1 리더보드에서 1위를 차지했습니다.
이 프로젝트는 기존 알고리즘 기반 에이전트를 이기는 것을 목표로 했던 저의 석사 학위 논문에서 시작되었습니다. 저희는 behavior cloning (행동 복제), RL (강화학습) fine-tuning (미세 조정) 및 reward shaping (보상 형성)을 사용하여 성공했지만, 에이전트는 여전히 최상위 플레이어들에게 지속적으로 패배했습니다.
그래서 저는 두 번째 시도를 했고, 가장 큰 병목 현상들을 해결했습니다:
- 전체 파이프라인을 NumPy/Torch에서 JAX로 재구현
- CNN 대신 Vision Transformer 사용
두 가지 모두 동일한 아이디어의 결과입니다: 즉, 인간의 사전 지식(human priors)이나 임시방편적인 패치(ad-hoc patches)에 투자하기보다 scaling (확장)에 투자하는 것입니다.
이 블로그는 유사한 것을 구축하려는 모든 사람을 위한 가이드로 작성되었습니다 — 제가 그 과정에서 겪은 막다른 길, 결정들, 그리고 직관과 요령들을 담았습니다.
빠른 JAX 시뮬레이터를 포함하여 모든 것이 오픈 소스입니다 — 불완전 정보 RTS (실시간 전략) 환경에서 플레이해보고 싶다면 그 자체로도 유용할 것입니다.
링크
- 가이드: https://kam.mff.cuni.cz/~straka/blog/generals.html
- 시뮬레이터 (JAX): https://github.com/strakam/generals-bots
- 에이전트: https://github.com/strakam/AverageJoe
블로그 포스트가 즐거우시길 바랍니다!
피드백과 질문은 언제나 환영합니다 🤗.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/OpenAI Codex (search)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기