구글 클라우드, 칩부터 라이브러리까지 AI 맞춤 설계

알파고 낳은 딥러닝과 텐서플로에 최적화된 인프라 기술

컴퓨팅입력 :2019/11/12 10:09    수정: 2019/11/15 16:07

2016년 3월은 인류 최강 바둑기사 이세돌 9단과 영국 스타트업 딥마인드의 인공지능(AI) '알파고(AlphaGo)'가 맞붙은 달이다. 알파고는 이세돌 9단에 4대 1로 승리했고, 한국을 포함한 전세계에 AI의 위력을 일깨웠다. 우주 속 원자의 수보다 많다는 바둑 경기 한 판의 '경우의 수'를 다루는 일에 탁월한 직관과 경험을 쌓아 올린 사람보다 막대한 계산능력을 가진 기계가 더 낫다는 사실이 증명됐다.

[사진=구글]

이세돌 9단과 알파고 대국은 기존 연구자들의 방법론과 함께 실용적인 AI 시스템 개발에 동기를 부여했다. 그 구성요소인 신경망(neural network)과 이를 활용한 머신러닝(ML) 기반 AI 시스템에 적용 가능한 여러 학습 및 추론 모델과 방법론이 함께 주목받기 시작했다. 지난 3~4년간 다양한 규모의 조직에서 의료, 제조, 엔터테인먼트, 리테일, 금융 등 산업별 수요를 겨냥한 AI 연구, 제품 상용화가 추진됐다.

공개된 논문을 통해, 심층신경망을 구성요소로 활용하는 '딥러닝' 알고리즘이 알파고 AI 구현 핵심 메커니즘의 일부라는 사실도 널리 주목받게 됐다. 더불어 딥러닝을 비롯한 ML 기반 AI 시스템의 학습과 추론에는 막대한 데이터, 이를 처리할 수 있는 알고리즘과 전문인력, 그 노하우를 실행할 수 있는 대규모 고성능 IT인프라가 필요하다는 점도 확인됐다.

딥마인드를 소유한 구글은 알파고 AI 자체뿐아니라, 회사가 알파고와 같은 AI 시스템을 만들고자하는 조직에서 필요로 하는 여러 층위의 자원과 기술을 보유했다는 점을 확실히 알릴 수 있었다. 알파고와 같은 AI를 연구, 개발, 실용화하기 위한 핵심 기반으로 대규모 데이터센터와 이를 유기적으로 연결해 활용할 수 있는 클라우드 컴퓨팅 기술이 필요하고 구글은 그걸 갖고 있다는 사실을 분명히 보여준 셈이다.

이는 다른 연구자와 기업이 알파고와 같은 AI 구현을 엄두도 낼 수 없다는 얘기가 아니다. 그 반대다. 구글의 데이터센터 인프라와 클라우드 컴퓨팅 기술을 외부 연구자와 일반 기업이 활용할 수 있도록 만든 퍼블릭 클라우드 서비스 '구글 클라우드 플랫폼(GCP)'이 있기 때문이다. GCP는 ML 및 AI 기술에 필요한 주요 하드웨어와 소프트웨어 기술을 활용하기 쉽고 저렴한 방식으로 제공한다.

이런 GCP의 클라우드서비스는 ML 및 AI를 위한 데이터와 전문인력을 갖췄지만 IT인프라 자원에 제약이 있는 한국 기업에 유용하다. 자체 IT인프라 예산에 여유가 있는 대규모 조직이라 해도 실험적인 AI 연구개발에 막대한 전용 하드웨어 확보는 비현실적일 수 있다. 더불어 혁신적인 아이디어를 실험하고자 하는 중견기업 조직 연구자에게는 최적의 자원으로 AI 연산을 수행할 수 있는 선택지를 제공한다.

■ 구글 검색 기반기술에서 출발한 '텐서플로' 오픈소스화

지난 2015년 11월 구글은 오픈소스 소프트웨어 '텐서플로(TensorFlow)'를 선보였다. 딥러닝 기반 AI 시스템 개발에 필요한 알고리즘을 묶은 범용 라이브러리다. 지난 2011년 구글이 내부 연구 및 검색과 구글포토같은 상용 제품에 쓸 용도로 처음 개발했던 ML 시스템 '디스트빌리프(DistBelief)'의 구조적인 확장성 및 성능 한계를 극복하기 위해, 이를 2014년부터 재개발한 결과물이다.

구글은 텐서플로를 공개하기 전 내부 50개 팀에서 자체 제품 개발에 사용했고 2015년 깃허브에 오픈소스화한 이후에는 다운로드 1천300만건을 기록하고 외부 기여자 1천300만명의 대규모 커뮤니티가 형성됐다고 밝히고 있다. 2016년 4월말 보도에 따르면 알파고를 만든 구글 딥마인드 역시 텐서플로를 활용하기로 했다. 이전까지는 페이스북의 딥러닝 라이브러리 '토치(Torch)'를 사용 중이었다.

구글은 내부 연구자들의 텐서플로 활용 AI 실험 성과를 발표하고 텐서플로 오픈소스 버전 업그레이드에 지속적으로 기여하고 있다. 2017년 11월에는 모바일 및 임베디드 기기용 경량화 버전인 '텐서플로라이트', 2018년 4월에는 웹용 버전인 '텐서플로JS', 올해 10월 초에는 메이저 업그레이드인 '텐서플로2.0' 버전이 공개됐다.

텐서플로 라이브러리의 성능, 이식성, 접근성이 높아지면서 한국 개발자 커뮤니티와 일반 기업의 활용 의지도 증가 추세다. 4년전 페이스북에 개설된 한국 유저 커뮤니티 '텐서플로코리아'에는 현재까지 누적 가입자가 4만6천여명을 기록했고 최근 30일 사이 신규 가입자도 수백명이다. ML 및 AI 관련 기업 채용 공고에 '텐서플로' 사용 경험을 요구하는 사례를 찾기도 어렵지 않다.

구글은 텐서플로를 직접 개발해 오픈소스로 공개한 뒤, 그 생태계에 소유권을 휘두르는 대신 그 개발에 기여하는 풀타임 인력을 고용하는 동시에 외부 커뮤니티를 지원하는 방식으로 이를 발전시키고 있다. 즉 텐서플로는 구글만의 것이라고 할 수 없지만, 구글은 텐서플로를 더 잘 활용할 수 있는 기술과 자원을 제공하는 클라우드 서비스를 통해 그 사용자 생태계에 영향력을 확보하고 있다.

GCP에서 제공하는 '클라우드TPU(Cloud TPU)'가 그 대표 사례다. 클라우드TPU는 말 그대로 TPU를 클라우드서비스의 자원으로 제공하는 상품이다. 여기서 TPU는 '텐서프로세싱유닛(TPU)' 즉 '텐서 처리 장치'의 약칭이다. TPU는 텐서플로 라이브러리로 작성된 코드의 실행과 연산에 최적화한 주문형 반도체(ASIC) 기술을 품었다. 중앙처리장치(CPU)와 그래픽처리장치(GPU)처럼 하드웨어 형태로 제작됐다.

현재 구글은 세계 각지 기업 사용자와 개발자들에게 '무료 등급(Free Tier) GCP'라는 이름으로 GCP 클라우드서비스의 체험 기회를 열어 놓고 있다. 무료 등급 GCP 서비스는 12개월동안 모든 GCP 서비스에 사용할 수 있는 300달러짜리 크레딧을 제공받는 '12개월 무료 체험판'과, 일반적으로 많이 쓰이는 GCP 서비스 리소스에 제한된 접근 기회를 월별로 제공받는 '항상 무료' 체험 프로그램, 두 가지로 제공된다.

(바로가기 ☞ GCP Free Trial)

■ 텐서플로 구동 최적의 전용 하드웨어 '클라우드TPU' 서비스

텐서플로의 전신인 디스트빌리프 라이브러리는 범용 시스템이 쓸 수 있는 연산장치가 CPU와 GPU 뿐이었다. 구글은 텐서플로를 오픈소스로 공개한 2015년에 이를 제대로 활용할 수 있는, 텐서플로 구동에 최적화한 하드웨어 TPU의 첫 버전(TPU v1)을 만들었다. 구글은 텐서플로 생태계 확장에 발맞춰 TPU 하드웨어 기술 역시 고도화했고, 2017년 TPU v2를, 2018년 TPU v3를 각각 선보였다.

