2024년 12월 31일 화요일

[Playground] Lightzero Training 3

 어느덧 2024년이 저물어갑니다.

올해 안에 완성시키고 싶었는데 해를 넘어가게 되었네요.

저번에 랜덤 봇을 확실하게 이기고 나서 거의 다 풀었다고 생각했는데 아직 미완인 것 같습니다.

저번 모델로는 학습이 덜 되어서, 모델을 조금 더 두껍게 하고 돌려보고 있습니다.

residual block을 3개 쌓던 모델에서 이제 5개 쌓은 모델로 돌려보고 있는데요, 25만번 조금 넘게 학습이 돌았는데 현재 스탯은 다음과 같습니다.

랜덤 봇 상대 reward

total loss


랜덤 봇 상대로 한 점수도 뉘엿뉘엿 올라가고는 있는데 애초에 타겟했던 20을 넘기지는 못했습니다.

residual block 3개 쌓았을 때는 total_loss가 이미 수렴해버린 상태에서도 성능이 잘 나오지 않아서 블록을 좀 더 두껍게 쌓고 돌려보고 있습니다.

다만 이것도 슬슬 total_loss가 수렴해가는 느낌이 드는데 아직 성능이 그리 좋지 못한 것을 보면 좀 아쉽긴 하네요.

다시 디버깅을 해야하는데, 학습 스탯들을 보면서 어디가 문제인지 진단을 좀 해보려고 합니다.

아직까지는 정확한 원인은 모르겠는데 뭔가 미심쩍은 부분은 있습니다.

collector stat & iteration result

self-play를 하면서 데이터를 수집하고, 그걸 바탕으로 학습을 하게 되는데 collector 스탯을 보면 reward_max는 19인데 반해 reward_min은 -2입니다. 선 플레이어 기준으로 리워드가 계산되기 때문에, 이는 선공이 압도적으로 많이 이기고 있다는 뜻이 됩니다. (mean도 9 언저리죠)

학습이 잘 되고 있다면, reward_std가 줄면서 선공과 후공 중 유리한 쪽으로 살짝 bias가 있는 점수가 나오고, 결국 어느 정도로 수렴하는게 자연스러울 것 같은데 시나리오별로 결과 편차도 크고 선공이 훨씬 득점을 많이 하고 있는 양상입니다.

아직 학습 수렴 단계가 아니어서 속단하기는 이르지만 만약 이번에도 학습이 잘 되지 않는다면 여기부터 뜯어볼 계획입니다. collector에서 후공이 action하는 매커니즘이 뭔가 꼬여서 제대로 된 곳에 돌을 놓지 못한다면 선공의 학습 또한 제대로 이루어질 수 없기 때문입니다.

학습은 계속 맥미니로 돌리고 있는데 모델이 두꺼워지니까 확실히 한계가 느껴집니다..

모델이 두꺼워져서 거의 11일 넘게 돌려놓았는데 아직도 수렴 판정을 못하겠네요..ㅋㅋ

맥미니 올해 참 고생많았는데 새해에는 좀 더 빠릿빠릿한 친구를 들여와서 일을 시켜야하겠습니다.

최근에는 MusicGen이나 MERT 등등 음악 생성 및 임베딩 관련된 모델들을 살펴보고 있는데, 조만간 페이퍼 리뷰든 모델 리뷰든 업데이트를 해보겠습니다.

2025년도 화이팅!

댓글 없음:

댓글 쓰기