프로젝트 소개
LightZero는 OpenDILab의 오픈소스 알고리즘 툴킷으로, 몬테카를로 트리 탐색(MCTS)과 심층 강화학습을 단일 PyTorch 기반 프레임워크로 결합합니다. NeurIPS 2023 Datasets and Benchmarks Track에서 Spotlight 논문으로 발표되었으며, 일반적인 순차적 의사결정 시나리오에서 MCTS를 위한 통합 벤치마크로 자리매김하고 있습니다.
이 프로젝트는 경량성, 효율성, 이해 용이성이라는 세 가지 특성을 강조합니다. 여러 MCTS 알고리즘 계열을 통합하여 서로 다른 속성을 가진 의사결정 문제를 하나의 프레임워크 안에서 처리할 수 있습니다. 계산 효율성을 위해 MCTS에서 가장 시간이 많이 소요되는 부분에 혼합 이기종 컴퓨팅을 사용하며, 트리 구현은 Python(ptree)과 C++(ctree) 두 가지로 제공됩니다. 문서에는 알고리즘 프레임워크 다이어그램, 함수 호출 그래프, 네트워크 구조 다이어그램이 포함되어 있어 사용자가 핵심 코드를 찾고 공통 패러다임 아래에서 알고리즘을 비교할 수 있도록 돕습니다.
구현된 알고리즘으로는 AlphaZero, MuZero, Sampled MuZero, Stochastic MuZero, EfficientZero, Sampled EfficientZero, Gumbel MuZero, ReZero, UniZero가 있습니다. 지원 환경은 보드 게임(TicTacToe, Gomoku, Connect4), 2048, 고전 제어 작업(CartPole, Pendulum, LunarLander, BipedalWalker), Atari, DeepMind Control, MuJoCo, MiniGrid, Bsuite, Memory, SumToThree, MetaDrive에 걸쳐 있습니다. README의 호환성 표는 어떤 알고리즘-환경 조합이 완료 및 테스트되었는지, 어떤 것이 진행 중인지, 어떤 것이 지원되지 않는지를 표시합니다.
프레임워크는 세 가지 핵심 모듈을 중심으로 구성됩니다: Model(네트워크 구조와 순전파), Policy(학습, 수집, 평가 과정), MCTS(탐색 트리 구조와 정책과의 상호작용). 설치는 저장소를 복제한 후 pip install -e .를 실행하며, 현재 Linux와 macOS만 지원합니다. Ubuntu 20.04와 Python 3.8 기반의 Dockerfile도 제공됩니다. 빠른 시작 예제는 CartPole, Pong, TicTacToe에서 MuZero를, Pong에서 UniZero를 학습시킵니다. Atari를 위한 실험적인 Ray 기반 비동기 세그먼트 학습 파이프라인이 문서화되어 있으며, README는 동기식 기준선과의 동일 윈도우 비교를 보고합니다.
벤치마크는 보드 게임에서 AlphaZero와 MuZero, Pong, Qbert, MsPacman과 같은 Atari 타이틀에서 MuZero 변형, 연속 제어 작업에서 factored 및 Gaussian 정책 표현을 사용한 Sampled EfficientZero, 다양한 시뮬레이션 예산에서 Gumbel MuZero, 다양한 chance 레벨의 2048에서 Stochastic MuZero에 대해 공개되었습니다. 저장소는 또한 AlphaGo, MuZero, MCTS 분석, 응용에 관한 기초 및 최신 논문을 수집한 Awesome-MCTS 섹션과 환경 및 알고리즘 사용자 정의, 구성 파일, 로깅, 손실 지형 시각화에 관한 튜토리얼을 유지 관리합니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.