다시 조금씩 공부를 시작했는데, 역시 어딘가에 기록해야 동기부여도 되고 아카이빙도 되어서 조금씩 적어볼까 합니다.
당분간 주제는 DeepRL로 해서 조금씩 해봄직한 것들을 해볼 예정입니다.
일단 예전에 너무 흥미를 가지고 있었던 Muzero 비스무리한 친구들을 싹다 묶어서 리뷰해보고 이것저것 만져보려고 해요.
보다 구체적으로는,
https://github.com/opendilab/LightZero
LightZero라는 프레임워크를 좀 살펴보려고 합니다.
요런 느낌의 히스토리가 있는데, Muzero 이후에도 파생된 친구들이 꽤 있네요.
LightZero는 다양한 Env(틱택토, 4목, 2048, gym, Atari, MuJoCo 등등)에 다양한 모델들을 쉽게 적용해볼 수 있도록 만들어진 프레임워크입니다. 이전에 인턴했던 회사에서 제가 했던 작업 중에도 비슷한 프레임워크를 구축하는 일이 있었는데, 뼈대만 잡아놓아서 시간이 좀 더 있었으면 하는 아쉬움이 남았던 기억이 있습니다.
이번에는 좀 꼼꼼히 뜯어볼 계획입니다. LightZero 프레임워크가 아직은 체스나 바둑을 지원하지는 않는데, 지원 예정이라고 하니 좀 기다리면서 공부하면 될 것 같아요.
공부할 내용은
1. 아키텍쳐
2. 모델
3. 코드
순이 될 것 같은데, 중간 목표 중 하나는 오델로라는 보드게임을 마스터할 수 있도록 커스텀해보는 것이 목표입니다. 아마 env랑 모델 인풋으로 변환하는 세팅 정도만 건드려주면 크게 손볼 부분은 없지 않을까 싶은데 또 모르겠네요.
5월 중에 1,2,3은 끝내야 할 것 같고, 가능하다면 5월 안에 오델로 커스텀까지 해볼 수 있으면 좋겠네요.
사실 Muzero 오피셜 깃헙을 좀 뜯어보고 싶었는데 오래되어서 그런지 파이썬 버전이랑 호환 문제로 많이 꼬이더라구요. 아쉽긴 하지만 오히려 Muzero 후속작들까지 같이 볼 수 있어서 결과적으로는 이득인 것 같습니다.
일단 위 깃헙 레포를 받아서 튜토리얼을 좀 돌려봤습니다.
세팅 관련해서 좀 귀찮은 부분이 있었는데, python 3.11 버전을 사용해야 문제없이 돌아가는 것 같더라구요.
conda venv 만들때 python 3.11로 맞추고 라이브러리 세팅을 해주면 문제없이 완료됩니다.
세팅 후 env 하나 골라잡아서 training을 바로 돌려보았습니다.



댓글 없음:
댓글 쓰기