SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
!1
BERT: Pre-training of Deep Bidirectional Transformers for
Language Understanding
Kosuke Suzuki
Kyoto University, Physical Engineering B3
行なったこと
• BERTを動かしてみた
- 一般の方が公開していたPyTorchコードを参考に実装
- 日本語Wikpediaをコーパスに事前学習 (コーパスサイズ2.5GB)
- Googleが公式に発表しているものよりはるかに小さいモデルサイズ 

(8 Layers x 8 Heads, 256 hidden dim)
- だいたい10 epochs くらい. (8 hours x 10 epochs) 

AWS GPU V100 4つ x 80 hours (10万円くらい)
- Next Sentence Prediction Acc rate 90% 程度まで引き上げたところで終了
- Jupyter Notebook 形式で公開済み
• 今回の考察内容の詳細はこちらに公開済み
!2
書誌情報
•Title
– BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
•URL
– ArXiv
•著者
–Jacob Devlin Ming-Wei Chang Kenton Lee Kristina Toutanova
–Google AI Language
•概要
–Bidirectional Transformerをユニットにフルモデルで構成したモデル
–事前学習タスクとして、マスク単語予測タスク、隣接文判定タスクを与える
–8つのタスクでSOTA達成
–Googleが事前学習済みモデルを公開済み / TensorFlow / PyTorch
!3
一分でBERTをおさらい
• Googleが発表したPre-trainedモデル
• 8つのタスクで軒並みSOTAを叩き出しDL for NLP界隈で

盛り上がっている
• Transformer (Self-Attention) を多層に積み重ねた非常に

シンプルなモデル
• 事前学習に大規模コーパスを使用する

GoogleはWikipediaとBook corpusを使用
• 事前学習タスクはふたつ
• 文中でMask or shuffleされた箇所の正しい単語を予測させる
• 二文を与え、文章が隣接しているものか否かを判定させる
• 事前学習の特性上、学習に膨大な時間がかかる

→ お金がかかるので、気軽に試しにくい
!4
@_RyobotさんのTweetより引用
!5
•QA応答のタスクSQuADでは従来のアプローチが

一掃され、人間のスコアと争う事態に

(ついこの前まで人間が負けていました)
一分でBERTをおさらい
動機
!6
BERTの内部動作をみてみよう
背景
!7
@taku910さんのツイートを引用
実験手法1
•手法1
- 全ての Attention heads の出力の加算平均を取り可視化する
- Attention状況の可視化は、Attention機構を持つモデルの観察で行われる定石手段
!8
例1) 極性分析
例2) 翻訳
実験手法2
!9
•手法2
- BERTによって生成される単語の内部状態を可視化する
- Word2Vecでよく行われていた手法
- 異なるカテゴリの単語がどのようにマッピングされるかを観察する
- 単語の内部状態をPCAで二次元に圧縮し可視化

- 多義語が空間上でどのようにマッピングされるかも観察する
-Word2Vecでは表層系が同じ単語は一点にまとめられていた
-文脈情報をとらえる(と言われる)BERTなら多義語解釈も可能か
実験結果(手法1)
!10
赤:通常の単語にかかるAttention, 緑:Mask単語にかかるAttention
実験結果(手法1)
!11
• 極性分類や翻訳の時のようなわかりやすいAttentionの傾向は見えない
- Mask単語予測と隣接文予測の複合タスクを事前学習タスクとしている
- そもそも人間的に自然なAttentionというのがそもそも自明でないから比較できない?
実験結果(手法1)
!12
• 単語にかかるAttention平均値(X軸)と単語の出現頻度(Y軸)の関係性を調べた
- Attentionが強くなるほど、単語の出現頻度は少なくなる傾向
- 「珍しい単語に注意が集まる」という極めて人間的な傾向
- 「珍しい単語」=「説明力の高い単語」という仮説
実験結果(手法2)
!13
• カテゴリごとの分類はほぼできている
様子
• 全く同じ単語でも空間上の違う点にマッ
ピングされる
実験結果(手法2)
!14
ちなみに学習に用いるコーパスサイズに違いによる内部状態の分布の差
100MB 500MB 2500MB
コーパスサイズが大きくなるほどクラスターがはっきりしてきます
実験結果(手法2)
!15
多義語分類1
【首】
辞書的な意味
- 人体の一部の意の「首」
- 解雇、リストラの意の「首」
- 市長、知事などリーダーの意の「首」
内部状態空間では
1. 知事、市長などの付近の「首」
2. 解雇、退職などの付近の「首」
3. スーツ、ワンピースなどの付近の「首」
実験結果(手法2)
!16
多義語分類1
【右】【左】
辞書的な意味
- 方向の右・左
- 思想傾向の右・左
内部状態空間では
1. 革新、保守などの付近の「右」「左」
2. スーツ、ワンピースなどの付近の「右」「左」
→ 多義語解釈に基づいたマッピングを行なっていそう
Appendix
!17
ある多クラス分類データにBERTを試験的に応用した結果
方針1. BERTから出るCLSトークンをSVMで分類する(BERTモデルはフリーズ)
方針2. BERTから出るT1~Tnトークンの加算平均をSVMで分類する
方針3. BoW + Countベースでベクトル化しSVMで分類する
方針4. BoW + TFIDFベースでベクトル化しSVMで分類する
方針1
方針2
方針3
方針4
感想
• 使用したデータベースの特性上、データの拡張はキー
ワードをベースに人為的に行っている

