Transformers.js v4 が NPM で利用可能に
Transformers.js v4: Now Available on NPM!
Transformers.js v4 がリリースされ、NPM で利用可能になった。主な変更点として、C++ で完全に書き直された新しい WebGPU ランタイムの採用が挙げられる。このランタイムは ONNX Runtime チームと協力してテストされ、約200のサポートモデルアーキテクチャと v4 限定の新しいアーキテクチャで動作する。WebGPU ランタイムは、ブラウザ、サーバーサイドランタイム、デスクトップアプリケーションなど、様々な JavaScript 環境で同じ transformers.js コードを使用可能にし、Node.js、Bun、Deno でも WebGPU アクセラレーションモデルを実行できるようになった。また、ONNX Runtime Contrib Operators(例: com.microsoft.GroupQueryAttention, com.microsoft.MatMulNBits, com.microsoft.QMoE)を活用し、特に大規模言語モデルのエクスポート戦略を見直すことで、パフォーマンスを向上させている。BERTベースの埋め込みモデルでは、com.microsoft.MultiHeadAttention オペレーターの採用により約4倍の速度向上が達成された。コードベースの改善として、リポジトリ構造を pnpm workspaces を使用したモノレポに移行し、サブパッケージの管理を容易にした。また、8,000行を超えていた models.js ファイルを分割し、モジュール化することで保守性を向上させた。ビルドシステムは Webpack から esbuild に移行し、ビルド時間を10倍短縮し、バンドルサイズを平均10%削減した。新しい ModelRegistry API は、本番ワークフロー向けにパイプラインアセットの可視性を提供し、`get_pipeline_files`、`get_file_metadata`、`is_pipeline_cached`、`clear_pipeline_cache` などの機能を提供する。さらに、`env.useWasmCache` による WASM ランタイムファイルのキャッシュや、カスタム fetch 実装を指定できる `env.fetch` が追加された。ログ管理も改善され、WebGPU の警告はデフォルトで非表示になり、Transformers.js と ONNX Runtime の両方で明示的な冗長性レベルを設定できるようになった。トークン化ロジックは `@huggingface/tokenizers` として独立したライブラリに抽出され、軽量かつ依存関係ゼロで提供される。v4 では、動的なパイプライン型による型システムの強化や、8B パラメータを超える大規模モデル(例: GPT-OSS 20B)のサポートも追加された。
- Transformers.js v4 が NPM でリリースされ、C++ で書き直された新 WebGPU ランタイムを採用した
- BERTベースの埋め込みモデルで com.microsoft.MultiHeadAttention オペレーター採用により約4倍の速度向上を達成
- 8Bパラメータを超える大規模モデル(例: GPT-OSS 20B)のサポートを追加
Transformers.js v4 のリリースは、ブラウザやエッジ環境で LLM をネイティブ実行できる基盤が大幅に強化されたことを示す。ONNX Runtime との協業による WebGPU ランタイムの刷新、大規模モデル(8B超)対応、パフォーマンス改善(BERT埋め込みで4倍高速化)は、クライアントサイドAI推論の実用化を大きく前進させる。HuggingFace エコシステムのエッジ展開能力が高まることで、プライバシー重視・低レイテンシ・オフライン対応のAIアプリケーションの市場拡大につながり、関連スタートアップや周辺ツール(esbuild, pnpm等のビルド改善)にも追い風となる。