自然言語処理におけるBERTの基礎とモデル構築法および活用例<オンラインセミナー>

~ BERTの基礎、BERTを利用ためのライブラリ:transformers、BERTの軽量化手法:DistliBERT、BERTの活用例 ~

・独学では利用しにくいBERTについて、基本的な仕組みから、使いやすいライブラリやモデル構築法について修得する講座!

・BERT利用で問題となる「困難さ」「計算負荷」の解決手法を学び、BERTを有効活用し、自然言語処理のタスク精度の大幅な改善に活かそう!

オンラインセミナーの詳細はこちら:

・WEB会議システムの使い方がご不明の方は弊社でご説明いたしますのでお気軽にご相談ください。

講師の言葉

 Googleが発表した事前学習モデルBERTを利用することで、様々な自然言語処理のタスクの精度が大きく改善されました。その後Googleは、BERTを検索エンジンに採用したと発表し、「過去最大のアップデート」と大きく報じられています。現在、自然言語処理で利用されるディープラーニング手法の中で、最も注目されている手法と言えます。

 それほど画期的なモデルであるBERTですが、なかなか利用できている人はいません。その原因としては、アルゴリズムが複雑で実際に何をしているのかはっきりせず、またBERTのモデルを構築するには多大な計算機資源を必要とし、個人で専用のモデルを作ることも困難なこと等が挙げられます。

 さらにBERTの利用法としては、所望のタスク用にBERTをfine-tuningする利用が一般的ですが、BERTのモデルはTensorFlowのモデルなので、使い勝手が悪いです。また、どうやって利用したら良いかわからないという意見も見受けられます。

 本講座の目的はBERTの大枠を理解し、BERTを使えるようになることです。HuggingfaceのTransformersを利用すれば、BERTを簡単に利用できるようになります。BERTのアルゴリズムは概要程度にし、結局、どういう入出力で、何ができるのか、そしてどうやって使えばよいのかを解説します。

 利用するBERTのモデルは日本語BERTのPyTorch版のモデルです。HugginFaceで公開されているtransformersというBERT系のモデルを簡単に利用できるライブラリを用います。またBERTの軽量化モデルであるDistliBERTを紹介し、そのモデルの構築方法を解説します。DistliBERTは既存BERTのパラメータを初期値として学習できるので、小さなコーパス、低コストの計算機環境であっても、自分専用のBERTモデルを構築できます。

セミナー詳細

開催日時
  • 2020年07月10日(金) 10:30 ~ 17:30
開催場所 日本テクノセンター研修室
カテゴリー オンラインセミナーソフト・データ・画像・デザイン
受講対象者 ・自然言語処理に携わる技術者の方、BERTの利用を検討している方
予備知識 ・大学初年度の数学知識
修得知識 ・BERTについての仕組みを理解できるようになる
・HuggingFaceのtransformersを利用し、BERTを使うことができるようになる
・DistliBERTを用いて軽量版BERTモデルを構築できるようになる
プログラム

1.BERTの基礎

 BERTはSelf-Attentionを利用して、入力単語列を単語埋め込み表現列に変換します。各単語埋め込み表現が文脈に依存した埋め込み表現となっていることが、word2vecなどから得られる単語埋め込み表現とは大きく異なります。ここではまず基本となるSelf-Attentionについて解説します。Self-Attentionでは単語の位置の情報が消えてしまいますが、位置の情報を保持するために導入されたPosition Embeddingを次に解説します。次にSelf-Attentionを発展させたMulti-Head-Attentionという構造を解説します。BERTの学習にはタスクが必要ですが、BERTのタスクであるNext Sentence PredictionとMasked-Language Modelを説明します。

  (1).事前学習モデル

  (2).BERTの入出力

  (3).Self-Attention

  (4).Position Embedding

  (5).Multi-Head-Attention

  (6).学習対象となるタスク

 

2.transformersの利用

 BERTモデルの構築プログラムはTensorFlowで書かれているために、公開されているモデルもTensorFlowのモデルです。そのためBERTモデルを利用するには基本的にTensorFlowを利用します。ただTensorFlowは扱いづらく、KerasやPyTorchを利用できれば簡単です。HuggingFaceはtransformersというBERTをPyTorchで扱うためのライブラリを提供しており、これを使えばBERTを容易に利用することができます。ここでは、まずTensorFlowのBERTモデルをPyTorchのBERTモデルに変換する方法を示します。次にPyTorchのBERTモデルを使ったプログラム例を示します。

  (1).transformersとは

  (2).TensorFlowのBERTモデルをPyTorchのBERTモデルへ変換

  (3).モデルの読み込み

  (4).tokenizerの設定

  (5).fine-tuningの方法

  (6).プログラム例

 

3.DistilBERT:BERTの軽量化

 BERTの欠点としてモデルの巨大さがあります。標準モデルであってもパラメータ数は約1億1千万個もあり、学習には多大な計算機資源を要します。また構築できたモデルを利用する場合でも、その処理は重たいです。DistilBERTは、BERTを軽量化する手法の1つです。基本的にディープラーニングの「蒸留」という手法を利用して軽量化を試みています。ここでは「蒸留」という手法を説明した後に、DistliBERTのモデルを説明します。またDistliBERTのモデルの構築には「蒸留」もとのBERTモデルを必要とし、そのモデルを使ってDistliBERTのモデルの初期値を設定できます。この仕組みを使って、少量のコーパスから専用の軽量版BERTモデルを構築する方法を解説します。

  (1).蒸留 (Distillation)

  (2).DistliBERTのモデル

  (3).DistliBERTの初期値設定

  (4).DistliBERTの学習

  (5).DistliBERTモデルの利用

 

4.BERTの活用例

 BERTは様々な自然言語処理のステムに利用できます。GLUEという自然言語処理システムのベンチマークデータセットがありますが、そこで提供されいてる中でSST-2(極性分析)とMNLI(含意関係認識)とSQuAD(質問応答)を紹介し、BERTを用いてどのように解くのかを示します。またBERTへの入力は基本的に1文あるいは文のペアですが、文書を入力とした文書分類へも応用できます。文書の入力に対する手法を解説し、文書分類へのBERTの利用法を示します。

  (1).GLUE

  (2).SST-2(極性分析)

  (3).MNLI(含意関係認識)

  (4).SQuAD(質問応答)

  (5).文書分類

キーワード BERT 単語埋め込み表現 単語の位置の情報 fine-tuning transformers Deep Learning 蒸留DistliBERT PyTorch  SQuAD
タグ AI・機械学習データ分析
受講料 一般 (1名):49,500円(税込)
同時複数申込の場合(1名):44,000円(税込)
会場
日本テクノセンター研修室
〒 163-0722 東京都新宿区西新宿2-7-1 小田急第一生命ビル(22階)
- JR「新宿駅」西口から徒歩10分
- 東京メトロ丸ノ内線「西新宿駅」から徒歩8分
- 都営大江戸線「都庁前駅」から徒歩5分
電話番号 : 03-5322-5888
FAX : 03-5322-5666
こちらのセミナーは受付を終了しました。
次回開催のお知らせや、類似セミナーに関する情報を希望される方は、以下よりお問合せ下さい。
contact us contact us
各種お問い合わせは、お電話でも受け付けております。
03-5322-5888

営業時間 月~金:9:00~17:00 / 定休日:土日・祝日