피드로 돌아가기
Transformers.js v3: WebGPU Support, New Models & Tasks, and More…
Hugging Face BlogHugging Face Blog
Frontend

Transformers.js v3가 WebGPU 지원을 추가해 브라우저에서 GPU 기반 머신러닝 추론 실행 가능

Transformers.js v3: WebGPU Support, New Models & Tasks, and More…

2024년 10월 22일9intermediate

Context

Transformers.js v1, v2에서는 WebGL 기반 컴퓨팅만 지원했으며, 브라우저 환경에서 GPU 활용이 제한적이었다. 또한 양자화 옵션이 단순 이진 선택(true/false)으로 제한되어 모델별 최적화 전략 적용이 어려웠다.

Technical Solution

  • WebGPU 지원 추가: device 파라미터를 'webgpu'로 설정하면 브라우저에서 시스템 GPU를 직접 활용해 추론 수행
  • 다양한 양자화 포맷 지원: dtype 파라미터로 fp32, fp16, q8, int8, uint8, q4, bnb4, q4f16 등 선택 가능
  • 모듈별 양자화 설정: dtype을 객체로 제공해 모델 내 특정 모듈(encoder, decoder 등)마다 다른 양자화 레벨 적용
  • 서버사이드 런타임 확대: Node.js(ESM/CJS), Deno, Bun 지원으로 다양한 JavaScript 실행 환경 대응
  • NPM/GitHub 공식화: @xenova/transformers에서 @huggingface/transformers로 패키지명 변경 및 공식 Hugging Face 조직으로 이동

Impact

2024년 10월 기준 전역 WebGPU 지원률 약 70% (caniuse.com 조사 결과).

Key Takeaway

브라우저 환경에서 GPU 가속 추론을 표준 API(WebGPU)로 활성화함으로써 엣지 추론의 접근성을 높였고, 모듈별 양자화 설정으로 성능과 정확도의 트레이드오프를 세밀하게 제어할 수 있게 했다.


브라우저 기반 머신러닝 애플리케이션을 구축하는 엔지니어는 device: 'webgpu'를 설정해 텍스트 임베딩, 음성 인식, 이미지 분류 등 추론을 GPU에서 실행할 수 있으며, Whisper나 Florence-2 같은 인코더-디코더 모델에서는 dtype 객체를 통해 모듈별로 다른 양자화를 적용해 정확도를 보존하면서 메모리 사용량을 줄일 수 있다.

원문 읽기