태그 보관물: Google IO 2016

TPU is just for inferencing not training

Google IO 2016에서 선다 피차이 CEO의 키노트 말미에 발표한 TPU(Tensor Processing Unit)가 많이 회자되고 있습니다. 구글이 직접 칩셋을 만들기 시작했으니 Nvidia의 입장이 어떠할지 궁금하고 GPU의 가격이 좀더 낮아지지 않을까 하는 예상하는 사람들도 있었습니다.

며칠 전 대만에서 열린 컴퓨텍스(Computex) 전시회에서 젠슨 황 Nvidia 대표가 구글 TPU에 대해 언급한 내용이 보도 되었습니다. 젠슨은 구글의 TPU가 머신러닝의 훈련(training)과 추론(inferencing) 중 추론에 최적화되어 있다고 언급하고 대량의 데이터를 이용한 알고리즘 훈련 단계에서는 Nvidia GPU를 사용할 수 밖에 없음을 시사했습니다. 이는 Kevin Krewell이 언급한 내용을 보도한 기사에서도 같은 내용을 엿볼 수 있습니다. 추론단계의 연산은 훈련보다 복잡하지 않기 때문에 최적화하기 쉽다고 언급되어 있고 여전히 구글은 Nvidia로 부터 많은 양의 GPU를 구매하고 있다고 합니다.

그러나 어떤 내용에 근거해서 TPU가 추론단계에만 사용되는 프로세서라고 한 것인지는 찾지 못했습니다. 구글이 공식적으로 공개한 자료에는 그런 부분은 없는 듯 합니다. 다만 두 기사의 내용을 미루어 보아 상당히 믿을만하다고 보입니다. 다양한 웹 서비스를 제공하는 구글 입장에서는 추론에 드는 시간을 단축하여 사용자 경험을 높이는 쪽에 더 관심이 많았을 수 있습니다. Nvidia가 TPU에 대해 크게 걱정을 할 필요가 없는 것인지 아니면 그런 척하는 것인지, 또 앞으로 구글이 훈련단계에 까지 적용 가능한 프로세서를 만들어낼지 등등 많은 것이 궁금하네요.

Unsupervised Learning through Video Prediction

구글 IO 2016 기조 연설에서 선다 피차이(Sundar Pichai) CEO가 스스로 학습하여 물건을 집는 로봇팔 영상을 보여 주었었습니다. 해당 페이퍼는 Ian Goodfellow 와 구글 브레인팀이 작성한 것으로 어제 공개되었습니다. 그리고 테스트 애니메이션은 여기서 확인할 수 있습니다. 애니메이션만 봐서는 잘 감이 오지 않네요. 페이퍼를 읽어보고 싶은데 늘 시간은 부족하네요. ^^

video-prediction

번외로 Ian Goodfellow가 있는 OpenAI에 팀원이 새로 추가되었습니다. 그리고 아마 근시일안에 첫번째 연구결과를 공개할거라는 소문입니다.

Tensor Processing Unit(TPU)

구글 IO가 시작하자마자 여러 뉴스로 시끌벅적합니다. 그 중에서도 관심을 끄는 것은 바로 Tensor Processing Unit, TPU 입니다. 구글 선다 피차이 CEO는 구글 IO 2016 기조 연설 마지막 부분에서 머신러닝에 관해 발표하면서 최초로 TPU를 공개했습니다.

구글 블로그에 따르면 TPU는 머신러닝 특히 텐서플로우에 최적화된 반도체 칩으로 주문 제작되어 구글 데이터센터에서 일년전부터 사용되고 있다고 합니다. 검색, 스트릿뷰 등 많은 구글 팀에서 뿐만 아니라 알파고와 이세돌의 대국에도 바로 이 칩이 사용되었습니다. 오른쪽 사진이 이세돌과의 대국에 사용된 TPU가 꽂힌 서버랙 입니다. TPU는 서버의 하드드라이브 디스크에 슬롯에 꽂아서 사용할 수 있습니다. 랙 측면에 바둑판 사진이 붙어 있는게 보이네요.

