Slide 1

Slide 1 text

大規模言語モデル入門 輪読会 第一章 Presenter 駒井雅之 2023.12.18 @ https://opendatalab.connpass.com/

Slide 2

Slide 2 text

はじめまして … 自己紹介をさせてください ● 駒井雅之 ● 32歳(1991年 4月24日誕) ● 2016年4月 NTTデータに入社 ● 2021年7月 シンプルフォーム社に入社 ● 趣味は筋トレ、脱出ゲーム、 カレー作り、ボードゲーム等 アジャンタ石窟(インド)にて

Slide 3

Slide 3 text

シンプルフォーム社のご紹介 https://www.simpleform.co.jp/#about

Slide 4

Slide 4 text

なぜ本書を輪読するか ● Generative Pretrained Transformer(GPT)の興隆が凄まじい 図 GPTとAIとのトレンドの比較(Googleトレンドより)

Slide 5

Slide 5 text

なぜ本書を輪読するか ● GPTを用いた製品が数多く登場した ● 技術者であるならばその原理にまで踏み込めるべき ○ ツールを使える人材はいずれ飽和する ● 和書として登場した「大規模言語モデル入門」を通 して、オープンなコミュニティで学びあいたい

Slide 6

Slide 6 text

前書き

Slide 7

Slide 7 text

前書き ● 大規模言語モデルが注目を集めている ● 大規模言語モデルの「技術面」に興味を持つ方向けの入門書 ○ word2vec~ChatGPTに至るまで、系統立てて説明 ○ 本書の後半ではtransformers(ライブラリ)を用いて、自 然言語処理モデルを開発する方法を学ぶ ● 想定読者はエンジニア、学生、研究者 ○ (残念ながら)機械学習もしくはプログラミングの1冊目 の本としては推奨できない ● https://github.com/ghmagazine/llm-book にてソースを公開

Slide 8

Slide 8 text

第一章 はじめに

Slide 9

Slide 9 text

1.1 transformersを使って自然言語処理を解いてみよう キーワード 自然言語処理とtransformers ● 自然言語処理 ○ 人間が使用する言語をコンピュータで扱う学問 ○ 近年、NNベースの大規模言語モデルが標準的に ● 大規模言語モデルを扱うライブラリの一つがtransformers ○ 注意:transformersというライブラリ名 ○ アルゴリズムとしてのtransformerは後半で登場 注意事項 ライブラリ名はtransformers、モデル名はTransformerと記す

Slide 10

Slide 10 text

1.1 transformersを使って自然言語処理を解いてみよう 問題設定 本書にて記される 自然言語処理の問題設定 ● 文書分類 ● 自然言語推論 ● 意味的類似度計算 ● 固有表現認識 ● 要約生成 本書はGoogle Colaboratory (Colab)上で動作するコードも提供

Slide 11

Slide 11 text

1.1 transformersを使って自然言語処理を解いてみよう 文書分類 テキストを予め定められたラベルに分類 図 文書分類の処理の例(極性分類)

Slide 12

Slide 12 text

1.1 transformersを使って自然言語処理を解いてみよう 自然言語 推論 二種テキストの論理関係を予測 図 自然言語推論(含意関係認識、entailname=含意)の例

Slide 13

Slide 13 text

1.1 transformersを使って自然言語処理を解いてみよう 意味的類似度計算 (semantic textural similarity, STS) 2種テキスト間の類似性を評価 図 類似度計算の例。0~5での範囲で予測、5が類似度が高い。

Slide 14

Slide 14 text

1.1 transformersを使って自然言語処理を解いてみよう 固有表現 認識 人名や地域名などの固有表現を抽出 図 固有表現認識(人名と地名を抽出)の例

Slide 15

Slide 15 text

1.1 transformersを使って自然言語処理を解いてみよう 要約生成 テキストから短い要約を生成 図 要約生成の例

Slide 16

Slide 16 text

1.1 transformersを使って自然言語処理を解いてみよう その他 自然言語処理の 主要な問題設定としては以下がある ● 本書で扱う自然言語処理の問題設定 ○ 質問応答 … 質問に対してコンピュータが回答 ● 本書では扱わない自然言語処理の問題設定 ○ 機械翻訳 … 原言語のテキストを目的言語に翻訳 ○ 対話システム … コンピュータと人間とで対話 ○ 形態素解析 … 形態素(意味を持つ最小単位)に文を分割 ○ 構文解析 … 文の構造を解析、係り受け解析など。 ○ 共参照解析 … 名詞句が同一のものを指しているか判断

Slide 17

Slide 17 text

1.2 transformersの基本的な使い方 transformers の使い方 モデル名+AutoClasses群で実装する 図 言語生成の例。左はabeja、右はrinnaモデルを使用

Slide 18

Slide 18 text

1.3 単語埋め込みとニューラルネットワークの基礎 単語の意味を 扱う方法 伝統的には辞書ベースが多いが、 今やニューラルネットベースが主流 ● word2vec … 分布仮説(単語の意味は周辺に出現する単語に よって表せる)に基づき、埋込ベクトルを獲得する 図 窓幅=2の予測例 図 埋込ベクトルの例 

Slide 19

Slide 19 text

● 語彙V={w1,w2, …, wn}が与えられ、|V|×Dの行列X, Uを用意 する。中央単語wtが与えられ、周辺単語wcの確率は: 1.3 単語埋め込みとニューラルネットワークの基礎 word2vecの 概説 埋込ベクトルを用いて周辺単語を予測 予測確率を最大化 ● 上記の計算式の元、次の目的関数を最大化する。pは窓幅。 ベクトル次元D、窓幅な どはハイパーパラメータ と呼ぶ 計算コストの削減のた め、負例サンプリングを することがある

Slide 20

Slide 20 text

● 以下の数式でパラメータを更新する。αは学習率である: 1.3 単語埋め込みとニューラルネットワークの基礎 word2vecの 概説 埋込ベクトルを用いて周辺単語を予測 予測確率を最大化

Slide 21

Slide 21 text

1.4 大規模言語モデルとは 大規模言語 モデル 事前学習した大規模な ニューラルネット言語モデル ● word2vec以降、文脈を考慮した単語埋め込みが登場したり、 機械翻訳の分野でTransformerという優れたモデルが登場 ● 事前学習した大規模なニューラルネットワークを「大規模言 語モデル」や「事前学習済み言語モデル(PLM)」と呼ぶ ● PLM+ファインチューニング、 PLM+プロンプトによる解法が増えつつある

Slide 22

Slide 22 text

1.4 大規模言語モデルとは 活用例 Transformerを用いた ファインチューニングの例

Slide 23

Slide 23 text

さいごに まとめ 大規模言語モデル入門の 第一章について紹介 ● 「なぜ本書を学ぶか」について説明 ● transformersの使い方と、w2v~Transformerの概要を説明 ○ transformersは非常に簡単に使えるライブラリ ○ Transformerの詳細は第二章以降で説明される ● 次回の発表者: ○ 1/9(火)シンプルフォーム社の小林さん

Slide 24

Slide 24 text

ご清聴ありがとうございました