Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
AIㆍML / 미래기술 / 브라우저 / 클라우드

“웹 브라우저에서 머신러닝을” 텐서파이어, GPU 기반 머신러닝 대중화 선언

Serdar Yegulalp | InfoWorld 2017.08.03
웹 페이지 내에서 신경 네트워크를 실행하는 자바스크립트 라이브러리가 등장했다. 최신 웹 브라우저라면 누구나 이용할 수 있는 하드웨어 가속 그래픽 API를 사용한다.

MIT 대학원생팀이 개발한 텐서파이어(TensorFire)는 텐서플로우 방식의 머신러닝 모델을 모든 GPU 상에서 구동할 수 있다. 일반적으로 머신러닝 라이브러리에서 일반적으로 필요한 GPU 전용 미들웨어도 필요없다.

텐서파이어는 머신러닝을 좀 더 폭넓은 사용자층이 이용할 수 있도록 확산하는 데 크게 기여할 것으로 평가된다. 사람들이 이미 보유하고 있는 하드웨어와 소프트웨어를 사용하며, 기존에 필요했던 자원의 극히 일부만으로 정확한 모델 예측을 서비스할 수 있기 때문이다.

텐서파이어는 브라우저에서 GPU 가속 그래픽을 렌더링하는 크로스플랫폼 시스템인 WebGL 표준을 사용해 동작한다. WebGL은 셰이더를 작성하는 데 사용하는 C 비슷한 언어인 GLSL을 지원하는데, GLSL은 데이터를 GPU 상에서 바로 변형하는 데 사용하는 짧은 프로그램이다.

셰이더는 보통 WeGL 파이프라인에서 그래픽을 렌더링하는 방법을 변형하는 데 사용한다. 예를 들어 그림자를 렌더링하거나 다른 시각적인 효과를 만들어내는 등이다. 하지만 텐서파이어는 셰이더를 텐서플로우 모델의 예측 생성에 필요한 병렬 연산을 실행하는 데 사용한다. 또한 기존 텐서플로우와 케라스 모델을 가져오는 데 사용하는 라이브러리도 갖추고 있다.

이 프레임워크를 이용하면 훈련된 모델을 웹브라우저에 바로 배치할 수 있으며, 예측 분석을 브라우저에서 로컬로 서비스할 수 있다. 사용자는 다운로드나 설치, 컴파일 작업이 필요없으며, 모든 작업은 브라우저에서 직접 이루어진다. 예측 분석을 만드는 데 사용하는 데이터 역시 모두 클라이언트 상에서 처리한다. GPU의 종류도 상관없으며, AMD와 엔비디아 GPU 모두 지원한다.

텐서파이어를 이용한 웹 기반 예제 중 하나는 스타일을 전송하는 신경망인데, 예술작품 하나의 스타일을 다른 이미지에 매핑할 수 있다. 이 시연에서 가장 느린 부분은 모델을 다운로드하고 셰이더 파이프라인을 컴파일하는 것이며, 실제 실행은 1~2초밖에 걸리지 않는다.

텐서파이어 개발팀은 다른 어떤 솔루션보다 빠르다고 강조했다. GPU와 CPU 사이에 데이터를 주고받는 것이 보통 성능 병목인데, 텐서파이어는 가능한 많은 데이터를 GPU 상에서 한 번에 처리하는 방식으로 이런 문제를 해결했다.

텐서파이어 접근 방법의 가장 두드러진 이점은 이식성과 편의성이다. 현대적인 웹 브라우저는 대부분 운영체제와 하드웨어 플랫폼에서 동작하며, 여기에 더해 보급형 스마트폰에도 충분한 양의 GPU 성능이 남아 있다. 또 머신러닝 모델에서 유용한 결과를 얻기 위한 작업의 많은 부분은 머신러닝 파이프라인을 설정하는 것이다. 이 과정의 상당 부분을 그저 웹 브라우저를 열어 뭔가를 클릭하는 것으로 단순화하는 것은 매우 유용하다.

텐서파이어 개발팀이 주장하는 또 하나의 장점은 예측 분석의 배치를 온전히 클라이언트에서 할 수 있다는 것이다. 교육을 마친 모델이나 데이터가 이미 클라우드에 배치된 경우에는 이점이 그리 크지 않지만, 배치된 모델이 작고 데이터가 클라이언트 측에 있고 사용자가 뭔가를 업로드하는 것이 편하지 않은 애플리케이션에 안성맞춤이다.

세 번째 이점은 이론적으로 머신러닝에 사용할 수 있는 그래픽 카드의 상표에 대한 제약을 완화한다는 것이다. 그동안 엔비디아 CUDA 표준은 GPU를 통해 머신러닝을 가속화할 때 많이 찾는 것이었는 것, 좀 더 개방적인 OpenCL 표준보다 더 높은 성능을 제공하기 때문이다. 하지만 OpenCL은 폭넓은 하드웨어를 지원한다. AMD는 OpenCL 성능 문제 관련 처리 계획이 있지만, 텐서파이어는 사용자나 개발자가 이 문제를 완전히 비켜갈 수 있도록 해 준다.

텐서파이어는 최근 증가하고 있는 또 하나의 현상에도 부합한다. 바로 머신러닝 모델을 약간의 정확성을 희생해 더 작고 효율적으로 만드는 것이다. 이처럼 정확도를 낮추는 접근법은 더 작은 모델을 클라이언트에 배치해 예측 분석을 더 빨리 수행할 수 있다는 것을 의미한다.

텐서파이어 개발팀은 이런 접근법으로 소프트웨어를 더 다양한 GPU와 브라우저에서 실행할 수 있고, 특히 WebGL 확장 프로그램을 온전히 지원하지 않는 환경에서도 이용할 수 있다고 강조했다.

마지막으로 텐서파이어 개발팀은 해당 라이브러리를 MIT 라이선스 기반의 오픈소스 프로젝트로 발표할 계획인데, 텐서파이어에서 진행한 가속화 작업을 다양한 애플리케이션, 심지어 텐서플로우나 머신러닝과 아무런 관련이 없는 애플리케이션에도 사용할 수 있다.

개발팀은 텐서파이어의 저수준 GLSL API는 “임의의 범용 병렬 연산에도 사용할 수 있다”고 설명했는데, 이는 GPU 기반의 브라우저 내 클라이언트 측 연산을 위한 다른 프레임워크를 텐서파이어 상에 구축할 수도 있다는 의미이다.  editor@itworld.co.kr
 Tags 웹브라우저 인공지능 AI 자바스크립트 텐서플로우 텐서파이어 라이브러리 GPU
IDG 설문조사

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.