지난 2017년 5월 중국 저장성 우전 국제인터넷컨벤션센터에선 '바둑의 미래 서밋'이라는 이름으로, 한국의 이세돌 9단에 이어 중국의 커제 9단을 상대하는 '알파고 마스터'의 모습이 공개됐다. 알파고 마스터가 커제를 상대로 289수에 1집 반을 앞서며 1승을 거둔 직후, 구글은 알파고 마스터의 두뇌가 단 한 대의 'TPU머신'으로 이뤄졌음을 밝혔다. 대국 1주일 전 '구글I/O 2017' 컨퍼런스에서 공개된 클라우드TPU v2였다.

클라우드TPU v2는 45테라플롭스(TFLOPS)짜리 성능을 내는 TPU칩 4개를 얹은 '프로세서 모듈'이다. 이 모듈 하나가 64기가바이트(GB) 고대역폭메모리(HBM)의 초당 2천400GB 대역폭을 활용해 180TFLOPS 성능을 낸다. TPU v2 모듈 64개를 고속 인터커넥트로 연결한 '클라우드TPU v2 Pod'은 11.5페타플롭스(PFLOPS) 성능을 낸다. PFLOPS는 초당 10의 15승 번의 부동소수점 연산을 수행하는 단위다.

구글은 TPU v2를 선보인지 1년만인 2018년 5월 TPU v3를 또 선보였다. 이번엔 3세대 TPU칩 4개를 얹고 128GB 메모리를 탑재해 420TFLOPS짜리 성능을 내는 프로세서 모듈 형태였다. 구글은 3세대 TPU 성능이 2세대 TPU의 두 배 수준이며, 'TPU v3 Pod'은 이전 하드웨어보다 네 배 많은 1천24개 TPU칩을 인터커넥트한 형태로 구성 가능하다고 설명했다. 이는 단순 계산해도 2세대의 여덟 배 성능을 낸단 뜻이다.

구글 클라우드 코리아 양승도 커스터머엔지니어링 총괄은 "TPU Pod은 TPU를 클러스터로 제공하는 것인데, 클라우드에서 이걸 한꺼번에 다 쓰는 것이 아니라 (모듈을) 8개, 16개, 32개, 이런 식으로 선택해 쓸 수 있다"고 설명했다.

최초 TPU 기술은 이세돌 9단과 대국을 치른 알파고에 활용됐을 뿐 외부에 드러나지 않았지만, 2세대와 3세대 TPU 기술은 GCP의 클라우드TPU를 통해 외부 개발자와 기업이 접근할 수 있게 제공되고 있다. 구글은 '클라우드TPU 솔루션'이라는 이름으로 고유 하드웨어 기술을 녹인 TPU 프로세서 모듈 및 이를 2D 원환형 메시 네트워크로 인터커넥트한 TPU Pod을 클라우드서비스로 제공하고 있다.

TPU는 범용적인 AI 리소스라기보다는 텐서플로 라이브러리 사용 환경에 특화된 서비스다. 텐서플로 기반 AI 알고리즘 구축, 모델 학습과 추론, 시스템 개발 시나리오에서 GCP의 클라우드TPU는 여타 CPU나 GPU보다 적은 비용으로 빠른 결과를 얻을 수 있게 해 준다는 뜻이다. 기업과 개발자는 텐서플로 기반 AI 구동시 TPU를, 이밖에 다른 라이브러리에 필요한 CPU와 GPU를 모두 GCP에서 선택해 빌려 쓸 수 있다.

관련기사

양 총괄은 "TPU가 모든 경우에 그보다 빠른 수단은 아니고 그 장점을 극대화할 수 있는 형태가 따로 있는데, 때에 따라선 CPU 및 GPU 대비 30배 이상 빠른 처리 결과를 보여 준다"면서 "ML 모델 정확도를 높이는 데 반복적인 학습이 전제되는데, CPU나 GPU보다 TPU를 쓸 때 같은 양의 일을 더 짧은 시간에 끝낼 수 있다면 단위 가격이 더 높더라도 비용 효율은 더 나을 것"이라고 강조했다.

이 기사는 구글 클라우드 후원으로 작성된 연재 기획의 일부분입니다. 앞서 게재된 기사 [구글 클라우드 플랫폼, 한국 기업 시장에 손짓]을 먼저 읽어 보시기 바랍니다.