Top Coder RAW novel - Chapter (123)
탑 코더-123화(123/303)
# 123
세기의 이벤트
D-Day 샌드 힐 호텔.
실리콘 밸리에서도 5성급인 호텔. 직원들은 예의바르며 친절했다. 내부 곳곳에는 유명 작가들의 예술 작품이 전시되어 있었다.
대회 장소는 승호가 묵고 있는 호텔 1층 컨벤션.
입구는 경기를 위해 초청된 몇몇 VIP들과 추첨으로 선정된 수십 명의 관람객만 들어갈 수 있었다. 취재기자들을 위한 별도의 장소가 마련되어 있었으나 입구에서부터 취재 열기가 뜨거웠다.
인간 대 인공지능.
그 대결이후 처음으로 벌어지는 인공지능 대 인공지능.
특히나 포트라는 이름이 주는 권위에 호텔은 인산인해를 이루고 있었다.
“자네 생각에는 누가 이길 것 같아?”
“당연히 포트지. 델타를 이길 수 있는 건 델타 밖에 없어.”
“하긴 포트에서 새롭게 발표한 델타 코어 논문을 보면 엘로 점수가 6000점을 넘더라.”
“말이 6000점이지. 그게 그렇게 간단 한 게 아니잖아. 더구나 델타는 프로 바둑 기사를 상대로 최초 승리를 따낸 인공지능이니.”
“이변은 없겠지?”
상대 기자가 고개를 끄덕였다. 그게 기자들 사이에 만연해 있는 분위기였다. 한국에서 온 기자들의 반응도 별반 다르지 않았다. 실시간으로 방송을 시청하는 시청자. 그리고 경기를 지켜보는 시내소프트 직원들까지도.
경기에 참가한 승호 일행만이 다른 생각을 하고 있었다.
“세팅 끝났습니다.”
고동수의 보고에 승호가 고개를 끄덕였다.
“한 번 만 더 점검하자.”
고동수가 다시 모니터 앞에 앉아 ONE의 상태 점검을 시작했다. 승호가 긴장된 눈빛으로 모니터를 바라보았다.
‘현재 ONE의 엘로 점수는 6320. 그 동안 델타 코어가 더 발전 했다 손 치더라도 6500이 한계야. 충분히 해볼 만한 싸움이다.’
승호는 충분히 승기를 잡을 수 있다고 생각했다. 경기는 장장 3일에 걸쳐 벌어진다. 인공지능이 대결을 펼치는 만큼 룰은 기존의 바둑 룰 과는 조금 달랐다. 한 수당 5초의 시간을 주고 하루에 10판의 대결을 펼친다. 더 짧은 시간에 더 많은 대결을 펼칠 수도 있었지만 서로가 학습할 시간을 주지 않기 위함이었다. 또한 이런 세기의 이벤트를 하루 만에 끝내고 싶지 않은 승호의 의도도 숨겨져 있었다.
세계에 시내소프트를 알릴 수 있는 절호의 기회.
노출 될 수 있는 시간은 많으면 많을수록 좋은 것이니까.
‘불과 10판에 불과한 경기에서 상대의 약점을 찾아내 학습하는 인공지능 쪽이 이기게 될 거야.’
10판.
그러나 그 속에서 이루어지는 착수(着手) 행위는 수 백 번을 넘어 수 천 번을 넘어간다. 승호는 충분히 그 안에 ONE이 델타 코어를 분석해 학습 한 후 최선의 수로 상대 할 수 있을 것이라 믿었다. 그러나 그건 상대도 마찬가지였다.
“오랜만이야.”
자신만만한 미소를 지으며 자신에게 다가온 남자.
에이든 베이커.
오늘 까지 합친다면 벌써 대회에서만 3번째 마주치는 사람이었다. 이쯤 되면 스토커라 생각해도 될 정도.
“또··· 너냐?”
“후훗. 넌 결코 나에게 이길 수 없어.”
“지난번에는 패배를 인정한다고 했던 것 같은데.”
당황한 에이든이 말을 더듬었다.
“그, 그건 해킹 영역에 한정된 것이고, 오늘은 인공지능 대결. 오늘의 대결은 다를 거야.”
승호는 순수한 호기심으로 물어 보았다. 물론 할 수 있을 거라 생각하긴 했지만 이렇게 대결에 참가할 정도로 델타 개발에 깊숙이 참여하고 있을 줄 은 몰랐다.
“인공지능도 할 줄 알았어?”
“너도 하는데 내 가 왜 못해.”
초등학생 같은 반응에 승호가 되물었다.
“으, 응?”
대답은 여전히 유치한 수준을 벗어나지 못했다.
“네가 하는 건 나도 전부 할 수 있어.”
승호가 입 꼬리를 올리며 말했다.
“아니. 못할 텐데.”
“뭐, 뭐?”
“분명 못하는 게 있다고.”
0과 1.
그 세계를 읽는 건 결코 하지 못하리라.
“어, 없다. 없어. 그런 건 있을 수가 없어.”
“흐흐, 과연 정말 그런지 그럼 끝나고 따로 볼까?”
에이든이 고개를 끄덕였고, 때 마침 제프가 둘 사이에 끼어들었다.
“무슨 재미있는 이야기를 그렇게 하고 있습니까?”
그는 승호가 업계에 발을 디뎠을 때부터 세계 최고의 프로그래머로 명성을 날리던 사람. 승호도 제프 앞에서 만큼은 함부로 행동 하지 못했다.
“다시 뵙는 군요.”
“결국 대결하길 결정한 걸 보니 자신 있으신가 봅니다.”
“쉽지는 않을 거라 생각합니다.”
제프가 지긋이 승호를 쳐다보았다.
“델타 코어 논문은 읽어보셨습니까?”
“많은 도움이 되었습니다. 어느것 하나 버릴게 없더군요.”
“호오··· 도움이 되었다.”
제프의 눈이 가늘어 졌다. 과연 저 말이 진심일까. 앞으로 30분 뒤 대결을 시작하게 되면 알게 될 것이다.
‘져도, 이겨도 우리는 이득이다.’
지면 정체된 포트에 위기의식을 불어넣을 수 있다. 이기게 되면 싼 값에 가치 있는 회사를 인수하게 되니 그것 나름대로 이득이었다.
“그래서 논문으로 공개하신 것 아닙니까? 보고 배워라. 배우고 익혀 새로운 을 것을 들고 왔습니다.”
“뭐, 좋습니다. 이제 대결을 시작하게 되면 알게 되겠죠.”
***
사회자의 경기 설명이 끝나고 바로 대회는 시작 되었다.
원 vs 델타.
델타 vs 원.
백이 후수. 흑이 선수를 두게 되는 것이 룰 이었고, 첫날 경기에서 선수를 잡은 건 델타였다.
착.착.
착.착.
수분도 걸리지 않아 바둑판이 빠르게 채워지기 시작했다. 사람이 아닌 인공지능들 간의 경기. 그렇기에 한 수, 한 수가 빠르게 진행되었다.
“설마··· 이번에도 지는 거 아니지?”
“해설자 해설 안 들리냐. 불리하다잖아.”
“휴우··· 애초에 델타를 이긴다는 게 무리였지.”
“강승호는 무슨 깡으로 꼭 이긴다는 인터뷰를 한 거지. 저렇게 맥없이 무너질 거면서.”
“그 사람 나이도 아직 어리다면서. 객기지 뭐 객기야.”
“벌써 3판을 내리 연속으로 졌지?”
“그만 보고 일이나 하자.”
현재까지 결과는 0대 3.
대결을 지켜보는 국민들의 실망감이 더해질 때도 포기 하지 않고, 경기를 지켜보는 사람도 있었다.
시내소프트의 부사장인 황호근.
그가 두 손을 모으고 간절함을 담아 경기를 지켜보고 있었다.
“아··· 저기서 함부로 이단젖힘을 하면 안 될 텐데.”
평소 취미로 바둑을 두고 있었기에 경기가 흘러가는 양상을 볼 수 있는 눈이 있었다.
“아··· 저긴 차라리 굳히기를 들어갔어야······.”
볼 때 마다 탄식을 흘렸다. 이런 식으로 진행하면 ONE이 지는 그림이 그려진다. 그건 방송을 통해 해설 하고 있는 해설자들도 마찬 가지의견이었다.
-여기서 백이 젖히면 흑이 패를 들어가는 수가 있어요.
-그러면 이쪽에서 패감이 더 많이 나오는 수가 있습니다.
-하아··· 쉽지 않겠는데요. 이번 판은 델타에게 유리한 형세로 진행되고 있습니다.
-수당 5초라는 제한 시간 때문인가요. 원이 연달아 악수를 둡니다. 이건 창의적인 수라 할 수 없는데요.
바둑을 잘 모르는 최기훈이 물었다.
“상황이 그렇게 안 좋습니까?”
황호근이 무겁게 고개를 끄덕였다.
“대부분 선수를 두는 것이 유리하다고 알려져 있지. 델타가 선수를 두고 있기에 유리하게 시작한건 사실이나 그래서. 백을 잡은 선수에게 6집 반을 덤으로 주고 시작하는데··· 그걸 제하고도 지금 벌써 2집 반 차이를 내줬다.”
2집 반 차이.
그게 의미하는 바는 간단명료했다.
“지고 있다는 말이군요.”
이번에도 황호근은 무겁게 고개를 끄덕였다. 지금 방송되고 있는 내용이 믿고 싶지 않은 눈치였다.
“휴우··· 델타는 델타라 이건가. 쉽지 않아.”
“그래도 아직 경기가 6판이나 남았는데··· 반전이 펼쳐 질수도 있지 않을까요?”
“그러길 기대해 봐야지.”
황호근이 착잡한 표정으로 화면을 주시했다. 화면 우상 단에는 오늘 벌어지고 있는 경기 결과가 나와 있었다.
1일차.
ONE 0 vs DELTA 3.
몇 분 뒤.
1일차.
ONE 0 vs DELTA 4.
델타의 숫자가 하나 더 올라갔다.
***
승호가 모니터를 보며 물었다.
“ONE 상태는 어떻습니까?”
“현재 학습 중에 있습니다.”
“델타를 이기기 위한 학습이 완료되는데 필요한 시간은요?”
“ONE 끼리의 대결에서는 최소 100판에서부터 창의적인 수가 나왔습니다. 그걸 어제 까지 수정해 50판까지 줄이도록 해보았지만··· 테스트 시간이 부족했습니다.”
승호가 아랫입술을 깨물었다.
“결국 기다려봐야 알 수 있다는 말이군요.”
예카테리나가 차마 대답하지 못하고 관자놀이를 문질렀다.
“오늘 최대한 많은 경기를 해야 그나마 학습에 필요한 시간이 충족 되는데··· 이런 식 이면 시간을 벌 수 있을지 의문이네요.”
“대표님 생각에는 어떻습니까? 마지막에 변경하여 적용한 수식이··· 효과를 발휘 할 수 있을 것 같습니까?”
승호가 고개를 끄덕였다.
“물론··· 전 그렇게 생각합니다. ONE이 이길 거라고.”
“그러면 믿고 기다려 봐야겠군요.”
그러나 승호도 초조함을 감추지는 못했다. 무의식 적으로 한쪽 다리를 떨며 손가락으로 탁자를 두드렸다.
‘뭐지, 뭐가 잘못 된 걸까. 분명 새롭게 만들어진 알고리즘에 문제는 없어.’
벌써 0대 4.
너무 압도적인 경기가 펼쳐지고 있었다. 만약 한 판만 더 진다면 1일차 경기는 ONE의 패배로 끝이 난다. 필요한 학습데이터를 채우지도 못한 채.
그렇게 끝나도록 둘 수는 없었다.
(x, v)=f(s) or r=logp-∑f(θ)+(z-v)²-(c||θ||²*f(θ))승호는 자신이 만들어낸 수식에 정신을 집중했다. 그 사이 경기는 빠르게 진행되고 있었다.
착.착.착.착
바둑알이 놓일 때마다 들리는 효과음이 승호의 심장을 옥죄어 왔다.
‘여기서 질 수는 없어. 뭐지, 뭐가 문제 일까.’
다섯 번째 경기가 시작 된지도 벌써 5분이 지났다. 바둑판 위에 놓인 바둑알은 72개. 경기는 초반을 지나 중반의 초입에 들어 선 것이다. 지금 수를 내지 못하면 이번 판도 패배로 끝날 공산이 컸다.
‘내가 적용한 촉삭 시스템 관련 알고리즘과 나도 모르는 충돌이 일어난 건가? 아니야. 포트의 논문에서 고도화 시킨 알고리즘은 완전히 다른 영역에서 작동하고 있는데······.’
촉삭은 결과 값 전달의 매개체
두 시스템은 엄밀히 말하면 서로 의존성을 가지지 않도록 분리되어 있다.
‘분리 되어 있다. 분리··· 분리··· 설마.’
분리되어 있다. 그건 곧 서로간의 통신에 비효율이 발생할 수도 있다는 말이었다. 0.001 초도 줄이기 위해 최적화를 하는 게 이 쪽 세계다. 분리가 되어 있다면 어쩌면 0.001초의 비효율이 발생 하고 있을 수도 있었다.
신경망 네트워크 내에서 촉삭 시스템을 거치는 횟수를 감안 한다면 최소한 0.005초 정도의 비효율은 줄 일 수 있었다. 승호는 지금까지 ONE이 착수하는데 걸린 시간을 살펴보았다.
‘4,5초, 3,9초, 4.8초. ONE은 5초 근 방이지만. 델타는 대부분 3초 안쪽이야.’
ONE이 대부분 5초를 간신히 지킨 반면 델타는 3초 안으로 착수 하고 있었다. ONE이 착수 하는 시간이 더 느리다는 뜻.
‘평균 델타보다 2초가 느리다. 내 예상대로 촉삭 시스템이 분리되어 있어 비효율이 발생. 5초룰 때문에 최선의 수를 찾기 전의 수로 대결을 하고 있는 거라면······.’
승호는 미친 듯이 키보드를 두드려 나갔다. 사전에 협의한 대로 경기 중간에도 업데이트는 마음대로 진행할 수 있었다. 만약 자신의 생각대로라면 이번 판은 지지 않을 수 있었고, ONE을 학습시키는 시간은 줄어들어 결국 대결에서 승리할 지도 모른다.