BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Googleが自然言語処理トレーニング技術のBERTをオープンソース公開

Googleが自然言語処理トレーニング技術のBERTをオープンソース公開

ブックマーク

原文(投稿日:2018/11/21)へのリンク

先日のブログ記事で、Googleは、自然言語処理(NLP)アプリケーションのための最先端のトレーニング技術であるBERTのオープンソース化を発表した。同社がこの決定を下した理由のひとつは、開発者が利用可能な公開データセットが不足していることにある。さらにBERTには、NLPの有効性を向上する新たな双方向技術も含まれている。開発者や研究者がNLPモデルのトレーニングに要する時間を短縮するため、Googleは、Cloud Tensor Processing Unit(TPU)の最適化も行った。これによってモデルのトレーニングに必要な時間は、単一のGPUを使った場合の数時間に対して、30分に短縮されている。

開発者が利用可能なNLPトレーニングデータは不足している、とGoogleは考えている。同社の研究者であるJacob Devlin氏とMing-Wei Change氏は、データセットの公開が重要である理由を次のように説明する。

自然言語処理(NLP)における最大の課題のひとつは、トレーニングデータの不足です。NLPは数多くの異なるタスクからなる多様な分野であるため、タスク固有のデータセットのほとんどが、人の手によってラベル付けられた、数千から数十万のトレーニングサンプルを持つに過ぎません。一方で、今日のディープラーニングベースのNLPモデルでは、大量のデータを使うことに大きなメリットがあり、数百万から数十億というトレーニングサンプルでトレーニングすることによって向上が見込めるのです。

さらにGoogleの研究者たちは、Webの一般的なテキストを含む大容量データセットを使って汎用言語表現モデルをトレーニングするための、BERT(Bidirectional Encoder Representations from Transformers)という新技術も開発した。これは事前学習(pre-training)とも呼ばれている。事前学習が重要な理由について、Devlin氏は次のように説明する。

事前学習されたモデルは、質問応答や感情分析といった小規模データのNLPタスクに合わせて微調整することが可能です。その結果として、同じデータでスクラッチからトレーニングした場合に比べると、精度が大幅に向上するのです。

BERTには、オープンソースの機械学習フレームワークであるTensorFlowと、事前学習した言語表現モデルに基づいて構築されたソースコードが含まれている。Googleは11個のNLPタスクに関する最新結果について論証した関連論文を発表しており、これにはSQuAD(Stanford Question Answering Dataset) v1.1に対する実行結果も含まれている。

BERTと他のアプローチとの違いは、半教師つき(semi-supervised)シーケンス学習、生成的事前学習(Generative Pre-Training)、ELMo、ULMFitなど、事前学習による文脈表現でどのように機能するか、という点に基づいている。しかしBERTを本当に際立たせているのは、プレーンテキストコーパスのみを使用して事前学習された、初の双方向教師なし(unsupervised)言語表現である点だ。このアプローチがユニークな理由について、Devlin氏は次のように説明する。

事前学習した表現は、文脈自由(context-free)および文脈(contextual)のいずれも可能で、さらに文脈表現では、単一方向(unidirectional)と双方向(bidirectional)が可能です。word2vecやGloVeなどの文脈自由モデルは、語彙内の各単語に対してひとつの単語埋め込み表現を生成します。この場合、“bank”という単語は、“bank account(銀行口座)”と“bank of the river(川岸)”で同じ文脈自由表現を持つことになります。

文脈モデルはこれとは違い、文中の他の単語に基づいた単語表現を生成します。例えば、“I accessed the bank account”という文に対して、単一方向の文脈モデルは、“account”ではなく“I accessed the”に基づいて“bank”を表現します。しかしBERTは、前後両方の文脈を使用して“bank”を表現します — “I accessed the ... account” — ディープニューラルネットワークの非常に深い部分から開始して、徹底的に双方向化するのです。

単一方向モデルは、各単語を文中の前の単語に基づいて予測することで機能する。これまで双方向トレーニングでは、“次の”予測単語が“前の”予測単語を振り返ることにより、単語が多層モデルになることを避けられないという難しさがあった。BERTはこの問題に、単語をマスクすることで対処している。

イメージ引用: https://ai.googleblog.com/2018/11/open-sourcing-bert-state-of-art-pre.html

BERTで採用された新たな技術に加えて、GoogleはCloud TPUを拡張して、開発者や研究者が短時間でモデルの試験、デバッグ、調整を行なうことを可能にした。これらの投資によって、既存の事前学習モデルの能力を越えることができた。

BERTはtensor2tensorライブラリの他、GitHubからも入手可能である。

 
 

この記事を評価

採用ステージ
スタイル
 

この記事に星をつける

おすすめ度
スタイル

BT