텐서플로 자바스크립트 버전이 공개됐다. 표준 자바스크립트 API를 활용해 웹 브라우저에서 머신러닝을 수행할 날이 다가온 것이다.
최근 텐서플로재단은 텐서플로 자바스크립트 라이브러리 프로젝트 'TensorFlow.js(이하 텐서플로JS)'를 발표했다.[텐서플로JS 홈페이지 바로가기]
텐서플로JS는 웹브라우저에서 머신러닝 모델을 구축하고, 학습하게 한다. 웹GL 가속 기술을 활용한다.
현존하는 텐서플로의 모델을 자바스크립트용으로 변환해 사용하는 것도 가능하다. 센서나 클라이언트 데이터 같은 외부에서 생성되는 데이터를 웹브라우저로 모아 기존 머신러닝 모델에서 리트레이닝할 수 있다.
구글 브레인팀에서 개발해 2015년 공개한 텐서플로는 머신러닝, 딥러닝 등의 데이터 학습 프로그래밍을 위한 오픈소스 라이브러리다.
현재의 텐서플로는 파이썬 API를 사용하고, C와 C++ API를 제한적으로 제공하고 있다. 파이썬은 인공지능(AI)과 빅데이터 관련 개발 영역에서 가장 대중적인 프로그래밍 언어다.
텐서플로는 AI 개발에 선행해야 하는 기반 플랫폼을 각기 만드는 고충을 해결했다. 인프라 차원의 고민을 덜게 해 개발자가 머신러닝 자체에만 집중할 수 있게 한다. 때문에 텐서플로는 AI 기술의 대중화를 앞당긴다는 목표를 갖고 있다.
텐서플로JS 역시 이같은 목표를 따른다. 자바스크립트는 광범위한 프론트엔드 개발자 생태계를 보유했다. 텐서플로JS는 기존 프론트엔드 개발자를 머신러닝 영역에 더 쉽게 진입하도록 기여할 수 있다.
텐서플로JS는 아직 완벽하지 않다. 텐서플로 파이썬 API와 유사한 API를 갖고 있지만, 모든 기능성을 제공하진 않는다.
성능도 파이썬 버전에 비해 평균 1.5~2배 느리다. 소규모 모델의 경우 파이썬 버전보다 빠르지만, 대규모 모델은 파이썬 버전보다 10~15배 느리다.
노드JS의 API도 아직 사용할 수 없다. 텐서플로JS 측은 텐서플로 C API에 노드JS를 바인딩하는 작업을 진행하고 있다고 밝혔다. 이를 통해 브라우저와 노드JS 양쪽에서 동일한 자바스크립트 코드를 허용하게 될 것이라고 설명했다.
관련기사
- 구글, 모바일용 텐서플로 시험판 배포 시작2018.04.04
- 수제 맥주 이름, AI가 대신 지어드립니다2018.04.04
- 가벼워진 '알파고'…구글 전용칩 1개로 작동2018.04.04
- 구글, 모바일용 머신러닝 '텐서플로 라이트' 공개2018.04.04
개발자가 직접 개발한 머신러닝 모델을 브라우저에 올리는 것도 아직 불가능하다. 브라우저에서 모델을 로드하고 저장하는 포맷을 개발중이라고 텐서플로JS 측은 밝혔다.
텐서플로JS 홈페이지를 방문하면 데모를 실행하고, 데모 코드를 받을 수 있다.