태그 보관물: White Paper

TensorFlow White Paper[1603.04467] Summary

텐서플로우 백서(White Paper)라고도 불려진 텐서플로우의 첫번째 페이퍼 ‘TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems‘[1603.04467]를 요약해서 정리해 보았습니다. 아직 읽지 않은 분들에게 도움이 되었으면 합니다. 부족한 부분이 있다면 댓글로 보완해 주세요.

소개

2011년에 구글 브레인 팀이 조직되어 딥 뉴럴 네트워크(deep neural network)에 대한 연구를 시작하였고 딥 뉴럴 네트워크 시스템인 디스트빌리프(DistBelief)를 개발했습니다. 구글은 디스트빌리프를 비감독학습(unsupervised learning), 언어[1, 2], 이미지인식[1, 2], 비디오분류, 음성인식[1, 2, 3], 보행자감지, 바둑, 시퀀스예측, 강화학습(reinforcement learning)과 그외[1, 2] 여러 분야에 사용해왔습니다. 구글 안의 50개가 넘는 팀과 알파벳 자회사들이 디스트빌리프를 이용해 다양한 제품에 딥 뉴럴 네트워크를 적용해왔습니다. 여기에는 검색, 광고, 음성인식시스템[1, 2, 3], 구글포토, 지도, 스트리트뷰, 번역, 유투브 등이 포함됩니다. 이러한 경험을 바탕으로 차세대 대규모 머신러닝 시스템인 텐서플로우(TensorFlow)를 개발했습니다.

텐서플로우는 상태 정보를 가지는 데이터플로우(dataflow) 그래프로 컴퓨터의 계산을 표현합니다. 안드로이드, iOS 같은 모바일 환경에서 추론(inference) 시스템을 만들수도 있고 한개 또는 여러개의 GPU를 가진 단일 서버에서는 중간 규모의 훈련(training)과 추론 시스템을 구축할 수 있습니다. 또는 수천개의 GPU가 탑재된 수백대의 서버에서 운영될 수도 있습니다. 텐서플로우를 이용하면 학습 시스템은 대규모로 하면서 실제 서비스는 소형화하여 운영할 수 있습니다.

텐서플로우는 매우 빠른 성능과 유연한 구조를 가지고 있어 새로운 모델을 빠르게 실험해 볼 수 있고 실제 서비스에도 안정적으로 사용할 수 있습니다. 디스트빌리프와 비교해 볼 때 텐서플로우의 프로그래밍 방식이 더 유연하고 성능은 더 뛰어납니다. 구글 내부의 여러 팀들이 이미 디스트빌리프에서 텐서플로우로 전환했습니다. 텐서플로우는 딥 뉴럴 네트워크를 만드는 데 사용되는 것이 일반적이지만 다른 머신러닝 알고리즘을 적용하거나 수치 계산 용으로도 사용할 수 있어서 다양한 산업 분야에 폭 넓게 활용될 수 있습니다. 텐서플로우는 2015년 11월 아파치 2.0 오픈소스 라이센스로 공개되었고 www.tensorflow.org에서 다운받을 수 있습니다.

계속 읽기