Trawling

펜티엄 프로용 Stockfish 17, Ryzen 7에서 구동한 Crafty 개량판에 100국 중 78승

Nicholas Carlini는 200MHz Pentium Pro용 Stockfish 17이 Ryzen 7에서 실행한 Crafty 11.13 기반 현대화 엔진과 100국을 겨뤄 78승 17무 5패를 기록했다고 밝혔습니다. Kasparov를 이길 가능성이 높다는 판단은 수당 측정치에서 고전 시간제로 외삽한 약 3300 Elo에 근거합니다. 실제 대국은 없었으며 엔진의 CCRL 등급과 Kasparov의 FIDE 등급은 서로 다른 체계입니다.

본문

1996년 2월 IBM의 체스 전용 컴퓨터 Deep Blue는 Garry Kasparov와의 한 판을 이겼지만, 당시 매치에서는 패했습니다. Nicholas Carlini는 2026년 11월 1일자 개인 기술 글에서 200MHz Intel Pentium Pro에 맞춘 체스 엔진 Stockfish 17을 소개했습니다. 상대는 1996년판 Crafty 11.13을 출발점으로 현대의 검색·평가 기법을 적용한 엔진으로, Ryzen 7에서 실행됐습니다. 두 엔진의 100국 대국에서 Pentium Pro의 Stockfish는 78승 17무 5패를 기록했습니다.

Carlini는 64MB 메모리를 단 실제 Pentium Pro PC를 사용했습니다. 1.44MB 플로피 디스크에서 부팅하는 작은 실행 환경이 네트워크 카드를 초기화하고 체스 프로그램을 메모리에 올립니다. 체스 프로그램은 자체 HTTP 서버를 띄워 FEN 표기의 체스판 위치와 계산 시간을 요청으로 받습니다. 엔진은 정해진 시간 동안 수를 탐색한 뒤 결과를 돌려주며, 이용자는 웹페이지에서 이 PC의 엔진과 대국할 수 있습니다. Carlini는 실행 환경과 엔진 코드를 구현할 때 LLM을 이용했다고 밝혔습니다.

Pentium Pro는 한 코어에서 32비트 연산을 하므로, Carlini는 이에 맞춰 Stockfish 17을 손봤습니다. 스레딩과 엔드게임 테이블베이스, C++ 표준 라이브러리를 제거하고, 64MB 메모리에 들어가지 않는 71MB NNUE 신경망을 더 작은 망으로 바꿨습니다. 체스판 상태를 나타내는 비트보드는 32비트 정수 두 개로 나눴고, 작은 신경망도 정수 연산으로 계산하도록 수정했습니다.

옛 CPU에서 체스 엔진을 강하게 만든 것은 실행 속도뿐 아니라 검색과 평가 방식의 변화였습니다. Carlini가 1996년판 Crafty 11.13을 Pentium Pro에서 수당 1초씩 실행했을 때 Elo는 1999±90이었습니다. 여기에 후대의 검색 기법과 평가 방식을 적용한 Crafty 기반 버전은 같은 조건에서 2718±34를 기록했습니다. 원본 Crafty 11.13을 Ryzen 7에서 수당 1초씩 실행했을 때는 2614±97이었습니다. Carlini는 이 결과를 바탕으로 체스 엔진 발전에서 하드웨어 향상뿐 아니라 프로그램 설계의 개선도 큰 몫을 했다고 설명합니다.

검색 기법은 한정된 계산 시간을 어떤 후보 수에 쓸지 바꿉니다. 예를 들어 늦은 수 감소(LMR)는 수순에서 뒤쪽에 놓인 후보를 처음부터 같은 깊이로 탐색하지 않고 한 단계 얕게 살핍니다. 가지치기 기법은 검색 말단에서 가능성이 낮은 조용한 수를 건너뛰어 계산을 줄입니다. 수순을 평가하고 탐색 매개변수를 조정하는 방법도 함께 바뀌었습니다.

국면 평가는 NNUE 신경망이 맡습니다. NNUE는 탐색 중인 체스판의 유불리를 평가합니다. Carlini는 처음에 자체 대국에서 얻은 1,100만 개 국면을 자체 검색 결과로 라벨링해 작은 망을 학습했고, 이후 더 강한 Stockfish를 교사로 삼아 평가기를 개선했습니다. 평가 성능이 좋아지면 검색 과정에서 어떤 후보를 더 깊게 살필지 판단하기 쉬워집니다. Carlini는 신경망의 누적값 갱신을 손봐 계산을 빠르게 하고, Pentium Pro의 낮은 탐색 깊이에 맞춰 매개변수도 다시 조정했습니다.

조정을 마친 Stockfish 17 포트는 Pentium Pro에서 수당 1초일 때 2846±35, 10초일 때 3109±79, 30초일 때 3180±80 Elo를 기록했습니다. 100국 대국에서 이 엔진은 Pentium Pro에서 실행됐고, 상대인 Crafty 11.13 기반 현대화 엔진은 Ryzen 7에서 실행됐습니다. 두 엔진은 소프트웨어 세대와 실행 하드웨어가 모두 다른 조건에서 겨뤘습니다.

Carlini는 이 결과를 바탕으로 Stockfish가 Kasparov를 이길 가능성이 높다고 봤습니다. 그 판단은 실제 대국 기록이 아니라 Elo 외삽에 근거합니다. Carlini는 수당 30초까지의 측정치를 고전 시간제로 외삽해 Pentium Pro용 엔진의 Elo를 약 3300으로 추정했습니다. Kasparov의 등급은 2800보다 조금 낮았지만, Carlini는 엔진 등급표 CCRL과 인간 선수의 FIDE 등급이 서로 다른 체계라고 설명합니다. 따라서 3300은 서로 다른 등급 체계를 참고해 얻은 추정치입니다.

실험에서 1996년으로 되돌린 요소는 하드웨어이고, 엔진과 학습 방식은 현대의 것입니다. 평가기를 개선할 때 Carlini는 더 강한 Stockfish를 교사로 썼습니다. 자체 엔진을 교사로 이용했다면 1996년급 코어로 약 4,000 코어-년이 들 수 있다고 계산했으며, 실제 교사 학습은 현대 데스크톱에서 며칠 걸렸다고 밝혔습니다. 이 측정치는 현대에 만든 Stockfish 17 포트를 Pentium Pro에서 실행한 성능을 보여줍니다.

참고 자료

오류 제보