Transformers.js v4 출시: WebGPU 가속 및 Node/Bun 환경 지원 강화
요약
huggingface에서 대규모 언어 모델(LLM)을 브라우저나 서버 환경에서 구동하는 JavaScript 라이브러리인 Transformers.js의 메이저 업데이트 버전 4가 출시되었습니다. 핵심 변화는 C++로 재작성된 WebGPU Runtime 채택으로, 성능과 호환성이 크게 향상되었습니다. 이제 Node.js, Bun, Deno 같은 서버 측 환경에서도 GPU 가속 모델을 사용할 수 있으며, BERT 기반 임베딩 모델의 경우 최대 4배의 속도 향상을 경험할 수 있습니다. 또한, 빌드 시스템이 Webpack에서 esbuild로
핵심 포인트
- WebGPU Runtime 채택: C++로 재작성된 새로운 WebGPU Runtime을 통해 브라우저와 서버(Node, Bun, Deno) 전반에 걸쳐 GPU 가속 모델 사용이 가능해졌습니다.
- 최대 4배 성능 향상: ONNX Runtime의 커스텀 연산자(예: com.microsoft.MultiHeadAttention) 활용을 통해 BERT 기반 임베딩 모델에서 약 4배의 속도 개선을 달성했습니다.
- 개발 환경 최적화: 빌드 시스템이 Webpack에서 esbuild로 전환되면서, 빌드 시간이 2초에서 200ms로 10배 단축되었고, 기본 번들 크기(transformers.web.js)는 평균 10% 감소했습니다.
- 프로덕션 API 개선: 새로운 ModelRegistry API가 도입되어 `get_pipeline_files`, `get_file_metadata` 등의 기능을 제공하며, 로딩 진행 상황 추적 및 캐시 관리가 용이해졌습니다.
huggingface의 JavaScript 기반 AI 라이브러리인 Transformers.js의 메이저 업데이트 버전 4가 NPM을 통해 공개되었습니다. 이 버전은 모델 구동 환경과 성능 최적화 측면에서 대대적인 변화를 가져왔으며, 웹 브라우저는 물론 Node.js, Bun, Deno 같은 서버 측 JavaScript 런타임에서도 GPU 가속 기능을 활용할 수 있게 되었습니다.
1. WebGPU Runtime 채택 및 플랫폼 확장:
The 가장 큰 변화는 C++로 완전히 재작성된 새로운 WebGPU Runtime을 도입했다는 점입니다. 이 새로운 런타임은 ONNX Runtime 팀과의 긴밀한 협력을 통해 약 200개 이상의 지원 모델 아키텍처와 v4 전용 신규 아키텍처에 걸쳐 철저히 테스트되었습니다. 이를 통해 동일한 transformers.js 코드를 브라우저, 서버 측 런타임(Node, Bun, Deno), 데스크톱 애플리케이션 등 광범위한 JavaScript 환경에서 사용할 수 있게 되었습니다.
2. 성능 극대화를 위한 아키텍처 최적화:
최신 AI 모델을 로컬에서 구동하는 것을 넘어, 이제는 '가장 빠르게' 구동하는 데 초점을 맞췄습니다. 특히 대규모 언어 모델(LLM)의 경우, 새로운 내보내기 전략(export strategy)을 통해 성능을 극대화했습니다. 이 과정에서 com.microsoft.GroupQueryAttention, com.microsoft.MatMulNBits, com.microsoft.QMoE와 같은 전문 ONNX Runtime Contrib Operators를 활용하여 모델 연산을 개별적으로 재구현했습니다. 그 결과, 예를 들어 com.microsoft.MultiHeadAttention 연산자를 채택함으로써 BERT 기반 임베딩 모델에서 약 4배의 속도 향상을 달성하는 성과를 거두었습니다.
3. 개발 및 유지보수 구조 개선:
v4 버전에서는 코드베이스 전반에 걸친 대규모 리팩토링이 진행되었습니다. 과거에는 모든 사용 가능한 모델이 8,000줄을 넘는 단일 models.js 파일에 정의되어 관리하기 어려웠으나, v4에서는 유틸리티 함수, 핵심 로직, 모델별 구현으로 모듈화하여 가독성을 높이고 신규 모델 추가를 용이하게 했습니다.
또한, 개발 워크플로우의 효율성도 크게 개선되었습니다. 빌드 시스템을 Webpack에서 esbuild로 마이그레이션하면서, 빌드 시간이 2초에서 단 200밀리초로 10배나 단축되었으며, 기본 번들 파일(transformers.web.js) 크기는 평균 10% 감소하고 특히 53% 작아져 다운로드 및 시작 속도가 빨라졌습니다.
4. 프로덕션 워크플로우를 위한 API 추가:
실제 서비스 환경에 적합하도록 새로운 ModelRegistry API가 도입되었습니다. 이 API는 파이프라인 자산(pipeline assets)을 로드하기 전에 필요한 파일 목록(get_pipeline_files) 확인, 파일별 메타데이터 검사(get_file_metadata), 캐시 상태 확인(is_pipeline_cached), 그리고 캐시 삭제(clear_pipeline_cache) 등의 기능을 제공합니다. 또한 progress_callback에 progress_total 이벤트가 포함되어 전체 로딩 진행 상황을 쉽게 추적할 수 있게 되었습니다.
이러한 개선 덕분에 GPT-OSS, Chatterbox, GraniteMoeHybrid, LFM2-MoE 등 Mamba (state-space models), Multi-head Latent Attention (MLA), Mixture of Experts (MoE)와 같은 고급 아키텍처를 지원하는 다양한 최신 모델들을 Transformers.js v4에서 WebGPU 가속을 통해 사용할 수 있게 되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Hugging Face Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기