요약 / 핵심 포인트
- Google이 거의 네이티브에 가까운 AI 속도를 브라우저에 직접 가져다주는 새로운 라이브러리인 LiteRT.js를 출시했습니다.
- WebAssembly 코어가 TensorFlow.js를 구식으로 만들고 온디바이스 머신러닝의 새로운 시대를 여는 이유를 소개합니다.
JavaScript 병목 현상이 해결되었습니다
TensorFlow.js는 수년간 Google의 브라우저 기반 머신러닝 라이브러리였지만, 항상 JavaScript 기반 커널이라는 한계에 부딪혔습니다. 이 커널들은 네이티브 런타임처럼 CPU나 GPU 하드웨어를 완전히 활용할 수 없는 심각한 병목 현상이었습니다. 직접적인 하드웨어 상호작용 및 병렬 처리에서 어려움을 겪었으며, 이는 TensorFlow.js가 네이티브 애플리케이션의 성능에 지속적으로 뒤처졌다는 것을 의미합니다.
Google은 LiteRT.js로 그 병목 현상을 막 깨뜨렸습니다. 이것은 단순한 업데이트가 아니라, 판도를 바꾸는 혁신입니다. LiteRT.js는 수년간 Android, iOS 및 임베디드 하드웨어에 동력을 공급해 온 Google의 검증된 온디바이스 추론 런타임인 LiteRT의 JavaScript 바인딩입니다. 이제 동일하게 최적화된 엔진이 브라우저에 도착했습니다.
LiteRT.js는 자체 최적화된 커널과 함께 WebAssembly (WASM)를 활용하여 이를 달성합니다. 더 이상 하드웨어 접근에 어려움을 겪는 '웹 친화적인 추상화 계층'을 얻는 것이 아닙니다. 대신, WASM으로 컴파일된 진정으로 최적화된 네이티브 런타임 엔진을 얻게 되며, 이는 이전에 Android 및 iOS 추론에만 독점적으로 제공되던 것과 동일한 고성능 하드웨어 기능을 직접 노출합니다. 이는 브라우저 기반 AI의 근본적인 변화를 나타냅니다.
세 가지 강력한 하드웨어 가속
LiteRT.js는 단순히 속도를 약속하는 것이 아닙니다. 어떤 장치에서든 최대 성능을 끌어내도록 설계된 영리한 3단계 백엔드로 이를 실현합니다. 이 아키텍처는 하드웨어가 허용하는 한 보편적인 호환성과 극한의 성능을 보장합니다.
보편적인 호환성을 위해 LiteRT.js는 CPU 기반 추론에 기본적으로 XNNPACK를 사용합니다. 이것은 Google의 최적화된 멀티스레드 CPU 커널 라이브러리로, 완화된 SIMD 지원을 포함합니다. 이는 강력하고 보편적인 대체 수단으로 작동하여, 전용 GPU가 없는 장치에서도 머신러닝 모델이 모든 장치에서 효율적으로 실행되도록 보장합니다.
하드웨어가 허용하는 경우, LiteRT.js는 WebGPU를 통한 MLDrift로 고속 기어로 전환합니다. 이것은 기본 GPU 가속 경로이며, 네이티브 GPU 커널을 직접 활용합니다. 이는 TensorFlow.js를 괴롭혔던 셰이더를 위한 JavaScript 오케스트레이션의 성능 병목 현상을 제거하여, 텐서 연산을 CPU에서 벗어나게 함으로써 훨씬 더 빠른 추론 속도를 가능하게 합니다.
미래를 내다보면, LiteRT.js는 WebNN API를 통해 NPU에 대한 실험적 지원도 포함합니다. Origin Trials를 통해 Chrome 및 Edge에서 사용할 수 있는 이 기능은 전용 신경 처리 하드웨어를 대상으로 합니다. NPU 통합이 소비자 장치에서 더욱 보편화됨에 따라, 특수 AI 워크로드에 대한 향상된 전력 효율성과 훨씬 더 빠른 추론을 약속합니다.
이 지능적이고 계층화된 접근 방식은 LiteRT.js가 가장 광범위한 장치에서 폭넓은 호환성을 제공하고 최신 실리콘에서 최고 성능을 발휘하도록 보장합니다. 이는 브라우저 기반 AI를 효과적으로 미래에 대비하게 하며, 고급 머신러닝을 웹 애플리케이션에 진정으로 실용적으로 만듭니다.
벤치마크: 60배 속도 도약
LiteRT.js에 대한 Google의 주장은 인상적이지만, 과연 실현될 수 있을까요? M4 silicon이 탑재된 2024년형 MacBook Pro에서 수행된 공식 벤치마크에 따르면, LiteRT.js는 CPU 및 GPU에서 일반적인 비전 및 오디오 모델 전반에 걸쳐 다른 웹 런타임보다 최대 3배 더 빠른 추론을 달성합니다. GPU 또는 NPU에서 객체 추적 또는 이미지 조작과 같은 더 까다로운 작업에서는 훨씬 더 큰 성능 향상을 보이며, 작업에 따라 성능 향상이 5배에서 최대 60배까지 급증합니다.
독립적인 테스트를 통해 이러한 겸손한 주장이 대체로 확인되었습니다. 예를 들어, 브라우저에서 완전히 실행되는 실시간 3D 모션 캡처 애플리케이션은 CPU에서 38 FPS를 기록한 것과 비교하여 WebGPU를 사용하여 견고한 120 FPS를 시연했습니다. 이는 프레임 속도가 약 3배 증가하고 추론 시간이 2.8배 감소했음을 의미하며, 실제 시나리오에서 Google의 덜 극단적인 수치를 직접적으로 검증합니다.
물론, 기대치를 조절해야 합니다. 이러한 극적인 수치는 모든 사람에게 보장되지 않습니다. Google 자체도 이러한 수치가 최상의 시나리오임을 인정합니다. 실제 성능은 특정 GPU, 잠재적인 thermal throttling, 그리고 장치 드라이버의 품질에 따라 크게 달라질 것입니다. 기술적인 세부 사항을 더 깊이 탐구하고 싶은 분들을 위해 Google은 LiteRT for Web with LiteRT.js | Google AI Edge에 대한 광범위한 문서를 제공합니다.
Enjoying this? Get one like it in your inbox each morning.
one email a day · unsubscribe in two clicks · no third-party tracking
속도를 넘어: 새로운 웹 AI 시대
순수한 속도 외에도 LiteRT.js는 여러분의 지갑과 워크플로우에 직접적인 영향을 미치는 중요한 실용적인 이점을 제공합니다. 이제 기존 .tflite models을 브라우저에서 직접 실행할 수 있어 복잡한 변환 작업을 없애고 개발 시간을 절약할 수 있습니다. PyPyTorch 사용자에게 LiteRT PyTorch는 `.tflite` 파일로 가는 간단한 경로를 제공하며, AI AI Edge Quantizer는 전체 재작성 없이 모델 크기를 줄여줍니다. 이는 개발자들이 정교한 AI를 웹에 도입하는 데 대한 장벽을 극적으로 낮춥니다.
이러한 성능 도약은 무거운 처리를 원격 서버에서 벗어나게 하는 완전히 새로운 종류의 웹 애플리케이션을 가능하게 합니다. 웹캠을 사용하여 실시간 YOLO 객체 감지 또는 3D pose estimation을 상상해 보세요. 이 모든 것이 브라우저에서 직접 실행됩니다. 이러한 client-side operations은 향상된 사용자 개인 정보 보호를 보장하고 서버 비용을 없애 개발자와 기업에게 고급 AI 기능을 더 쉽게 접근하고 저렴하게 만듭니다. Google의 데모는 이미 monocular depth estimation 및 image upscaling과 같은 인상적인 기능을 선보이고 있습니다.
브라우저 기반 AI의 미래는 더욱 매력적으로 보입니다. Google은 이미 LiteRT-LM.js를 발표했으며, 이는 대규모 언어 모델에 이러한 성능 이점을 가져올 것입니다. 이는 웹에 최적화된 Gemma 4 변형과 같은 전체 LLMs을 브라우저에서 로컬로 실행하여 원격 서버에 의존하지 않고도 고급의 개인적인 AI 경험을 위한 문을 열어준다는 것을 의미합니다. 이는 on-device AI를 위한 진정한 게임 체인저입니다.
자주 묻는 질문
LiteRT.js란 무엇인가요?
LiteRT.js는 Google이 개발한 새로운 JavaScript 라이브러리로, 개발자가 웹 브라우저에서 거의 네이티브 속도로 머신러닝 모델을 실행할 수 있도록 합니다. 이는 WebAssembly를 사용하여 Android 및 iOS에서 이미 사용되는 Google의 고성능 LiteRT 추론 엔진을 웹으로 가져옵니다.
LiteRT.js는 TensorFlow.js보다 어떻게 더 빠른가요?
TensorFlow.js는 JavaScript 기반 커널에 의존하여 성능 병목 현상을 만듭니다. LiteRT.js는 최적화된 C++ 커널을 WebAssembly로 컴파일하여 이를 우회하며, CPU 및 GPU 하드웨어를 더 효율적으로 직접 활용하여 훨씬 빠른 추론을 가능하게 합니다.
이제 TensorFlow.js는 완전히 쓸모없게 되었나요?
완전히 그렇지는 않습니다. LiteRT.js가 우수한 성능으로 인해 모델 추론을 위한 강력한 대체제로 자리매김하고 있지만, TensorFlow.js는 AI 파이프라인에서 전처리 및 후처리 작업에 여전히 유용할 수 있습니다. 개발자는 데이터 조작을 위해 기존 TensorFlow.js 코드를 유지하면서 모델 실행 단계에 LiteRT.js를 특별히 사용할 수 있습니다.
LiteRT.js는 어떤 종류의 모델을 실행할 수 있나요?
LiteRT.js는 TensorFlow Lite (.tflite) 형식으로 저장된 모든 기존 모델을 실행할 수 있습니다. 또한 PyTorch, JAX 및 표준 TensorFlow의 모델에 대한 직접 변환 경로를 제공하여 기존 ML 워크플로우와 높은 호환성을 가집니다.
