Repolode
explosion

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. 1

    pip でパッケージをインストールします。spaCy と PyTorch も併せてインストールされます

    pip install 'spacy[transformers]'
  2. 2

    GPU を使用する場合は、nvcc で CUDA のバージョンを確認し、対応する角括弧オプションを追加してください(spaCy の GPU ドキュメントを参照)

  3. 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 の数値は毎日更新されます。

関連プロジェクト

RAG、コードエージェント、ツールを根拠とするAIの回答をソース証拠と照合し、根拠のない部分をスパン単位で特定するオープンソースのハルシネーション検出器。

AI・機械学習#hallucination-detection#rag#nlp
62064PythonMIT更新 昨日