알파고의 계산성능

날짜2016.03.18
조회수10670
글자크기
    • 아직 10년은 더 필요했을 것이라 전망된 인공지능 바둑 프로그램이 세계 최정상 프로 바둑 기사를 꺾고 능력을 과시했다. 인공지능 기술의 발전 속도가 정말 무섭다. 하지만 이럴 때일수록 알파고를 더 깊게 이해해 볼 필요가 있다. 알파고가 어떻게 프로 9단급 바둑 실력을 갖게 됐는지 더 세밀하게 분석해봐야 한다.
    • 알파고는 미국에 있는 구글 클라우드를 활용하여 착수를 결정한다. 클라우드는 사용자가 원하는 만큼 컴퓨터를 빌려 쓸 수 있는 환경을 말한다. 알파고 논문에서는 최대 1920개의 중앙리장치, 즉 CPU(Central Processing Units)와 280개의 그래픽 연산처리장치, 즉 GPU(Graphical Processing Units)를 알파고 연구에 활용했다. 그렇다면 과연 알파고의 컴퓨팅 파워가 어느 정도 규모이고 얼마나 계산을 할 수 있는가에 대한 궁금증이 생긴다. 이것을 하나씩 파헤쳐 보자.
    • 먼저 알파고는 그래픽 연산처리장치, 즉 GPU를 사용했다. 본질적인 GPU의 역할은 모니터에 그래픽 출력을 위한 연산을 처리하는 데 있다. 게임 산업의 발전으로 GPU가 점차 고성능의 연산능력을 보유하게 되자 GPU를 수치적인 계산에 직접 활용하게 되었다. GPU의 강점은 높은 연산처리 능력에 있다. 이론 성능만 비교하자면 같은 CPU 가격 대비 GPU의 계산 능력은 10배 이상 더 높다.
    • 그렇다면 GPU 280개는 어느 정도의 규모일까. GPU를 최고급 사양으로 가정했을 때, 이론적인 연산 능력은 초당 1433조 번 연산이 가능하다.[1] 이것은 2009년 세계에서 가장 빠른 슈퍼컴퓨터 성능에 육박하는 것이다. 물론 슈퍼컴퓨터의 성능은 실제적인 실험치를 나타내기 때문에 GPU의 이론 성능과의 직접적인 비교는 큰 의미가 없다. 하지만 GPU의 성능이 이처럼 막대하다는 것이다. GPU는 특히 데이터를 학습하는 딥러닝에서 적극적으로 활용되어 학습에 소요되는 시간을 단축하는 데 주요한 역할을 하고 있다.
    • 하지만 GPU에는 극명한 한계가 존재한다. 먼저 GPU의 최대 성능은 모든 계산이 병렬로 이루어질 때 달성할 수 있다. 따라서 알고리즘 자체가 병렬화 되지 않는다면 CPU 한 개를 사용하는 것보다 느릴 수 있다. 그 뿐만 아니라 계산의 밀도에 따라서도 성능이 좌우된다. 이것은 모든 계산 자원에 해당하는 문제이지만, GPU의 경우 그 성능 감소의 폭이 매우 크다. 그 근본적인 원인은 메모리 전송 속도와 계산 성능 사이의 불균형에서 발생한다. 딥러닝의 경우는 계산량이 매우 많기 때문에 GPU를 십분 활용할 수 있는 것이다.
    • 고성능 GPU는 또한 상당한 양의 전력을 필요로 한다. 알파고는 프로 바둑기사의 기보 16만 개를 학습하기 위해서 50개의 GPU를 약 3주 동안 학습했다. 고성능 GPU 한 개당 소비전력을 약 200Wh 수준으로 본다면, 3주 간의 학습과정에 대략 5000kWh의 전력이 필요하다. 이 전력을 만약 가정집에서 소비하면 누진세 때문에 전기요금이 약 330만원에 달한다.[2] 이미 연구의 규모 자체가 적극적인 투자 없이는 불가능하다는 것이다. 특히 알파고는 프로기사에 맞먹는 바둑 실력을 달성하기 위해 수없이 많은 테스트를 거쳤을 것이다. 구글이 구축한 인공지능 연구환경에 다시 한 번 놀랄 수 있는 대목이다.
    • 인공지능 기술 연구에는 물리적인 컴퓨팅 파워가 필수적이다. 딥러닝이 빅데이터까지 학습할 수 있는 기술로 주목받고 있지만, 합리적인 시간 안에 결과를 얻어내고 연구의 효율성을 높이기 위해서는 컴퓨팅 파워가 반드시 선결되어야 하는 과제이다. 또한 컴퓨팅 파워의 도입과 더불어 이 시스템을 십분 활용할 수 있는 병렬 컴퓨팅 연구도 병행되어야 한다. 알파고로 촉발된 인공지능 기술은 앞으로 더욱 치열한 경쟁이 예상된다. 인공지능 분야에서 고성능 컴퓨팅 파워가 없이는 총칼 없이 전쟁터에 나가는 것과 동일하다. 시의성 있는 대처가 필요하다.