大規模言語モデル入門 の輪読会を開催したので、発表に使った資料を一部修正して公開します。
他の章の資料も公開していくので、よろしければご覧ください。
- 【勉強会資料】 大規模言語モデル入門 第1章 はじめに
- 【勉強会資料】 大規模言語モデル入門 第2章 Transformer
- 【勉強会資料】 大規模言語モデル入門 第3章 大規模言語モデルの基礎
- 【勉強会資料】 大規模言語モデル入門 第4章 大規模言語モデルの進展
- 【勉強会資料】 大規模言語モデル入門 第5章-1 大規模言語モデルのファインチューニング
- 【勉強会資料】 大規模言語モデル入門 第5章-2 大規模言語モデルのファインチューニング
- 【勉強会資料】 大規模言語モデル入門 第6章 固有表現認識
- 【勉強会資料】 大規模言語モデル入門 第7章 要約生成
- 【勉強会資料】 大規模言語モデル入門 第8章 文埋め込み
- 【勉強会資料】 大規模言語モデル入門 第9章 質問応答
日本語ベンチマーク
ヤフーと早稲田大学の共同研究で構築された、日本語理解能力を評価するベンチマーク。
JGLUE(Japanese General Language Understanding Evaluation)
もう一度データセットについて
データセット(dataset)とはモデルの学習や評価のためにまとめられたデータ
データセットを分割しているのは、モデルが学習データに含まれない未知なデータに対して発揮する汎化性能を計測するため。
- 訓練セット:モデルが学習するためのデータ
- 検証セット:モデルのハイパラメータや調整や選択のためのデータ
- テストセット:最終的な性能評価のためのデータ
大規模言語モデルのためのベンチマーク
言語モデルの汎用的な言語知識を評価するために様々なベンチマークが提案されている。
進化が速いためベンチマークも日々進化しているが、英語中心の物が多い。
・GLUE(General Language Understanding Evalutation) : ベンチマークの先駆け
・SuperGLUE : より難しいタスクを集めたもの
・BIG-Bench : 非常に多様なタスク
・HELM : 精度だけではない多様な評価項目を考慮している。
JGLUEに含まれるタスクとデータセット
各データセットに対し訓練セットと検証セットは公開されているが、テストセットは公開されていない。
タスク | データセット |
---|---|
文章分類 | MARC-ja JCola |
文ペア関係予測 | JSTS JNLI |
質疑応答 | JSQuAD JCommonsenseQA |
文章分類
あらかじめ定義されたラベルに基づいて、一つの文章を分類するタスク
ニュース記事の「経済」や「スポーツ」や、極性の「肯定的」や「否定的」
文法が正しいかどうかも文章分類に属する。
MARC-jaは多言語商品レビューコーパスMARCから日本語のレビューを抽出したもの。
5段階評価の1,2を否定的、4,5を肯定的としてラベル付けした二値分類。
JCoLA(Japanese Corpus of Linguistic Acceptabiity)は文法的な容認判断能力を評価するデータセット。
論文から人手で集めた分と、それを改変した文が含まれている。
各文が文法的に正しいかどうかの二値分類。
文章ペア関係予測
どれだけ文が似ているかの判定や、二つの文の意味が合致するかどうか。
JSTSは意味的類似度計算のデータセット。文のペアが0~5のスコアで付与。
JNLIは自然言語推論のデータセットで、前提文が仮説文に対して「含意」「矛盾」「中立」のラベルが付与されている。どちらも画像に付与された2つの説明文から作成。
質疑応答
与えられた質問に対する答えを出力するタスク
JSQuADはwikipediaの記事から抽出し、人間が適当な質問を作成してデータセットを作成。
JCommoonsenseQAは、常識推論能力評価するための他選択式質問応答のデータセット。
ー感情分析モデルの実装ー
pytorchのモデルにデータを入力するforward関数(前向き計算)
1:クラスが初期化されるときに__init__メソッドが定義されてモデルの構造決まる
2:モデルにデータ与えると、forwarf関数が呼ばれる
3:forwarf関数内、データは__init__で定義した層を順番に通過
4:データが最後の層を通過した後、returnで帰ってくる