14P by xguru 1달전 | favorite | 댓글 1개
  • WebGPU 지원 (WASM 보다 100배까지 빠름)
  • 새로운 양자화 포맷 dtypes
  • 120개의 아키텍처 지원
  • 25개 새로운 예제 프로젝트와 템플릿
  • 1200개 이상의 사전 변환된 모델
  • Node.js (ESM + CJS), Deno 및 Bun 호환성

WebGPU 지원

  • WebGPU는 가속 그래픽과 컴퓨팅을 위한 새로운 웹 표준
  • 개발자가 브라우저에서 직접 시스템의 GPU를 사용하여 고성능 계산을 수행할 수 있게 해줌
  • WebGL의 후속작으로 현대 GPU와 더 직접적인 상호작용이 가능해 성능이 크게 향상됨
  • 또한 범용 GPU 계산을 지원하여 머신러닝에 적합함
  • 2024년 10월 기준 전 세계 WebGPU 지원율은 약 70% 수준
  • 브라우저에 따라 WebGPU를 활성화하려면 기능 플래그를 사용해야 할 수 있음
  • Transformers.js v3에서의 WebGPU 사용
    • ONNX Runtime Web과의 협업 덕분에 모델 로드 시 device: 'webgpu'를 설정하는 것만으로 WebGPU 가속을 활성화할 수 있음
    • 텍스트 임베딩 계산, 음성 인식, 이미지 분류 등에 WebGPU 사용 가능

새로운 양자화 포맷 (dtypes)

  • Transformers.js v3 이전에는 quantized 옵션으로 quantized (q8) 또는 full-precision (fp32) 모델 변형을 선택할 수 있었음
  • 이제 dtype 매개변수로 훨씬 더 많은 목록에서 선택할 수 있음
  • 사용 가능한 양자화 목록은 모델에 따라 다르지만 일반적으로 full-precision ("fp32"), half-precision ("fp16"), 8-bit ("q8", "int8", "uint8"), 4-bit ("q4", "bnb4", "q4f16") 등이 있음
  • 모듈별 dtypes
    • Whisper나 Florence-2와 같은 일부 인코더-디코더 모델은 특히 인코더의 양자화 설정에 매우 민감함
    • 이러한 이유로 모듈 이름에서 dtype으로의 매핑을 제공하여 모듈별 dtypes를 선택할 수 있는 기능을 추가함

120개의 지원되는 아키텍처

  • 이번 릴리스에서는 지원되는 아키텍처 총 수가 120개로 증가했으며, 다양한 입력 양식과 작업을 아우르고 있음
  • 주목할 만한 신규 아키텍처들: Phi-3, Gemma & Gemma 2, LLaVa, Moondream, Florence-2, MusicGen, Sapiens, Depth Pro, PyAnnote, RT-DETR 등이 있음

25개의 예제 프로젝트 및 템플릿

  • 이번 릴리스의 일환으로 WebGPU 지원을 중점적으로 보여주는 25개의 새로운 예제 프로젝트와 템플릿을 출시함
  • Phi-3.5 WebGPU, Whisper WebGPU 등의 데모 포함

1200개 이상의 사전 변환된 모델

  • 릴리스 기준, 커뮤니티는 1200개 이상의 모델을 Transformers.js와 호환되도록 변환했음
  • 자신의 모델이나 파인튜닝을 변환하려면 제공된 변환 스크립트를 사용할 수 있음
  • 생성된 파일을 Hugging Face Hub에 업로드한 후 transformers.js 태그를 추가하면 다른 사람들이 쉽게 찾아 사용할 수 있음

Node.js (ESM + CJS), Deno 및 Bun 호환성

  • Transformers.js v3는 이제 세 가지 가장 인기 있는 서버 측 JavaScript 런타임과 호환됨
  • Node.js: 크롬의 V8에 구축된 널리 사용되는 JavaScript 런타임으로 광범위한 라이브러리와 프레임워크 지원
  • Deno: 기본적으로 보안이 우수한 JavaScript 및 TypeScript용 최신 런타임으로 ES 모듈을 사용하고 실험적 WebGPU 지원도 제공
  • Bun: 성능에 최적화된 빠른 JavaScript 런타임으로 내장된 번들러, 트랜스파일러, 패키지 관리자 제공

NPM 및 GitHub의 새로운 홈

  • Transformers.js는 이제 NPM의 공식 Hugging Face 조직에서 @huggingface/transformers로 게시될 예정 (v1과 v2에 사용된 @xenova/transformers 대신)
  • GitHub의 공식 Hugging Face 조직 (https://github.com/huggingface/transformers.js)으로 저장소를 이동했으며, 이곳이 새로운 홈이 될 것임