NLPや言語モデルのパイプライン向けに、Rustで実装され、PythonとNode.jsのバインディングを備えた最先端の高速トークナイザーライブラリ。
explosion/spacy-transformers
Hugging FaceのBERT、RoBERTa、XLNetなどのtransformerモデルをspaCyパイプラインに組み込むコンポーネントとアーキテクチャ。
- スター
- 1,411
- フォーク
- 177
- 未解決の Issue
- 3
- 最終コミット
- 4 日前
これは何?
spacy-transformersは、Hugging FaceのtransformersライブラリのtransformerモデルをspaCy内で利用するためのコンポーネントとモデルアーキテクチャを提供します。インストールすると、すべてのコンポーネントを一から学習させる代わりに、BERT、RoBERTa、XLNet、GPT-2などの事前学習済みモデルをパイプラインで利用できます。
このパッケージはtransformerの出力をspaCyのトークン化に対応付けるため、NERやテキスト分類などの下流コンポーネントはトークン単位の特徴量を受け取れます。1つのtransformerを複数のパイプラインコンポーネントで共有でき、学習時には各コンポーネントからの勾配で共有モデルを更新できます。学習にはspaCy v3のconfigシステムを使用し、Docオブジェクトに保存するtransformerデータや、処理時に文書を分割する長さを指定できます。
現行リリースの動作要件はspaCy v3、PyTorch 1.5以降、Python 3.6以降です。トークン分類やテキスト分類など、タスク固有のヘッドはこのコンポーネントでは提供されません。その場合は、別パッケージのspacy-huggingface-pipelinesを利用するよう案内されています。
主な機能
- 01BERT、RoBERTa、XLNetなどの事前学習済みtransformerをspaCyパイプラインで利用できます。
- 02複数のパイプラインコンポーネントで1つのtransformerを共有し、マルチタスク学習を行えます。
- 03transformerの出力をspaCyのトークン化に自動で対応付けます。
- 04Docオブジェクトに保存するtransformerデータを設定できます。
- 05spaCy v3のconfigシステムによる学習に対応し、シリアライズとパッケージ化の機能も備えています。
ユースケース
- transformerの特徴量を活用して精度を高めるspaCyのNERモデルやテキスト分類器を学習する。
- 1つのパイプライン内の複数のspaCyコンポーネントで、transformerのバックボーンを共有する。
- transformerベースのカスタムspaCyモデルをパッケージ化してデプロイする。
クイックスタート
- 1
pip でパッケージをインストールします。spaCy と PyTorch も併せてインストールされます
pip install 'spacy[transformers]' - 2
GPU を使用する場合は、nvcc で CUDA のバージョンを確認し、対応する角括弧オプションを追加してください(spaCy の GPU ドキュメントを参照)
- 3
PyTorch のインストールに失敗した場合は、お使いのシステム向けの公式 PyTorch インストール手順に従ってください
使う前に知っておきたいこと
- spaCy v3、Python 3.6 以降、PyTorch v1.5 以降が必要です。
- transformer コンポーネントは、分類用のタスク固有ヘッドを提供しません。
収録されている特集
トピック
よくある質問
- spacy-transformers とは?
- Hugging FaceのBERT、RoBERTa、XLNetなどのtransformerモデルをspaCyパイプラインに組み込むコンポーネントとアーキテクチャ。 spacy-transformersは、Hugging FaceのtransformersライブラリのtransformerモデルをspaCy内で利用するためのコンポーネントとモデルアーキテクチャを提供します。インストールすると、すべてのコンポーネントを一から学習させる代わりに、BERT、RoBERTa、XLNet、GPT-2などの事前学習済みモデルをパイプラインで利用できます。
- spacy-transformers は無料で使えますか?ライセンスは?
- spacy-transformers は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- spacy-transformers は今もメンテナンスされていますか?
- 活発にメンテナンス中。spacy-transformers の最終コミットは 2026年11月3日 です。
- spacy-transformers は何に使えますか?
- transformerの特徴量を活用して精度を高めるspaCyのNERモデルやテキスト分類器を学習する。 1つのパイプライン内の複数のspaCyコンポーネントで、transformerのバックボーンを共有する。 transformerベースのカスタムspaCyモデルをパッケージ化してデプロイする。
- spacy-transformers のインストール方法は?
- pip でパッケージをインストールします。spaCy と PyTorch も併せてインストールされます: pip install 'spacy[transformers]' GPU を使用する場合は、nvcc で CUDA のバージョンを確認し、対応する角括弧オプションを追加してください(spaCy の GPU ドキュメントを参照) PyTorch のインストールに失敗した場合は、お使いのシステム向けの公式 PyTorch インストール手順に従ってください
- spacy-transformers はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/explosion/spacy-transformers
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
transformerの埋め込みとc-TF-IDFを組み合わせ、解釈しやすいトピックをテキストから抽出するPython製トピックモデリングライブラリ。
小規模な大規模マルチモーダル(視覚・言語)モデルの構築、学習、評価に使える、モジュール式のPyTorch/Hugging Faceコードベース。
実行時に新しい例やクラスを学習し、信頼度の較正と分布外検出にも対応するテキスト分類用Pythonライブラリ。
Hugging FaceのPythonライブラリ。Hub上の公開AIデータセットを1行で読み込み、Arrowベースのツールで効率よく前処理できます。