- Transformers.jsは、サーバーなしでブラウザ上で直接 🤗 Transformers を実行できる、Web向けの最先端機械学習ライブラリ
- Python の transformers ライブラリと機能的に同等になるよう設計されており、同じ事前学習済みモデルを類似した API で実行可能
- 自然言語処理、コンピュータビジョン、音声、マルチモーダルなど、さまざまなモダリティの一般的なタスクをサポート
- ONNX Runtime を使ってブラウザ上でモデルを実行し、🤗 Optimum を使って PyTorch、TensorFlow、JAX の事前学習済みモデルを ONNX に簡単に変換できる
主な機能
- Python ライブラリと同じ
pipeline API をサポートし、既存コードから容易に移行可能
- 多様なタスクとアーキテクチャをサポート(対応状況およびドキュメント/モデルリンクを含む)
- 自然言語処理: Fill-Mask、Question Answering、Sentence Similarity、Summarization、Text Classification、Text Generation、Text-to-text Generation、Token Classification、Translation、Zero-Shot Classification、Feature Extraction など
- ビジョン: Depth Estimation、Image Classification、Image Segmentation、Image-to-Image、Object Detection、Image Feature Extraction など
- 音声: Audio Classification、Automatic Speech Recognition、Text-to-Speech
- マルチモーダル: Document Question Answering、Image-to-Text、Zero-Shot Audio/Image Classification、Zero-Shot Object Detection など
- ホスト済みの事前学習済みモデルと事前コンパイル済み WASM バイナリをデフォルトで使用し、カスタマイズも可能
インストールと使用方法
- NPM でインストール可能:
npm i @xenova/transformers
- CDN や静的ホスティングを使い、バンドラなしでバニラ JS から利用可能
- 多様なサンプルアプリケーション/テンプレートを提供: Whisper Web、Doodle Dash、Code Playground、Semantic Image Search、Vanilla JavaScript、React、Text to speech、Browser extension、Electron、Next.js、Node.js など
- 環境設定により、モデルパス、リモートモデルの読み込み可否、WASM ファイルの場所などをカスタマイズ可能
- 提供されている変換スクリプトを使って、PyTorch、TensorFlow、JAX モデルを ONNX に変換可能
サポートされるモデル
- ALBERT、Audio Spectrogram Transformer、BART、BEiT、BERT、Blenderbot、BLOOM、CamemBERT、Chinese-CLIP、CLAP、CLIP、CLIPSeg、CodeGen、ConvBERT、ConvNeXT、DeBERTa、DeiT、Depth Anything、DETR、DINOv2、DistilBERT、DiT、Donut、DPT、EfficientNet、ELECTRA、ESM、Falcon、FLAN-T5、GLPN、GPT Neo、GPT NeoX、GPT-2、GPT-J、GPTBigCode、HerBERT、Hubert、LongT5、LLaMA、MPNet、MPT、MT5、NLLB、Nougat、OPT など、多数のモデルをサポート
GN⁺の見解
- Transformers.jsは、サーバーなしでブラウザ上で多様な最新 Transformer モデルを実行できる便利なライブラリ。特に自然言語処理、コンピュータビジョン、音声など複数分野のタスクをサポートしており、活用範囲が広い
- Python ライブラリに近い API を提供するため既存コードから容易に移行でき、多くの事前学習済みモデルに対応しているので追加学習なしですぐに利用可能
- サンプルアプリケーションとテンプレートが提供されており、さまざまな用途に使いやすく、カスタマイズ機能もあるため柔軟性が高い
- ただし、ブラウザで動作する以上リソース制約を受ける可能性があり、最新モデルを継続的に追加・サポートしていく点は、開発・保守の面で負担になる可能性がある
- 類似のブラウザベース ML フレームワークとしては TensorFlow.js、ONNX.js、WebDNN などがある。特に TensorFlow.js はブラウザと Node.js の両方をサポートし、転移学習、可視化など、より多くの機能を提供する
まだコメントはありません。