>100 Views
June 05, 25
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
生成Deep Learning輪読会(9.1~9.2) 京都大学 工学部 情報学科 数理工学コース B3 稲葉 陽孔 1
アジェンダ ■ GPTとは? ■ Transformerのモデル構造 ■ 実装 2
GPTとは? 概要 テキスト生成のためのモデル・膨大なデータセットを並列で学習できる 学習フロー 1.文の次の単語を予測するタスクを用いて、事前学習を行う(言語モデリング) 2.特定のタスクのために少量のデータを元にFine tuneする 使われているモデル Transformer 3
Transformerのモデル構造 全体像(Transformer) 1.Inputされた単語をベクトル化 2.1にPositional Encodingを足す 3.2を元に、Transformer Block などによって次の単語を予測 Multi-Head Attention Transformer Block (ここではGPT Block) Transformer 4
Transformerのモデル構造 アテンションヘッド 役割:今までの文から重要な箇所のみを抽出し、次の単語を予測しやすくする 実行例 タスク:「私は犬に」に続く単語を予測 手順 アテンションヘッド ※コンテキストベクトル:次の単語の予測に用いるベクトル 5
Transformerのモデル構造 アテンションヘッド(全体像) アテンションヘッド に ×Wq Q 私 スケーリング +softmax ×Wv V は は K 犬 犬 に 私 に ×Wk 単語(ベクトル) コンテキストベクトル 単語(ベクトル) 6
Transformerのモデル構造 マルチヘッドアテンション 複数のアテンションヘッドによって得られた コンテキストベクトルを連結して出力する層 1.Q,K,Vを各アテンションヘッド層毎に変換(Linear) 2.1で得たQ,K,Vからアテンションヘッド層によって、 コンテキストベクトルを取得 3.2で得られたベクトルをconcatし、重みつき行列でかける 7
Transformerのモデル構造 因果マスキング クエリ アテンション層は入力のすべての単語を一度に処理 できるため、各単語から次に来る単語を 予測できることが理想的 →GPTがQベクトルのグループを 並列に扱いたい →因果マスキングによってタスク毎に 未来の単語を予測に使わないようにする 私 は 犬 に キー 私 は 犬 に マスキング部分 8
Transformerのモデル構造 トランスフォーマーブロック トランスフォーマー中の1つのブロック ・Layer Norm(層正規化) ・Fully-Connected(全結合層) ・スキップ接続 がある 複数組み合わせることで、トランスフォーマを作成 Transformer Block Transformer 9
Transformerのモデル構造 トランスフォーマーブロック 層正規化とバッチ正規化の違い 層正規化:1データの1単語の特徴量を正規化 バッチ正規化:バッチ内の特徴量1つを正規化 10
Transformerのモデル構造 位置エンコーディング 今までの課題点 キーとクエリの積を並列的に計算した際、 以下の場合においてコンテキストベクトルが同じになる ・私は犬に..(えさを与えた?) ・犬は私に..(ほえた?) →位置エンコーディングによって 「どの場所に」単語があるかの情報を付与 11
Transformerのモデル構造 位置エンコーディング PEの可視化図 式 i:トークン埋め込み後のベクトルにおける各次元のインデックス値 pos:トークンの位置 d_model:トークン埋め込み後のベクトル次元数 12
実装 こちらにございます (学習に15分ほどかかります) 13