한국기원

바둑뉴스

월간바둑

이사람1/앤드류 잭슨 

등록일 2019.05.301,739

미니고 개발자 앤드류 잭슨.
미니고 개발자 앤드류 잭슨.

“알파고 은퇴에 충격받고 미니고(Minigo) 개발을 결심했죠”

늦겨울 날씨가 풀리기 시작한 3월 중순의 어느 날, ‘AI(인공지능) 바둑 전문가’로 유명한 김수광 사이버오로 기자에게 한 통의 메시지를 받았다.

“범근 씨, 미니고 새로운 버전이 나왔는데 엄청 세요!”

한 번 설명이 시작되면 빠져나오기 힘든(?) 김 기자의 긴 설명이 시작됐고, 끝으로 보내온 개발자 프리젠테이션 유튜브 영상에는 낯익은 얼굴이 보였다.

“아니, 형이 여기서 왜 나와?”
영상에 나온 개발자는 바로 앤드류 잭슨(Andrew Jackson), 필자가 과거 미국에 거주할 때 친분을 쌓았던 바둑 친구였던 것이었다!
곧바로 메신저로 연락해 근황을 묻다가 문득 이 친구가 어떻게 인공지능을 직접 개발하게 되었는지 궁금해졌고 이런 능력자를 필자를 비롯한 ‘인공지능 마니아’들만 알기엔 너무 아까웠다.

“편집장님! 이런 친구가 있는데 제가 ‘친구 찬스’ 한번 써서 섭외해 보겠습니다!”
“음… 그래? 한번 해봐” 편집장의 허락이 떨어졌고 인터뷰는 바로 성사됐다(IT 전문용어가 많이 나와 내용이 어려울 수 있는 점을 양해 부탁드린다).

알파고-이세돌 매치 1국을 미국바둑협회 유튜브 채널에서 생중계하고 있는 앤드류 잭슨.


- 정신없이 바쁠 텐데 인터뷰 응해줘서 고맙고 순산 축하해! (앤드류는 지난 4월 2일 득녀했다)
별말을, 고마워!

- 먼저 독자들을 위해 본인 소개 부탁해.
안녕하세요, 월간『바둑』독자 여러분, 저는 앤드류 잭슨이고 미국 시애틀에서 거주하고 있습니다. 구글에서 수석 소프트웨어 엔지니어로 일하고 있고 기력은 매년 줄고 있지만(웃음), 미국바둑협회 아마4단입니다.

- 바둑은 어떻게 배우게 됐어?
어릴 때 규칙만 아버지한테 배웠어. 아버지는 베트남에서 복무했던 친구한테 배웠고. 아버지 친구한테 받은 바둑 책이 몇 권 집에 있었는데 대학 진학 후에야 책장에서 발견했지 뭐야. 그래서 제대로 공부한 건 열아홉 살, 스무 살부터였을 거야. 대학 다닐 때 한 1년 정도는 초단 되려고 수업도 팽개치고 바둑에만 빠져 있던 적도 있었지. 대학 졸업 후 중국 베이징에서 두 달 정도 바둑 공부한 적도 있었고. 하지만 직업을 갖게 된 후부터는 제대로 바둑 공부를 이어갈 수 없었어.

- 와~ 타고난 바둑인이네(웃음). 미국바둑협회(AGA) 부회장을 맡고 있다고 알고 있는데 어떻게 시작한 거야?
AGA에 자원해서 일하기 시작한 건 2009년부터야(미국바둑협회는 비영리단체로서 자원봉사자들에 의해 운영된다). 매년 열리는 가장 큰 바둑 행사인 ‘미국바둑 콩그레스’ 운영을 주로 도왔지. 부회장을 맡게 된 건 AGA가 착수했던 여러 가지 기술 프로젝트를 하나로 통합하는 걸 도와주기 위해서고. 미니고 개발에 집중하게 되면서 전보다는 활발하게 활동하지 못하고 있어.

- 그랬구나. 이제 미니고 얘길 시작해봐야겠는데 먼저 이름 작명 이유부터 설명해줘.
처음 시작할 땐 프로그램 이름이 ‘MuGo’였어. ‘mu’ 접두사가 보통 아주 작다는 뜻의 ‘마이크로(micro)’를 의미하거든. 그런데 점점 프로그램이 micro보다는 약간 커지면서 ‘미니(mini)’가 돼서 ‘Minigo’가 된 거지. 참고로 ‘미니고(Minigo)’의 g는 소문자야(보통 바둑의 영문 이름인 ‘Go’의 G는 대문자를 쓴다). 왜 소문자를 썼는지는 모르겠어(웃음).