→ BoWアプローチが有利か?(BERTの擁護)
• では、データベースに存在しない単語を用いたクエリ
が来た場合に文章分類を行うタスクではBERTが有利
か?(BERTの擁護)
• BERTのパラメタ更新をフリーズさせて、ただの特徴量
抽出機としてだけ使うのには限界がありそう。セオリー
通りFineTuning時にパラメタ更新を行うべきか。
まとめ・感想
!18
• まとめ
- BERTは事前学習の際に、一部のDiscriminativeな単語に注意を当てていると思われる
- 注意が強い単語は出現頻度が低い(レア)な傾向がある

- BERTは文脈に基づいた多義語解釈が可能
- Word2Vecで一点に押しつぶされていた情報がBERTでは損失しない
- 多様な応用可能性
• 感想
- 汎用モデルとはいえ、少量データセットのタスクにおいては性能がいまひとつ
- NLPでは原始的なアルゴリズムが性能を発揮することが多いが、人間の認知回路に近づいたBERTによっ
てその所以が少し解明されるかも?
- BERTのAttention状況がidf (Inverse Document Frequency、逆文書頻度) と類似しているように思える




Contenu connexe

Tendances

Tendances (20)

CV分野におけるサーベイ方法
CV分野におけるサーベイ方法CV分野におけるサーベイ方法
CV分野におけるサーベイ方法
 
Transformerを雰囲気で理解する
Transformerを雰囲気で理解するTransformerを雰囲気で理解する
Transformerを雰囲気で理解する
 
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
 
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
 
「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究について
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイ
 
PILCO - 第一回高橋研究室モデルベース強化学習勉強会
PILCO - 第一回高橋研究室モデルベース強化学習勉強会PILCO - 第一回高橋研究室モデルベース強化学習勉強会
PILCO - 第一回高橋研究室モデルベース強化学習勉強会
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
 
BERT+XLNet+RoBERTa
BERT+XLNet+RoBERTaBERT+XLNet+RoBERTa
BERT+XLNet+RoBERTa
 
[DL輪読会]SlowFast Networks for Video Recognition
[DL輪読会]SlowFast Networks for Video Recognition[DL輪読会]SlowFast Networks for Video Recognition
[DL輪読会]SlowFast Networks for Video Recognition
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量について
 
研究効率化Tips Ver.2
研究効率化Tips Ver.2研究効率化Tips Ver.2
研究効率化Tips Ver.2
 
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
 
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するモデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留する
 
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
 

Similaire à [DL Hacks]BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

自作プライベートクラウド研究会 OpenStackアップデート
自作プライベートクラウド研究会 OpenStackアップデート自作プライベートクラウド研究会 OpenStackアップデート
自作プライベートクラウド研究会 OpenStackアップデート
Masanori Itoh
 
メガ Unity ユーザーミートアップ 2012
メガ Unity ユーザーミートアップ 2012メガ Unity ユーザーミートアップ 2012
メガ Unity ユーザーミートアップ 2012
cfm_art
 
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)
Naoki Okino
 

Similaire à [DL Hacks]BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (20)

Java 9 and Future #jjug
Java 9 and Future #jjugJava 9 and Future #jjug
Java 9 and Future #jjug
 
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット
 
