Hub documentation
Hugging FaceでのAllenNLPの活用
Hugging FaceでのAllenNLPの活用
allennlpは、さまざまな言語タスクで最先端のモデルを開発するためのNLPライブラリです。現代のNLPで一般的なコンポーネントやモデルに対して、高レベルの抽象化とAPIを提供します。また、NLP実験の実行と管理を容易にする拡張可能なフレームワークも提供しています。
Hubでのallennlpの探索
モデルページの左側でフィルタリングすることで、Hub上でallennlpのモデルを見つけることができます。
Hub上のすべてのモデルには、便利な機能が備わっています
- 自動ホスティングされたTensorBoardトレースを備えたトレーニングメトリクスタブ。
- 検索可能性を高めるためのメタデータタグ。
- ブラウザ上でモデルを直接試すことができるインタラクティブなウィジェット。
- 推論リクエストを行うことを可能にするInference Providersウィジェット。

既存のモデルを使用する
Predictorクラスを使用して、Hub上の既存のモデルを読み込むことができます。これを実現するには、from_pathメソッドを使用し、リポジトリIDに"hf://"プレフィックスを付与します。以下はエンドツーエンドの例です。
import allennlp_models
from allennlp.predictors.predictor import Predictor
predictor = Predictor.from_path("hf://allenai/bidaf-elmo")
predictor_input = {
"passage": "My name is Wolfgang and I live in Berlin",
"question": "Where do I live?"
}
predictions = predictor.predict_json(predictor_input)このようなスニペットを取得するには、右上のUse in AllenNLPをクリックできます。

モデルの共有
最初のステップは、モデルをローカルに保存することです。例えば、archive_model メソッドを使用して、モデルを model.tar.gz ファイルとして保存できます。その後、圧縮されたモデルを Hub にプッシュできます。allennlp でモデルをトレーニングすると、モデルは自動的にシリアライズされるため、それを優先的なオプションとして使用できます。
AllenNLP CLIの使用
CLIでプッシュするには、以下に示すallennlp push_to_hfコマンドを使用できます。
allennlp push_to_hf --repo_name test_allennlp --archive_path model
| 引数 | 型 | 説明 |
|---|---|---|
--repo_name, -n | str / Path | Hub上のリポジトリ名。 |
--organization, -o | str | パイプラインをアップロードする組織の任意の名前。 |
--serialization-dir, -s | str / Path | シリアライズされたモデルを含むディレクトリへのパス。 |
--archive-path, -a | str / Path | シリアライズパスではなく、圧縮されたモデル(例: model/model.tar.gz)を使用している場合は、このフラグを使用できます。 |
--local-repo-path, -l | str / Path | モデルリポジトリのローカルパス(存在しない場合は作成されます)。デフォルトでは、現在の作業ディレクトリ内のhubです。 |
--commit-message, -c | str | 更新に使用するコミットメッセージ。デフォルトは"update repository"です。 |
Pythonスクリプトから
push_to_hf 関数は、bash スクリプトと同じパラメータを持っています。
from allennlp.common.push_to_hf import push_to_hf
serialization_dir = "path/to/serialization/directory"
push_to_hf(
repo_name="my_repo_name",
serialization_dir=serialization_dir,
local_repo_path=self.local_repo_path
)わずか1分で、モデルをHubに公開し、ブラウザで直接試して、コミュニティの他のメンバーと共有できます。必要なメタデータはすべて自動的にアップロードされます!