▲ 현재 미국에서 거주하고 있는 이하진 前 프로 四단과 페어대회에 짝을 이뤄 출전한 앤드류 잭슨.


- 마이크로에서 미니로 발전한 거네(웃음). 개발을 시작하기로 결심하게 된 계기가 어떻게 돼?
2017년 알파고가 커제 九단와의 매치에서 승리 후 은퇴를 선언했을 때 다른 바둑 팬들도 마찬가지였겠지만 나는 굉장히 충격을 받았고, 많은 의문이 남았지. ‘어떤 정석들이 알파고 자가대국에서 새로 발견됐는지? 그 정석들이 완벽한지 불확실한지? 어떻게 반상에 나타날 수 있는 그 놀라운 복잡성(Complexities)을 다룰 수 있었는지? 정말 알파고가 바둑의 모든 것들을 이해한 건지? 몇 억 명에 달하는 바둑 팬들이 무엇을 알파고 자가대국에서 발견할 수 있는지?’
알파고 제로 논문이 발표됐을 때 그걸 읽고 ‘와우! 정말 간단하고 명쾌하게 설명이 돼있어서 내가 진짜 직접 만들어 볼 수도 있겠구나! 물론 처리방법에 있어 엄청난 양의 연산력(Computing Power)이 요구되지만, 일단 코드를 작성하고 구글 내부 어딘가에서 자원을 찾을 수 있는지 알아보면 되지 않을까’라고 생각이 들었던 거지. 쉽진 않겠지만 시도를 해봐야 했어!

- 그럼 혼자서 시작한거야?
당연히 아니지! 바둑친구였던 브라이언 리(Brian Lee)가 초기 알파고 논문을 보고 그의 엔진이었던 ‘MuGo’에 사용할 정책망(Policy Network) 버전을 작성했었어. 아직 가치망(Value Network)은 추가하지 않은 상태에서 우리는 가치망을 만들고 정책망을 더 간결한 알파고 제로 접근법으로 변경했지. 2017년 11월쯤 9줄 버전을 실행했을 때 약간의 버그가 있었지만 발전이 보여 굉장히 흥분했었고.
다음 단계는 어떻게 자원을 얻을지 방법을 찾는 거였어. 알파고 제로 알고리즘의 핵심적인 성취중 하나는 많은 양의 연산력을 효율적으로 사용할 수 있는 방법을 찾아냈다는 거야. 전문용어로 ‘평행화 가능(parallelizable)’이라고 표현하는데 여러 대의 컴퓨터를 효과적으로 사용할 수 있다는 뜻이지. 다행스럽게도 당시 구글 클라우드에서 GPU(Graphics Process Unit)를 지원해주는 쿠버네티스(Kubernetes) 서비스를 새로 런칭하기 직전이었어. 구글 클라우드 측에 우리 접근법을 응용한 병행(parallel) 작업을 통해 쿠버네티스 서비스를 스트레스 테스트(안정성 검사)할 수 있는지 물어봤고 이게 대성공하면서 우리는 금방 작업을 완료할거라고 생각하고 자축하기 시작했지. 하지만 우리가 얼마나 잘못된 생각을 하고 있었는지… 직접 해보기 전까지는 얼마나 많고 중요한 세부사항들이 있는지 잘 모르는 법이잖아. 우리가 GPU를 지원받았음에도 불구하고 딥마인드(DeepMind)가 3일 안에 했던 작업을 우리는 거의 한 달 동안 매달려야 했어. 그리고 그때쯤 파이썬(Python)으로 개발했던 우리 엔진으론 더 이상 진전을 내기가 쉽지 않다는 걸 깨닫고 친구인 톰 마담스(Tom Madams)에게 코드를 C++로 복사(Port)하는 걸 부탁했어. 이게 잘 되면서 성능을 크게 신장시켰지. 톰이 우리 UI(사용자 인터페이스)도 만들었어. 톰은 우리가 어떻게 그 당시 개발단계였던 구글 클라우드 TPU 제품(구글 클라우드에서 AI 서비스를 사용하여 최첨단 머신러닝 제공)을 지원할 수 있는지도 생각해냈지. 결국 클라우드 TPU가 우리가 새로운 것들을 실험하고 시도할 수 있는 능력을 만들어줬다고 해도 과언이 아니야. 클라우드 TPU 제품을 베타 테스트할 수 있는 장소와 시간에 딱 우리가 있었다는 게 정말 운이 좋았지. 마지막으로 또 다른 공헌자인 세스 트로이시(Seth Troisi)가 우리를 찾아와 합류했지. 세스는 우리가 만든 데이터를 분석하고 탐색할 수 있는 웹사이트를 만들었어. 순위 그래프나 대부분의 차트도 만들었고. 세스 도움으로 무엇이 차이를 만들 수 있고 없는지를 측정할 수 있게 됐지.