Kubernetes ときどき Serverless -- cndjp第1回勉強会
Kubernetes ときどき Serverless -- cndjp第1回勉強会Kubernetes ときどき Serverless -- cndjp第1回勉強会
Kubernetes ときどき Serverless -- cndjp第1回勉強会
 
YoctoでLTSディストリを作るには
YoctoでLTSディストリを作るにはYoctoでLTSディストリを作るには
YoctoでLTSディストリを作るには
 
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書くRuby で高速なプログラムを書く
Ruby で高速なプログラムを書く
 
Edge Computing と k8s でなんか話すよ
Edge Computing と k8s でなんか話すよEdge Computing と k8s でなんか話すよ
Edge Computing と k8s でなんか話すよ
 
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack botPython × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
 
“これから”のライフサイエンス研究とバイオインフォマティクス (Next Generation Life Science & Bioinformatics)
“これから”のライフサイエンス研究とバイオインフォマティクス (Next Generation Life Science & Bioinformatics)“これから”のライフサイエンス研究とバイオインフォマティクス (Next Generation Life Science & Bioinformatics)
“これから”のライフサイエンス研究とバイオインフォマティクス (Next Generation Life Science & Bioinformatics)
 
2018 07-19dist
2018 07-19dist2018 07-19dist
2018 07-19dist
 
自作プライベートクラウド研究会 OpenStackアップデート
自作プライベートクラウド研究会 OpenStackアップデート自作プライベートクラウド研究会 OpenStackアップデート
自作プライベートクラウド研究会 OpenStackアップデート
 
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
 
メガ Unity ユーザーミートアップ 2012
メガ Unity ユーザーミートアップ 2012メガ Unity ユーザーミートアップ 2012
メガ Unity ユーザーミートアップ 2012
 
PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側
 
Dockerだけではないコンテナのはなし
DockerだけではないコンテナのはなしDockerだけではないコンテナのはなし
Dockerだけではないコンテナのはなし
 
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)
 
210728 mpy
210728 mpy210728 mpy
210728 mpy
 
20170417_Netadashi_KubeCon
20170417_Netadashi_KubeCon20170417_Netadashi_KubeCon
20170417_Netadashi_KubeCon
 
[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning
 
OpenStack Updates
OpenStack UpdatesOpenStack Updates
OpenStack Updates
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
 

Plus de Deep Learning JP

Plus de Deep Learning JP (20)

【DL輪読会】AdaptDiffuser: Diffusion Models as Adaptive Self-evolving Planners
【DL輪読会】AdaptDiffuser: Diffusion Models as Adaptive Self-evolving Planners【DL輪読会】AdaptDiffuser: Diffusion Models as Adaptive Self-evolving Planners
【DL輪読会】AdaptDiffuser: Diffusion Models as Adaptive Self-evolving Planners
 
【DL輪読会】事前学習用データセットについて
【DL輪読会】事前学習用データセットについて【DL輪読会】事前学習用データセットについて
【DL輪読会】事前学習用データセットについて
 
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
 
【DL輪読会】Zero-Shot Dual-Lens Super-Resolution
【DL輪読会】Zero-Shot Dual-Lens Super-Resolution【DL輪読会】Zero-Shot Dual-Lens Super-Resolution
【DL輪読会】Zero-Shot Dual-Lens Super-Resolution
 
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv
 
【DL輪読会】マルチモーダル LLM
【DL輪読会】マルチモーダル LLM【DL輪読会】マルチモーダル LLM
【DL輪読会】マルチモーダル LLM
 
【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...
 【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo... 【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...
【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...
 
【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition
【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition
【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition
 
【DL輪読会】Can Neural Network Memorization Be Localized?
【DL輪読会】Can Neural Network Memorization Be Localized?【DL輪読会】Can Neural Network Memorization Be Localized?
【DL輪読会】Can Neural Network Memorization Be Localized?
 
【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究について【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究について
 
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )
 
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...
 
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"
 
【DL輪読会】"Language Instructed Reinforcement Learning for Human-AI Coordination "
【DL輪読会】"Language Instructed Reinforcement Learning  for Human-AI Coordination "【DL輪読会】"Language Instructed Reinforcement Learning  for Human-AI Coordination "
【DL輪読会】"Language Instructed Reinforcement Learning for Human-AI Coordination "
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
 
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
 
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
 
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
 
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
 
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
 

Dernier

Dernier (7)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

[DL Hacks]BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding