Google AIの2018 BertのPytorch実装、簡単な注釈付き
BERT 2018 BERT:言語理解のための深い双方向変圧器の事前トレーニングペーパーURL:https://arxiv.org/abs/1810.04805
Google AIのBert Paperは、Squad V1.1 QAタスクのHumanF1スコアを上回るなど、さまざまなNLPタスク(新しい17 NLPタスクSOTA)の驚くべき結果を示しています。このペーパーでは、適切な言語モデルトレーニング方法を備えた以前の言語モデルの代替として、変圧器(自己attention)ベースのエンコーダーが強力に使用できることを証明しました。さらに重要なことは、この事前に訓練された言語モデルを、タスク固有のモデルアーキテクチャを作成せずにNLPタスクに転送できることを示しました。
この驚くべき結果はNLPの歴史の記録であり、Bertに関する多くのさらなる論文がすぐに公開されると予想しています。
このレポはBertの実装です。コードは非常にシンプルで、早く理解しやすいです。これらのコードのいくつかは、注釈付き変圧器に基づいています
現在、このプロジェクトは進捗状況に取り組んでいます。コードはまだ検証されていません。
pip install bert-pytorch
注意:コーパスは、タブ( t)セパレーターを使用して1つの1行に2つの文で準備する必要があります
Welcome to the t the junglen
I can stay t here all nightn
またはトークン化されたコーパス(トークン化はパッケージにありません)
Wel_ _come _to _the t _the _junglen
_I _can _stay t _here _all _nightn
bert-vocab -c data/corpus.small -o data/vocab.smallbert -c data/corpus.small -v data/vocab.small -o output/bert.model論文では、著者は「マスクされた言語モデル」および「次の文を予測する」という新しい言語モデルトレーニング方法を示しています。
オリジナルペーパー:3.3.1タスク#1:マスクLM
Input Sequence : The man went to [MASK] store with [MASK] dog
Target Sequence : the his
ランダムに入力トークンの15%は、下のサブレールに基づいて、何かに変更されます
[MASK]トークンになります[RANDOM]トークン(別の単語)になるつもりですオリジナルペーパー:3.3.2タスク#2:次の文の予測
Input : [CLS] the man went to the store [SEP] he bought a gallon of milk [SEP]
Label : Is Next
Input = [CLS] the man heading to the store [SEP] penguin [MASK] are flight ##less birds [SEP]
Label = NotNext
「この文は継続的に接続できますか?」
関係を理解する、言語モデリングによって直接キャプチャされない2つのテキスト文の間の
Junseong Kim、Scatter Lab([email protected] / [email protected])
ライセンスファイルに書かれたApache2.0ライセンスに続くこのプロジェクト
Copyright 2018 Junseong Kim、Scatter Lab、それぞれのBertの寄稿者
Copyright(c)2018 Alexander Rush:The Annotated Trasnformer