IT,과학

트위터가 기계학습용 라이브러리를 TensorFlow에 이행하려고 하는 이유란?

나나시노 2018. 6. 19. 15:32
반응형




트위터가 기계학습용 라이브러리를 TensorFlow에 이행하려고 하는 이유란?



트위터는 사용자에게 맞춘 컨텐츠를 표시하기 위해서, 기계학습을 사용해서 서비스 개선에 열을 올리고 있습니다. 현시점으로, Twitter는 기계학습에 Torch를 사용합니다만, 2017년 여름 경부터 구글이 개발한 TensorFlow에 이행하는 대처를 하고 있습니다. TensorFlow에 이행하는 것으로 얻을 수 있는 메리트에 대해서, Twitter 소프트웨어 엔지니어인 니콜라스·레오나르도씨와 Cibele Montez Halasz 씨가 설명했습니다.




트위터는 2014년에 딥러닝을 사용한 이미지 검색이나 데이터베이스 구축에 열을 올리는 Madbits를 매수하고, 회사에 딥러닝을 다루는 부서 「Cortex」를 시작했습니다.


Cortex 시작후, Twitter社내에서는 기계학습이 서서히 침투합니다만, 팀에 의해 사용하는 기계학습 라이브러리가 다르는등 통제가 잘 되지 않았습니다. 거기에서, 2016년 중간에서 Cortex는 Twitter社내에서 개발 통제를 채용하기 위해서, 사내공통으로 사용하는 기계학습 플랫폼 개발을 시작. 이 결과, Lua언어로 기술된 Torch 베이스인 DeepBird가 태어나고, 서비스 개선 등에 큰 효과를 초래했다고 합니다.



그러나, 2017년이 되면 Torch 개발 커뮤니티가 개발 언어를 Python에 옮긴 것으로, Lua언어 Torch 서포트가 없어집니다. 거기에서, Cortex는 Python판 Torch인 "PyTorch" 혹은 "TensorFlow"의 어느 쪽에 이행할지 평가를 실시했습니다. 수많은 논의를 거듭한 결과, Cortex는 "TensorFlow"에 이행하는 것으로 정했습니다.


Cortex가 TensorFlow를 채용하는 것에 이른 주된 이유는, TensorFlow가 제공하는 개발자대상 서포트입니다. TensorFlow에는, 대규모 데이터용 분산 처리 프레임워크 Apache Hadoop 파일시스템 「HDFS」를 서포트해, 대규모 개발 커뮤니티와 많은 문서도 있습니다. 이외에 디버그 툴로서 활용할 수 있는 TensorBoard도 있어, 개발 효율을 높이는 것을 가능합니다.



이것들을 근거로 하고, TensorFlow를 채용한 Cortex는, TensorFlow베이스 DeepBird2 개발에 착수했습니다. 당연히, Deepbird2 개발은 잘 되지 않고, Torch와 TensorFlow 구현상 차이로 생기는 문제에 의한 처리 퍼포먼스 저하 등, 다양한 문제와 부딪쳤습니다.


어떻게든, 이 문제를 모두 해결한 Cortex는 회사내 엔지니어에게 DeepBird2를 보급하기 위해서, 2018년6월 시점에서는 문서 작성을 하고 있습니다. 이후 몇개월 정도로 Twitter 서비스에 Deepbird2가 적용될 전망이며, 적용후는 타임라인 표시 등의 개선에 노력하겠다고 합니다.



반응형