WebNPU API를 상상하다
WebGPU는 렌더링 및 계산 작업 등을 처리하는 Direct3D 12, Metal, Vulkan과 같은 현대 GPU 기능에 접근할 수 있는 API이다. WebGL과 비슷하지만, 더 발전된 GPU 기능에 접근할 수 있다. 만약 이걸 NPU에도 똑같이 할 수 있다면 어떨까? 가상의 API, WebNPU를 제안한다. 한줄로 설명해보자면:
우리는 이미 애플의 Neural Engine으로 온디바이스 ML 기술의 시작을 관찰하고 있다. 여기에는 단순한 Siri 명령에서 완전한 Stable Diffusion 모델에 이르기까지 다양한 작업이 포함된다. 물론 서버 규모 대규모 ML에 비해 성능은 약하지만, 레이턴시나 개인 정보 보호의 면에서 훨씬 우수하다. 구글 등의 다른 회사들도 텐서와 같은 칩을 개발하며 따라잡고 있다. 불행하게도 지금까지 이 칩들은 네이티브 애플리케이션을 통해서만 접근할 수 있다. 웹 플랫폼의 경우 TensorFlow.js와 같은 아주 높은 추상화 레벨로만 CPU에서 겨우 실행이 가능하다.
훗날 AI 네이티브(우리 클라우드 네이티브처럼)가 표준이 되면, 특히 웹 기술을 사용하여 NPU에 액세스하기 위한 API를 요구하는 목소리가 점점 커질 것이다. 이는 모두에게 좋은 일인데...
- 소비자. 모든 것이 로컬로 빠르고 안전하다. 미래에는 인공지능을 서비스의 더 다양한 분야에 적용할텐데, 특정화된 인공지능 서비스를 위해 앱을 설치할 필요가 없다. 웹사이트를 방문하는 것으로 충분하다.
- 개발자. 인공지능 서비스를 출시하기 위해 추론 서버를 생성할 필요가 없다. WebNPU는 또한 개발자들이 Write Once Run Everywhere를 이루어주기 때문에 개발 프로세스를 단순화할 수 있다.