Machine learning meetup @Google Tokyo Office 2017/11/29

2017/11/29 Google 도쿄 오피스에서 개최된 Machine learning meetup 에 다녀왔다. 사실 전설의 Jeff dean이 등장한다기에 무작정 신청을 해서 가봤다. 뒤늦게나마 내용을 정리해보았다. 사실 딥러닝이나 Tensorflow를 이용할 일이 거의 없어서 내용 이해에 어려운 부분도 있었지만, 재밌는 자리였다.

Tensorflow today and future – Jeff Dean

Jeff Dean 의 발표였다. 주된 내용은 텐서플로우에 대한 소개였다.

자동운전, 번역, 카메라 이펙트 등에 사용되고 있으며, Instachart, Uber, Kewpie등에서 사용되고 있다는 소개로 시작하였고, TPU와 TPU를 클러스터화 시킨 TPU Pod 에 대한 내용이 이어졌다.

Python에서는 주로 high-level의 API가 제공되고 있으며, 모바일에 최적화된 TF Lite, 더욱 간단하게 사용할 수 있는 TF Eager Execution이 소개되었다.

앞으로는 헬스케어, 로보틱스, Connectomics(High-resolution brain imaging) 등의 분야에서 정확도를 높이는데 사용될것으로 전망/기대하였다.

ML in the future

ML(머신러닝)의 현재는 다음과 같다.

  • Solution = ML expertise + data + computation
  • 지금의 머신러닝은 전문가가 아니면 사용하기 쉽지 않은데, 머신러닝에 필요한 계산을 더욱더 간단하게 하고자 한다.

이같은 현재의 상태를 다음의 상태로 바꾸고자 하는 것이 목표.

  • Solution = data + 100X computation
  • 더더욱 머신러닝을 적용하기 쉽게하고, 더더욱 많은 계산량을 처리하고자 하는 것이 구글의 목표다.

Model generating model – 인간이 모델을 만드는 것이 아닌, 기계가 모델을 만드는 AutoML에 대한 소개가 이어졌다.

Per-example routing – 모델을 여러개 생성하여, 각 인풋에 맞는 모델을 적용하는 프레임워크.

구글이(혹은 Tensorflow가) 향후 추구하는 프레임워크 – 다음 세가지를 만족하는 프레임워크를 만들고자 한다.

  • Large Model
  • Sparsely activated single model.
    • 큰 모델 속에 여러개의 작은 모델을 생성.
  • solve many tasks dynamically learn agrow pathways
    • 위에서 설명된 routing에 해당하는 이야기.

다음과 같은 그림을 이용하여 설명하였다.

KakaoTalk_2017-11-29-17-22-00_Photo_20

 

TFUG(TensorFlow User Group Tokyo) Community Session

https://tfug-tokyo.connpass.com/ 에 대한 소개.

가서 보는게 빠를듯하나 일본어 자료가 다수인듯하다.

Fierside Chat (Q&A Session)

Jeff dean 에게 질문하는 코너. 질문은 사전에 받은 내용 위주에 TFUG의 몇 명의 엔지니어가 좌담회 비슷하게 진행하는 식이었으나, 거의 Jeff dean의 답변위주로 진행되었다.

  • Google Brain에 조인하게 된 계기는?
    • 90년대부터 RNN등에 관심을 갖고는 있었으나, 그때는 인프라가 부족해서 관심을 미뤄두고 있었다. 그러나 현재는 인프라와 분산처리기술이 발달하여 충분히 실현할 수 있는 상태가 되었고, 관심을 갖고 있던 것들을 할 수 있는 기회라 생각하여 조인하였다. 구글 브레인은 실생활에 관련된 문제를 해결하기 때문에 더더욱 재밌다. 나는 비록 머신러닝 연구자(Machine learning people)는 아니지만, 대규모 시스템을 구축하며 머신러닝 연구자들과 함께 일하는 것은 즐거운 일이다.
  • TF에서는 최적화 알고리즘(Optimizer)으로 분산처리에 최적화 되어있다고 보기는 힘든 SGD(Stochastic gradient descent)이 사용되고 있다. 혹시, 가까운 시일내에 분산처리에 더욱 최적화된 최적화 알고리즘을 기대할 수 있는가?
    • 최적화 알고리즘을 연구하는 일은 재밌는 일이다. 그러나 현재로서 그 부분에 대한 계획은 없다. 아직은 Batch의 스케일링쪽으로 신경을 쓰고자 한다.
  • Distributed Learning에서는 Parameter server를 업데이트하는 부분이 버틀넥이 될 것 같은데, 어떻게 해결하고자 하는가? 동기(Synchronize)와 비동기(Asynchronize) 방식중 어떤 방식으로 하고 있는가?
    • 적절한 Sharding과 Replication으로 해결하고 있다. 예전에는 Synchronize방식에서 버틀넥이 심했다. CPU시절에는 Asynchronize식으로 했는데, TPU이후로는 Synchronize방식으로 parameter를 관리하고 있다.
    • 이 부분을 내가 제대로 이해했는지 좀 의심스럽다. ㅜ

 

Advertisements