구글이 머신러닝을 위한 칩을 직접 만들어 사용하는 것은 인텔이나 Nvidia에게는 슬픈소식이 될 것 같습니다. 이미 마이크로소프트도 직접 칩을 만든 적이 있고 애플도 오랫동안 아이폰과 아이패드에 직접 만든 칩을 사용해 왔습니다. 범용 GPU를 사용하지 않고 직접 만든 최적화된 칩을 이용해서 딥러닝 모델 학습을 보다 빠르게 하려는 경쟁에 불이 붙을 것 같습니다. 정말 놀랍고 두렵기도 합니다.

구글이 칩에 대한 상세 내용을 발표할 것 같지는 않습니다. 구글이 텐서플로우를 공개하고 개발자들이 열심히 배우게 한다음 세상에서 가장 빠른 딥러닝 칩이 꽂힌, 특히 텐서플로우에 최적화된, 구글 클라우드를 쓰라고 말하는 것 같습니다. 아마존은 계속 GPU를 쓸지 다른 선택을 할지 궁금합니다.

(추가) TPU에 대해 여러 기사가 나왔지만 대부분 구글이 많은 정보를 공개하지 않았기 때문에 구글 블로그에 있는 내용을 크게 벗어나지 못했습니다. 하지만 넥스트플랫폼에서 낸 이 기사는 흥미로운 점 몇가지를 알려주고 있습니다. TPU가 성능을 위해 부동 소숫점 연산의 복잡함을 어느정도 희생할 것이라 예상하는데 16비트 부동소숫점 연산인지 8비트 부동소숫점 연산인지에 대해 설왕설래 했었습니다. 그런데 이 기사에서 TPU는 8비트 정수라고 밝히고 있습니다. 또 TPU가 모델을 학습하는 것과 모델을 이용해 실행하는 곳 모두 사용되는 것으로 추측하고 있으며 정확히 구글의 머신러닝 중 얼만큼이 TPU를 통해 처리되는 지는 밝혀지지 않았다고 합니다. 여러 미디어들이 언급한 것 처럼 TPU의 성능이 명확히 공개되지는 않는 상황에서 이번 발표는 상당부분 마케팅 적인 측면이 있다고 여기고 있습니다. 보통 새로운 칩을 설계하고 제조하는 데에는 수십억에서 많게는 수백억 이상이 든다고 합니다. 그래서인지 구글이 이 칩에 대해 보다 상세한 자료를 공개할 것이라고 기대하지는 않고 있습니다.

awesome-tensorflow 깃허브를 관리하고 있는 Json Toy는 그의 블로그에서 TPU에 관해 저와 유사한 의견을 피력했습니다. 바로 개발자와 연구가들이 구글 클라우드 머신러닝을 쓰게끔 만드려는 것 같다는 겁니다. 그러나 이런 구글의 행보가 아직도 비싼 제품을 생산하는 GPU 시장을 압박하여 보다 저렴하고 전문화된 칩이 나올 것이라는 긍정적인 면에 대해서도 말하고 있습니다.

Google IO 2016

io16-social

구글 IO 2016이 19일 02시(이하 한국시간)부터 3일간의 일정으로 미국 캘리포니아 마운틴뷰 쇼라인 앰피씨어터(Shoreline Amphitheatre)에서 열립니다. 이번 구글 IO에서 주연은 안드로이드, VR 그리고 머신러닝 등이 되지 않을까 합니다. 직접 가서 참여하면 좋겠지만 사정상(:-) 그러지 못한 경우에도 라이브 스트림으로 볼 수 있는 머신러닝 세션이 있습니다.

Google’s vision for Machine Learning 으로 21일 1시에 시작하여 한시간동안 진행되며 세명의 발표자 중에는 Jeff Dean 도 있습니다.

토요일 새벽 우리의 뇌를 breakthrough 시키는 인사이트를 얻었으면 좋겠습니다.

(업데이트) 한국시간이 잘못 계산되어 정정하였습니다.

(업데이트) 머신러닝 관련 라이브 세션이 두개가 아니고 하나입니다. 잘못된 부분을 수정했습니다.

(업데이트) Google’s vision for Machine Learning 유투브 동영상입니다.