Github: https://github.com/allenai/allennlp
PyTorch上に構築されたApache 2.0 NLPリサーチライブラリで、多種多様な言語タスクに関する最先端の深い学習モデルを開発します。
クイックスタート
AllenNLPを実行する環境を得る最速の方法は、Dockerです。 Dockerをインストールしたら、 docker run -it -p 8000:8000 --rm allennlp/allennlp:v0.4.0
を実行して、 docker run -it -p 8000:8000 --rm allennlp/allennlp:v0.4.0
を実行して、CPUまたはdocker run -it -p 8000:8000 --rm allennlp/allennlp:v0.4.0
実行される環境を取得します。
これで、次のいずれかを実行できます。
-
allennlp predict
をallennlp predict
例文でモデルを実行allennlp predict
。 -
allennlp serve
をallennlp serve
てモデルをホストするWebサービスを開始します。 - PythonインタプリタからPythonを使って対話的にAllenNLPをコーディングします。
pip
パッケージマネージャを使用してインストールすることも、このリポジトリをPython 3.6環境に複製することもできます。 より詳細な手順は以下を参照してください。
AllenNLPとは何ですか?
PyTorch上に構築されたAllenNLPは、クラウドやラップトップ上で簡単に実行できるインフラストラクチャとともに、ほぼすべてのNLP問題の新しいディープ学習モデルの設計と評価を容易にします。 AllenNLPは以下の原則で設計されました。
- ハイパーモジュラーと軽量。 PyTorchでシームレスに好きなパーツを使用してください。
- 広範囲にテストされ、拡張が容易です。 テストカバレッジは90%以上であり、サンプルモデルは寄稿のテンプレートを提供します。
- パディングとマスキングを真剣に受け 、痛みのない正しいモデルを簡単に実装できます。
- 実験的でフレンドリー。 包括的なロギングを使用して、json仕様から再現可能な実験を実行します。
AllenNLPには、Semantic Role Labeling、Question and Answering(BiDAF)、Entailment(分解可能な注意)などの高品質モデルのリファレンス実装が含まれています。
AllenNLPはAllen Institute for Artificial Intelligenceによってワシントン大学などの研究者と緊密に連携して構築され、維持管理されています。 ベスト・オブ・フィールドの研究者とソフトウェアエンジニアの専属チームにより、AllenNLPプロジェクトは最先端のモデルに高品質のエンジニアリングを提供するユニークな立場にあります。
全員 | PyTorchで構築されたオープンソースのNLP研究ライブラリ |
allennlp.commands | CLIとWebサービスのための機能 |
allennlp.data | 行列を表現するためにデータセットをロードし、文字列を整数として符号化するためのデータ処理モジュール |
allennlp.models | 最先端のモデルのコレクション |
allennlp.modules | テキスト用のPyTorchモジュールのコレクション |
allennlp.nn | イニシャライザやアクティベーション関数などのテンソルユーティリティ関数 |
allennlp.service | デモとAPIを提供するWebサーバー |
allennlp.training | トレーニングモデル用の機能 |
AllenNLPの実行
仮想環境の設定
Condaは、AllenNLPに必要なPythonのバージョンで仮想環境を設定し、依存関係をサンドボックス化することができます:
-
Python 3.6でConda環境を作成する
conda create -n allennlp python=3.6
-
Conda環境を有効にします。 (AllenNLPを使用する各端末でConda環境を有効にする必要があります。
source activate allennlp
-
ご使用の環境にAllenNLPをインストールしてください。
ピップ経由でインストールする
あなたの環境にAllenNLPをインストールするための好ましい方法は、 pip
経由です。
-
AllenNLPをインストールします。
pip install allennlp
-
http://pytorch.org/にアクセスして、ご使用のシステム用のPyTorch 0.3.1パッケージをインストールしてください。
-
spacyモデルをダウンロードしてください。
python -m spacy download en_core_web_sm
それでおしまい! 今すぐAllenNLPモデルを構築し、トレーニングする準備が整いました。
開発環境の設定
AllenNLPライブラリ自体を変更したい場合(またはPyPIにリリースされていない出血コードを使用する場合)は、GitHubからライブラリをインストールし、要件を手動でインストールする必要があります:
- まず、レポをクローン:
git clone https://github.com/allenai/allennlp.git
- ファイルをクローンした場所にディレクトリを変更します。
cd allennlp
-
必要な依存関係をインストールします。
INSTALL_TEST_REQUIREMENTS="true" ./scripts/install_requirements.sh
-
http://pytorch.org/にアクセスし、関連するpytorchパッケージをインストールしてください。
./scripts/verify.py
. ./scripts/verify.py
てインストールをテストできるはず./scripts/verify.py
。 おめでとう!
Docker開発環境の設定
3番目の方法は、Docker経由でAllenNLPを実行することです。 Dockerは、仮想マシンに、AllenNLPを実行するために設定されたすべてのものを提供します。これは、GPUを活用するか、CPU上で実行するかにかかわらずです。 Dockerはより多くの分離と一貫性を提供し、コンピューティングクラスタへの環境の配布も容易にします。
あらかじめ構築されたDockerイメージをダウンロードする
あらかじめ構築されたDocker開発環境を簡単に実行できます。 AllenNLPはDocker Cloudで構成され、マスターブランチへのすべての更新時に新しいイメージを構築します。 Docker Hubから最新のものをダウンロードするには:
docker pull allennlp/allennlp:v0.4.0
ドッカー画像の構築
さまざまな理由から、独自のAllenNLP Dockerイメージを作成する必要があるかもしれません。 同じ画像は、CPUまたはGPUのいずれかで使用できます。
まず、開発環境を設定するための上記の指示に従ってください。 次のコマンドを実行します(AllenNLPを実行するために必要な環境が完全に構築されるため、時間がかかります)。
docker build --tag allennlp/allennlp .
これで、 docker images allennlp
実行してこのイメージを表示することができます。
REPOSITORY TAG IMAGE ID CREATED SIZE
allennlp/allennlp latest b66aee6cb593 5 minutes ago 2.38GB
Dockerイメージの実行
docker run --rm -it allennlp/allennlp
イメージを実行できます。 --rm
フラグは終了時にイメージをクリーンアップし、 -it
フラグはセッションを対話式にして、dockerイメージが起動するbashシェルを使用できるようにします。
./scripts/verify.py
を実行すると、インストールをテストできます。
チーム
AllenNLPはAllen Institute for Artificial Intelligence(AI2)の支援を受けたオープンソースのプロジェクトです。 AI2は、インパクトの高いAI研究とエンジニアリングを通じて人類に貢献するという使命を持つ非営利団体です。 このコードベースに特に貢献した人の詳細については、寄稿者のページをご覧ください。