본문 바로가기
살아가는 모습/생각

이세돌의 승리, 알파고의 '버그'일까? 단순 실수일까?

by 내오랜꿈 2016. 3. 14.
728x90
반응형


알파고는 단일형 버젼과 분산형 버젼 두 가지 종류가 있다고 한다. 간단하게 말해서 컴퓨터 1대를 쓰느냐 여러 대의 컴퓨터를 연결해서 쓰느냐의 차이다. 단일버젼은 48개의 CPU를 사용하고 분산버젼은 1202개의CPU를 사용(25배 차이다)한다고 한다. 우리가 유추할 수 있는 것은 CPU 차이에서 알 수 있듯이 아마도 연산능력의 차이가 두 버젼의 다른 점일 것이라는 정도다. 다만 아래 표에서 보듯 알파고는 구글이 기자회견에서 밝힌 것보다 다양한 하드웨어 사양의 테스트 버젼을 가지고 있는 것으로 파악되고 있다. 심지어 분산형 버젼에는 현재 이세돌 구단과의 대국에 사용한다고 밝힌 1202개의 CPU보다 더 높은 사양인 1920개의 CPU를 사용하는 버젼도 있는 것으로 알려졌다. 다만 1920개의 CPU와 176개의 GPU를 사용하는 분산형 버젼이 1202개의 CPU와 112개의 GPU를 사용하는 버젼보다 '엘로 평점'에서 거의 차이 나지 않는 까닭에 지금은 사용하지 않는 것 같다. 표에서 보이듯 요즘 잘 쓰는 말로 '가성비가 영 아니올시다'이기 때문이다. 네이처 논문에서 알파고가 다른 바둑프로그램과 500번의 대국을 벌여 499승 1패를 했다고 했다고 밝혔는데, 이 시합의 77%는 단일 컴퓨터 버젼으로 한 것이고 1패도 이때 기록한 것이라 한다. 여기서 '엘로 평점'이란 체스나 바둑 등 2명이 하는 게임에서 실력 측정 및 평가 산출법으로 사용되는 시스템을 말한다. 확률이론에 근거한 수학적 승률 추론 방법인데 내 능력으로는 누구나 알아들을 수 있도록 쉽게 설명하기 어려우니 꼭 알아야 하겠다는 분들은 검색해 보시기 바란다.


알파고 하드웨어 사양별 배열 및 성능
배열검색 쓰레드CPU 수GPU 수엘로 평점
비동기404812,151
비동기404822,738
비동기404842,850
비동기404882,890
분산12428642,937
분산247641123,079
분산401,2021763,140
분산641,9202803,168
▲ 알파고의 다양한 하드웨어 사양(출처:위키백과)


오늘 이세돌 구단이 알파고와의 대국에서 이기자 기자회견장서 가장 첨예하게 대두된 질문도 알파고의 버젼 차이에 관한 것이었다. 이에 대해 구글 측은 1~3국과 마찬가지로 분산형 버젼으로 사용하고 있다고 대답했다(분산형 버젼도 여러 개인데 처음부터 자세한 걸 따지고 들었던 게 아니니 더 이상 문제제기 하기도 어려운 상태다). 그렇다면 왜 오늘 바둑에서, 마치 버그 형태의 말도 안 되는 수를 두느냐는 질문엔 단순히 알파고의 실수라면서 런던으로 돌아가서 분석해야 정확히 알 수 있을 것이라고 대답했다. 덧붙여 '단일형도 충분히 세다. 분산형과 단일형은 7:3 정도로 분산형의 승률이 좋은 정도'라고 대답했다. 바둑에서 승률이 7:3이라는 건 프로 정상급과 프로 하위권의 차이라는 말이다. 정상급 프로기사의 승률이 보통 70%를 상회하고 하위권 프로기사의 승률이 30% 정도인 것.




이런 질문들이 쏟아지는 이유는 제 4국에서 보여준 알파고의 '버그' 같은 수들 때문이다. 백 78수부터 시작된 중앙 공방에서 알파고가 둔 83 이하의 수는 명백히 말도 안 되는 수다. 그러나 이 말도 안 되는 수들에도 불구하고 아직도 승패가 넘어간 건 아니다. 이 다음에 알파고는 흑 91의 수로 백78 한 점을 따냈는데 다른 좋은 수가 있었는데도 확실하게 지는 길로 들어가는 수를 두었다. 복잡한 곳도 아니고 죽느냐 사느냐의 공방이 벌어지는 좁은 곳이니까 생각할 수 있는 경우의 수도 많지 않은 곳이었는데도.




