- WebGPU をサポート(WASM より最大100倍高速)
- 新しい量子化フォーマット
dtypes
- 120のアーキテクチャをサポート
- 25の新しいサンプルプロジェクトとテンプレート
- 1,200以上の事前変換済みモデル
- Node.js (ESM + CJS)、Deno、Bun との互換性
WebGPU サポート
- WebGPU は、高速グラフィックスおよび計算のための新しい Web 標準
- 開発者はブラウザから直接システムの 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 などのデモを含む
1,200以上の事前変換済みモデル
- リリース時点で、コミュニティは1,200以上のモデルを Transformers.js と互換性があるように変換している
- 自分のモデルやファインチューニング済みモデルを変換するには、提供されている変換スクリプトを使用できる
- 生成されたファイルを Hugging Face Hub にアップロードし、その後
transformers.js タグを追加すれば、他の人が簡単に見つけて利用できる
Node.js (ESM + CJS)、Deno、Bun との互換性
- Transformers.js v3 は、現在もっとも人気のある3つのサーバーサイド JavaScript ランタイムと互換性がある
- Node.js: Chrome の V8 上に構築された広く使われている JavaScript ランタイムで、幅広いライブラリやフレームワークをサポート
- Deno: デフォルトで高いセキュリティを備えた JavaScript および TypeScript 向けの最新ランタイムで、ES モジュールを使用し、実験的な WebGPU サポートも提供
- Bun: パフォーマンスに最適化された高速な JavaScript ランタイムで、組み込みのバンドラー、トランスパイラ、パッケージマネージャーを提供
NPM と GitHub の新しいホーム
1件のコメント
Transformers.js - ブラウザでトランスフォーマーを実行
ブラウザで直接実行できる Transformers.js