14 ポイント 投稿者 xguru 2024-10-26 | 1件のコメント | WhatsAppで共有
  • 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 の新しいホーム

  • Transformers.js は今後、NPM の公式 Hugging Face 組織から @huggingface/transformers として公開される予定(v1 と v2 で使われていた @xenova/transformers の代わり)
  • GitHub の公式 Hugging Face 組織 (https://github.com/huggingface/transformers.js) にリポジトリを移し、ここが新しいホームになる