백 78 한 점을 따낼 게 아니라 흑 1로 지켰어야 한다. 이때 백이 2로 먹여치는 건 흑 7까지 중앙 백이 모조리 다 잡힌다. 이건 백이 망한 것이니 더 두어 볼 것도 없이 던져야 한다. 따라서 백은 2로 먹여칠 것이 아니라 아래 참고도처럼 백 78 한 점을 이어야 한다.




백이 2로 한 점을 이으면 앞의 참고도와 같은 먹여치는 수 때문에 흑이 3으로 보강하여야 하고 백은 4, 6으로 중앙을 제압한다. 상변 백이 흑의 수중으로 들어가는 건 같지만 백이 하중앙을 제압하는 모양새니 앞의 참고도와는 안팎으로 따져서 20집 이상 차이다. 이후 쌍방 최선의 수순은 백 14까지 거의 외길이다. 이렇게 진행되었을 때 형세가 문제인데 흑이 남는 바둑이다. 흑이 상변만 80집에 가깝고 하변을 막아서 두변 10여 집은 충분히 난다. 그렇다면 흑집은 90집이 넘는데 백은 최대한 잡으면 82~3집 정도다. 물론 불리한 백이 6으로 잡지 않고 하변 흑진에 들어가서('가'의 곳) 패를 만드는 등의 변화가 나올 수 있지만 백 6으로 잡지 않은 상태이기 때문에 흑이 얼마든지 변신할 여지가 있어 이 수순으로 갔다면 흑이 지기 힘든 바둑이다. 더군다나 알파고는 1~3국에서 보듯 우세해지면 이세돌보다 더 정교한 마무리 능력을 자랑했었지 않는가.


이런 수순을 놓아두고 왜 알파고는 정말이지 기상천외하게도 손해 보는 수들이나 말도 안 되는 수들의 퍼레이드를 벌여야 했을까? 참고도의 수순은 결코 어려운 수순이 아닌데 말이다. 정말로 이세돌의 묘수에 놀라서(? 기계는 지치지도 않는다면서...) 버그를 일으킨 걸까? 이런 까닭에 알파고의 버젼 문제가 심각하게 대두되는 것이다. 진위 여부는 구글만이 알 수 있는 문제다. 그럼에도 오늘 이세돌의 승리는 컴퓨터 프로그램의 한계가 어떤 형태로 표출될 수 있는지를 보여주었다는 점에서 의미가 크다. 의학용이나 무인운전용 등으로 개발된 인공지능 프로그램이 불완전해서 버그를 일으킬 경우 어떤 재앙(오늘 보여준 알파고의 몇몇 수들은 바둑에서는 거의 재앙 수준이다)을 가져올지를 미리 생각하게 해 주었다는 측면에서.


참고로 단일형 버젼을 사용하든 분산형 버젼을 사용하든 그게 무슨 차이가 있느냐고 생각할 수도 있는데 알파고의 상업적 활용 가능 상품개발이란 측면에서 보자면 하늘과 땅 차이다. 아무리 성능이 우수한 프로그램이라 한들 최상급 성능을 갖춘 컴퓨터 25대를 연결해야만 제대로 작동할 수 있다면 상품화된다 한들 어느 누가 그 프로그램을 구입할 수 있을까? 그러니 개발자 입장에서 보자면 조만간 퍼스널 컴퓨터에서 작동 가능한 단일형 버젼의 성능이 가장 궁금할 수밖에 없을 것 아니겠는가. 앞으로 알파고 성능 개선의 한 축은 궁극적으로 단일형 버전이 분산형 버젼을 얼마만큼 따라잡을 수 있느냐 하는 문제가 아닐까 싶다(실제로 우리나라 바둑 사이트인 "타이젬"에서 활동하고 있는 'DeepMind'라는 아이디는 딥마인드 사에서 시인한 것처럼 개발자의 아이디가 아니라 여러 단일형 버젼 가운데 하나가 아닐까 추론할 수 있다. 프로그램 개발자가 "타이젬" 사이트에서 웬만한 실력의 프로도 유지하기 힘든 9단을 유지하고 있다는 건 누가 봐도 헛소리에 불과하니까).


728x90
반응형