
체스 실력을 높이기 위해 사람처럼 두는 AI를 만들었다
체스는 한 판이 끝난 뒤에야 컴퓨터로 수의 좋고 나쁨을 확인하는 경우가 많아, 실시간 피드백을 받기 어렵다. 이 글의 개발자는 온라인 상대처럼 두는 AI를 만들어 게임 중에도 자신의 수와 승리 가능성을 살펴보려 했으며, 그 모델이 다음 수를 맞히는 정확도 55.57%를 기록했다고 밝혔다.
개발자는 체스 엔진 Stockfish가 세계 최고 수준이지만, 그대로 상대하면 압도적으로 강하거나 핸디캡을 주더라도 사람처럼 두지 않는다고 설명한다. 사람의 수를 예측하는 Maia-2는 당시 기준으로 53%의 예측 정확도를 보였다고 소개하며, 자신은 기계학습 경험이 없는 상태에서 이를 뛰어넘는 것을 목표로 삼았다.
Maia-2가 합성곱 신경망을 사용하는 것과 달리, 이 모델에는 트랜스포머를 적용했다. 개발자는 체스판에서 멀리 떨어진 칸 사이의 관계도 중요하다는 점이 트랜스포머를 택한 이유라고 설명한다. 실험 끝에 각 칸의 위치를 알려주는 절대 위치 임베딩과 칸 사이의 관계를 학습하는 Shaw 상대 어텐션을 사용했다.
모델의 입력은 체스판 64칸이며, 각 칸에는 말의 위치와 핀, 칸을 공격하거나 방어하는 말, 폰 구조, 최근 방문한 칸 등을 나타내는 특징을 넣었다. 개발자는 특히 핀과 폰 구조 같은 체스 관계를 특징으로 직접 표현했고, 최근 방문한 칸에는 시간이 지날수록 값이 절반씩 줄어드는 값을 부여했다고 설명한다. 이 방식은 반복으로 의도치 않게 무승부를 택하는 문제와, 여러 수 동안 이어지는 희생 전술을 갑자기 실행하는 듯한 어색한 행동을 줄이는 데 쓰였다.
학습에는 NVIDIA B200 8개를 시간당 30달러에 임대해 사용했다. 개발자가 공개한 최신 실험의 전체 예측 정확도는 55.57%로, 글에서 비교한 기존 최고치 53.2%보다 2%포인트 넘게 높다. 다만 Maia-2가 사용한 것과 정확히 같은 학습 데이터로 검증하지 않았다고 밝혔다. 블리츠 게임을 포함해 예측이 더 어려운 상황을 골랐을 가능성이 있다고 덧붙였다.
실력 구간별 정확도는 초급(1600 이하) 52.78%, 중급(1600~2000) 55.11%, 고급(2000~2300) 56.56%, 전문가(2300 이상) 57.29%다. 개발자는 실제 대국에서 모델이 사람다운 수를 두고 사람처럼 실수하며 설명하기 어려운 수를 두지 않는다고 평가했다. 코드는 GitHub 저장소에 공개했지만, 모델 파일은 GitHub에 올리기에는 너무 커서 별도로 공유할 방법을 찾겠다고 밝혔다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요