▲ 2016 미국바둑 콩그레스에 초청된 알파고팀(아자황, 판후이)에 국제바둑연맹(IGF)이 바둑발전상을 수여하는 장면. 왼쪽부터 앤드류 오쿤 미국바둑협회장, 앤드류 잭슨, 아자황, 판후이, 토마스황 IGF회장.



- 대단하네! 아무리 알파고 제로 논문을 참고했다지만 4명의 힘으로 이런 훌륭한 인공지능을 만들었다는 게 믿겨지지 않는데?(최근 신진서 九단이 미니고와 릴라제로(Leela Zero)를 활용하며 훈련하고 있을 정도로 미니고는 높은 평가를 받고 있다)
아무래도 다른 팀에 비해 규모가 작은 게 사실이지. 그래도 구글의 인프라 덕에 아마 우리가 미니고의 각 모델을(현재 17번 버전까지 발표) 다른 인공지능보다 더 많이 대국을 돌려봤을 거야. 알파고 논문 발표 이후부터 컴퓨터 비전(컴퓨터에 시각을 부여해 이미지를 분석함으로써 유용한 정보를 생성하는 기술) 분야에 많은 발전이 있었고 미니고를 통해 새로운 아이디어들을 테스트 할 수 있었어. 한 예로 17번 버전은 ‘Squeeze and Excite(짜내기와 자극하기)’란 이름의 관계망을 사용했는데 네트워크가 전역 특징을 이해하는데 도움을 줬지. 17번 버전이 오리지널 버전보다 강한 걸로 판단되고 있어! 

- 간혹 미니고가 구글 프로젝트의 하나인 줄 아는 사람들이 있는데 그 부분에 대해서 정확히 짚어줘.
물론 구글의 인프라로부터 엄청난 혜택을 받았지만, 미니고는 구글의 공식적인 프로젝트가 아닌 완전히 독자적인 프로젝트인 것을 강조하고 싶어. 걱정되는 부분은 만약 우리가 인공지능 바둑대회에 참가하면 ‘공식 프로젝트’로 인식될 수 있다는 점이야. 사실은 미니고가 20% 정도의 시간과 노력을 들인 ‘사이드 프로젝트(구글 기술자들이 근무 시간의 20%를 업무와 관련된 개인적인 관심사에 투자할 수 있는 제도)’거든.

- 그런 훌륭한 제도는 한국에도 정착이 되어야 할 텐데 말이야(웃음). 미니고의 최종 목표가 뭐야?
초기 미니고의 목표는 오로지 알파고 제로 논문의 결과를 구현하는 거였어. 하지만 논문을 구현하려면 많은 자원 투입이 필요하다는 것이 분명해졌을 때 목표는 구글 클라우드 플랫폼에서 큰 규모의 머신러닝 능력을 입증하는 것으로 변경됐지. 물론 매우 강한 인공지능을 만들고 싶은 와중에도(만약 이게 강하지 않으면 논문을 정확하게 복제했다고 말하기 어렵겠지!), 내 목표는 단 한번도 ‘가능한 가장 강한’ 엔진을 개발하는 것이 아니었어. 대신, 인공지능을 공개적이고 명료하게 구현해 데이터와 함께 바둑 팬들에게 제공하는 거였지. 내 희망사항은 우리가 자원을 계속 사용할 기회가 있는 동안에 가능한 많고 유용한 데이터를 생산하는 거야. 그래야 우리, 바둑인들이 앞으로 다가올 많은 시간 동안 새로운 아이디어를 미니고 바둑으로부터 발견할 수 있겠지!

- 멋지네! 끝으로 월간『바둑』 독자들에게 한마디 부탁할게.
문화적 전통으로서의 바둑은 매우 새로운 도전들에 직면하게 될 것입니다. 인터넷이 생겼을 때, 집에서 두는 건 점점 더 쉬워졌고 주변 바둑 커뮤니티를 등한시하게 됐죠. 하지만 지금은 인터넷 바둑이 편법에 취약하게 됐고 이것이 생태계에 어떤 영향을 끼칠지 확실하지 않습니다. 바둑의 놀라운 능력 중 하나는 주변 사람들과 우리를 연결해주는 것인데, 우리는 이걸 점점 잃어버리고 있어요. 우리는 원하는 능력을 발전시킬 수 있는 가장 강력한 도구를 누리고 있지만, 주변 사람들과 우리를 연결시키는 우리의 능력은 인공지능으로 훈련할 수 있는 게 아니라는 것을 꼭 기억했으면 합니다.

<인터뷰/조범근 객원기자>



Top