구글, 머신러닝 보물 왜 공짜로 풀었나
http://www.zdnet.co.kr/news/news_view.asp?artice_id=20151111142656
2015년 11월 11일에 발행된 기사다. 좀 지난 기사를 이제야 보게 됐는데, 나에겐 알차고 재밌었다.
기사 내용을 잘 기억해두고 싶어 내 손으로 다시 요약본을 남겨본다.
이 기사에서 기자는
에 대해 이야기 하고 있다.
텐서플로우는 구글이 개발한 머신러닝 핵심 소프트웨어다. 텐서플로우가 오픈소스로 풀림에 따라 원하면 누구나 텐서플로우를 사용해서 머신러닝 관련 소프트웨어를 개발할 수 있게 되었고, 직접 텐서플로우 개발에 참여할 수도 있게 되었다. 존재의 목적이 이윤 창출인 기업에서 어렵게 개발한 소프트웨어를 이런식으로 공개했다면 이면에 어떤 이유가 있기 마련이다.
1. 구글 외 다른 기업에서 텐서플로우를 사용하여 구글보다 잘 개발할 순 없을것이다.
단순히 텐서플로우를 실행시키는것 만으론 머신러닝 소프트웨어를 개발할 수 없다. 사전에 학습시키기 위한 데이터도 수집해야 하고, 모은 데이터를 여러 방식으로 적용, 실험해가며 결과 분석 후 재적용해야 한다. 이런 과정을 타 기업에서 구글보다 잘하긴 힘들것이란게 구글의 판단이라고 기자는 분석했다.
2. 전 세계에 흩어져 있는 실력있는 머신러닝 개발자들을 구글 생태계로 끌어들이기 위함이다.
애플은 아이폰을 개발하며 앱들을 직접 개발하는 대신, 앱스토어란 생태계를 만들어 제공했다. 그 결과 전세계 수많은 실력자들이 서로 경쟁해가며 질좋은 앱들을 출시했고, 이런 앱들은 아이폰 생태계를 탄탄히 발전시키며 더 많은 사람들이 아이폰을 구매하도록 유도했다. 아이폰 출시 이전에 우리나라 통신사들이 직접 개발해 폰에 탑재됐던 앱들의 아쉬운 수준을 보면 이 전략이 얼마나 훌륭했는지 알 수 있다.
이처럼 구글은 머신러닝을 적용할 수 있는 소프트웨어들을 전부 직접 개발하기 보단, 생태계를 잘 조성해놓고 그 판을 통해 이윤을 창출하려는 것으로 보인다는게 기자가 분석한 두 번째 이유이다.
(기사에서 기자는 비슷한 분석을 내놓은 월스트리트 저널과 파퓰러사이언스 잡지를 인용했다.)
기자는 이렇게 두 가지 이유를 밝힌 뒤, 다음 주제로
를 얘기했다. 이 부분에 관해서 기자는 미국의 와이어드라는 잡지를 인용했다.
우선 머신러닝이 수행되는 하드웨어 관점에서 구글이 개발한 텐서플로우와 페이스북 등의 다른 기업들이 개발한 머신러닝 수행 방법에 차이가 있다고 한다.
머신러닝은 크게 훈련과 실행단계로 나눠지는데 그 동안 다른 기업들은 훈련은 GPU를 사용하고 실행은 CPU를 사용하는걸 기본 공식처럼 여겼다고 한다. 그런데 구글은 훈련과 실행 모두를 GPU를 사용 한다고 한다. 이게 중요한 차이점이라고 얘기하고 있다.
이 방식이 머신러닝의 효율성을 좀 더 높일 수 있다고 하는데, 그 이유로 '병렬처리에 강점을 가지고 있는 GPU는 데이터가 계속 제공될 때만 효율적이다' 라고만 써놓았다. 추측해보면 그 동안 실행단계에서는 데이터를 연속적으로 계속 보내는게 힘들었던 모양이다. 따라서 병렬로 처리할 데이터가 없었을 것이고, 병렬처리 외엔 CPU가 GPU보다 빠르니 자연히 CPU를 활용하도록 개발했을것이다.
그렇다면 구글이 실행단계에서 어떤 식으로 데이터를 연속적으로 계속 보내는지, 그 전엔 그게 왜 어려웠는지가 궁금한데 그에 대해선 자세히 나와있지 않다. 따로 찾아보고 공부해야할 거 같다.
하드웨어와 연관된 두 번째 이야기는 스마트폰 단말기에서 머신러닝을 구동하는 것에 대한 얘기다. 공개된 텐서플로우는 외부 엔지니어들이 다른 하드웨어 플랫폼에 쉽게 적용할 수 있도록 만들어져 있다고 한다. 이 역시 더 많은 사용자를 구글 생태계로 끌어들이기 위함으로 분석된다.
기사는 이렇게 마무리 된다. 매우 설득력 있는 분석이다.
암튼 향후 IT 업계에 발붙이고 일하려면 머신러닝에 대해선 제대로 알아놔야 할 것 같다.
열심히 공부해야겠다.