生成AIパスポート › Web参考書 › 第2章

Transformerモデル:Self-Attention、位置エンコーディング、GPTとBERT

第2章 生成AI(ジェネレーティブAI) / 節 2

シラバスのキーワード: TransformerモデルAttention層自己注意力(Self-Attention)Attention Mechanism位置エンコーディングアーキテクチャGPTモデルOpenAIBERTモデルMLM(Masked Language Model)NSP(Next Sentence Prediction)RoBERTaALBERT(a Lite BERT)

本文を読んだあと、覚えているか確認してください。

Transformerとは

Transformerは、2017年に Google の研究者らが論文「Attention Is All You Need」で発表したアーキテクチャです。RNN のように系列を1つずつ順番に処理するのではなく、**Attention(注意機構)**によって系列内のすべての要素の関係を同時に計算します。これにより、離れた単語同士の関係を直接とらえられ、並列計算もできるため、大規模な学習が可能になりました。ChatGPT を含む現在の大規模言語モデルはほぼすべて Transformer を基盤にしています。もともとは機械翻訳のために提案されましたが、画像や音声にも応用されています。

Self-Attention と位置エンコーディング

**Self-Attention(自己注意力)**は、文中の各単語が同じ文の中の他のどの単語とどれくらい関係が深いかを計算し、文脈に応じて重みづけする仕組みです。「それ」が何を指すか、といった離れた関係もとらえられます。

ただし Self-Attention はすべての単語を同時に扱うため、そのままでは「何番目の単語か」という語順の情報を持ちません。そこで各単語の位置を表す情報を加える位置エンコーディングが必要になります。

エンコーダとデコーダ、GPT と BERT

Transformer は、入力を理解するエンコーダと、出力を生成するデコーダで構成されます。

GPT BERT
開発 OpenAI Google(2018年)
使う部分 デコーダ エンコーダ
読み方 左から右へ、次の単語を予測(自己回帰) 文全体を双方向に読む
得意 文章生成 文章の分類、質問応答などの「理解」

GPT(Generative Pre-trained Transformer)は、大量のテキストで事前学習し、次の単語を順に予測して文章を生成します。BERTは、事前学習に MLM(Masked Language Model)(文中の一部の単語を隠して前後の文脈から当てる)と NSP(Next Sentence Prediction)(2つの文が連続しているかを判定する)を用い、文脈を深く理解する表現を獲得しました。

BERT の派生モデル

試験で問われる観点

この節の練習問題(16問)

答えを見る前に選んでから開いてください。同じ問題は章別演習でランダム出題されます。

  1. 問1
    Transformerモデルの中核となる仕組みで、「文中の各単語が他のどの単語とどれくらい関係が深いか」を計算して重みづけする機構を何と呼ぶか。正しいものを1つ選びなさい。
    1. 1自己注意力(Self-Attention)
    2. 2ゲート機構(Gating Mechanism)
    3. 3潜在ベクトル(Latent Vector)
    4. 4畳み込み(Convolution)
    答えと解説

    正解: 1

    Self-Attention(自己注意力)は、入力系列の各要素が同じ系列内の他の要素にどれだけ注目すべきかを計算し、文脈に応じた重みづけを行う仕組みです。これにより離れた単語同士の関係も直接とらえられ、RNNのように順番に処理する必要がないため並列計算もできます。畳み込みはCNNの仕組み、ゲート機構はLSTMやGRUで情報の保持と忘却を制御する仕組み、潜在ベクトルはVAEなどで使う圧縮表現で、Transformerの中核機構ではありません。

  2. 問2
    Transformerモデルにおいて「位置エンコーディング」が必要とされる理由として、最も適切なものを1つ選びなさい。
    1. 1Self-Attentionは単語を1つずつ順番に処理するため、長い文では先頭の単語の情報が薄れ、位置を補う必要があるから
    2. 2Self-Attentionは単語を順番に処理しないため、そのままでは語順の情報を持たず、各単語の位置情報を別途与える必要があるから
    3. 3単語の埋め込みベクトルは文ごとに次元数が変わるため、位置エンコーディングで次元をそろえて入力する必要があるから
    4. 4Transformerは畳み込み層で文を処理するため、フィルタの適用位置を明示しないと単語の意味を計算できないから
    答えと解説

    正解: 2

    Self-Attentionは系列内のすべての要素を同時に扱うため、RNNと違って「何番目の単語か」という情報を自然には持ちません。そこで各単語の位置を表す情報(位置エンコーディング)を単語の表現に加えることで、語順を区別できるようにしています。単語を順番に処理して先頭の情報が薄れるのはRNNの性質でSelf-Attentionには当てはまりません。埋め込みの次元数は文によって変わらず、Transformerは畳み込み層で文を処理するわけでもありません。

  3. 問3
    GPTモデルとBERTモデルの違いに関する説明として、最も適切なものを1つ選びなさい。
    1. 1GPTとBERTはどちらもRNNを土台にしたモデルで、GPTは長い文章の生成に、BERTは短い文章の翻訳に特化している点が異なる。
    2. 2GPTは文全体を双方向に読んで理解する分類・抽出向きのモデルで、BERTは前の単語から次の単語を予測する生成向きのモデルである。
    3. 3GPTは前の単語から次の単語を予測する生成向きのモデルで、BERTは文全体を双方向に読んで理解する分類・抽出向きのモデルである。
    4. 4GPTはGoogleが画像と文章の両方を扱うために開発し、BERTはOpenAIが音声認識のために開発したモデルである。
    答えと解説

    正解: 3

    GPT(Generative Pre-trained Transformer)はOpenAIが開発した、左から右へ次の単語を予測する自己回帰型のモデルで、文章生成に向いています。BERTはGoogleが2018年に発表した、文の前後両方向の文脈を同時に読むモデルで、文章分類や質問応答など「理解」のタスクに向いています。どちらもTransformerをベースにしており、RNNを土台にしたモデルではありません。GPTとBERTの役割を入れ替えた説明や、開発元を逆にした説明は誤りです。

  4. 問4
    BERTの事前学習で使われるMLM(Masked Language Model)の説明として、最も適切なものを1つ選びなさい。
    1. 1文の先頭から順に単語を読み、直前までの文脈から次に続く単語を予測するように学習する。
    2. 22つの文を入力し、後の文が前の文の直後に続く文かどうかを判定するように学習する。
    3. 3文中の単語を同義語に置き換え(言い換え)、元の文と意味が同じかどうかを判定するように学習する。
    4. 4文中の一部の単語を隠し(マスクし)、前後の文脈からその単語を当てるように学習する。
    答えと解説

    正解: 4

    MLMは、入力文の一部の単語を[MASK]に置き換え、周囲の文脈からその単語を予測させる学習方法です。前後両方向の情報を使うため、BERTは文脈を深く理解する表現を獲得できます。最後の単語だけを予測するのはGPTのような自己回帰モデルの考え方に近く、個人情報の伏せ字や画像の復元はMLMの説明ではありません。

  5. 問5
    BERTの事前学習で用いられたNSP(Next Sentence Prediction)とはどのような課題か。最も適切なものを1つ選びなさい。
    1. 12つの文を与え、2文目が1文目の直後に続く文かどうかを判定する課題
    2. 21つの文を与え、その文が肯定的か否定的かの感情極性を判定する課題
    3. 31つの文を与え、その直後に続く1文を単語ごとに自由に生成する課題
    4. 4文中の一部の単語をマスクし、前後の文脈からその単語を当てる課題
    答えと解説

    正解: 1

    NSPは、文Aと文Bのペアを入力し、文Bが実際に文Aの次に続く文かどうかを二択で判定させる事前学習の課題です。文と文の関係を学ばせることが目的でした。感情分類や固有名詞抽出はBERTを応用する下流タスクであり、次の文を自由に生成するのは生成モデルの課題であって、NSPではありません。

  6. 問6
    BERTの派生モデルであるRoBERTaとALBERTの特徴の組み合わせとして、最も適切なものを1つ選びなさい。
    1. 1RoBERTa: パラメータを層間で共有して軽量化した。ALBERT: NSPを廃止し、より大量のデータで長く学習して性能を高めた。
    2. 2RoBERTa: NSPを廃止しより大量のデータで長く学習することで性能を高めた。ALBERT: パラメータを共有・分解して軽量化した。
    3. 3RoBERTa: 双方向の文脈を捨てて左から右へ次の単語を予測する形に変えた。ALBERT: 蒸留によって層の数を半分に減らして高速化した。
    4. 4RoBERTa: 文全体ではなく文字単位でトークン化して語彙を削減した。ALBERT: 入力と出力を入れ替えた自己回帰型に変更した。
    答えと解説

    正解: 2

    RoBERTaは、BERTの学習方法を見直し、NSPを廃止して、より大量のデータと長い学習時間、動的なマスキングによって性能を高めたモデルです。ALBERT(A Lite BERT)は、埋め込み行列の分解や層間でのパラメータ共有によってパラメータ数を大きく減らし、軽量化したモデルです。両者の特徴を入れ替えた説明は誤りです。双方向の文脈を捨てて自己回帰型にした、蒸留で層を半分にした、文字単位でトークン化したといった変更は、いずれもRoBERTaやALBERTの特徴ではありません。

  7. 問7
    Transformerモデルに関する記述として、不適切なものを1つ選びなさい。
    1. 1Attention機構によって、離れた位置にある単語同士の関係を直接とらえられる。
    2. 2RNNのように系列を1つずつ順番に処理する必要がないため、並列計算がしやすい。
    3. 3Transformerは文章専用のアーキテクチャで、画像や音声に応用することはできない。
    4. 42017年に発表された論文で提案され、現在の大規模言語モデルの基盤となっている。
    答えと解説

    正解: 3

    Transformerはもともと機械翻訳のために提案されましたが、その後、画像(Vision Transformer)や音声、動画など幅広い分野に応用されています。2017年の論文「Attention Is All You Need」で提案されたこと、Attention機構で離れた単語の関係をとらえられること、並列計算がしやすいことはいずれも正しい記述です。「文章専用で応用できない」という記述が誤りです。

  8. 問8
    Transformerの構造のうち、GPTとBERTがそれぞれ主に利用している部分の組み合わせとして正しいものを1つ選びなさい。
    1. 1GPT: 畳み込み層、BERT: リカレント層
    2. 2GPT: 識別器、BERT: 生成器
    3. 3GPT: エンコーダ、BERT: デコーダ
    4. 4GPT: デコーダ、BERT: エンコーダ
    答えと解説

    正解: 4

    Transformerは入力を理解するエンコーダと、出力を生成するデコーダから構成されます。GPTは次の単語を順に生成するためデコーダ部分を積み重ねた構造を採用し、BERTは入力文の理解に特化するためエンコーダ部分を積み重ねた構造を採用しています。畳み込み層・リカレント層はCNN・RNNの構成要素、識別器・生成器はGANの構成要素で、Transformerの部品ではありません。

  9. 問9
    「田中さんは上司に書類を渡した。彼はそれを翌日確認した。」という文で、AIが「彼」が上司を指すと判断できる仕組みとして、最も適切なものを1つ選びなさい。
    1. 1Self-Attentionで、文中の各単語が他の単語とどれくらい関係が深いかを計算して重みづけしている
    2. 2位置エンコーディングで、各単語が文中の何番目にあるかを数え、機械的に直前に出てきた人名を選んでいる
    3. 3MLMで、文中の単語を隠して穴埋めする学習を推論のたびに毎回やり直して「彼」を当てている
    4. 4RLHFで、人間が「彼=上司」と評価した結果を報酬として受け取り、推論のたびに学習し直している
    答えと解説

    正解: 1

    Self-Attention(自己注意力)は、文中の各単語が同じ文の中の他のどの単語とどれくらい関係が深いかを計算し、文脈に応じて重みづけする仕組みで、離れた単語の関係もとらえられます。位置エンコーディングは語順の情報を補うもので、直前の人名を選ぶ仕組みではありません。MLMはBERTの事前学習の方法、RLHFは人間の評価による調整手法で、推論時に毎回学習し直すものではありません。

  10. 問10
    Transformerに関する記述として、不適切なものを1つ選びなさい。
    1. 1もともと機械翻訳のために提案されたが、画像や音声にも応用されている
    2. 2RNNと同じく系列を1つずつ順番に処理するため、長い文では処理に時間がかかる
    3. 32017年に「Attention Is All You Need」という論文で発表されたアーキテクチャである
    4. 4Attentionによって系列内のすべての要素の関係を同時に計算するため、並列計算ができる
    答えと解説

    正解: 2

    Transformerは2017年に発表され、Attentionで系列内のすべての要素の関係を同時に計算するため並列計算ができます。機械翻訳のために提案され、画像や音声にも応用されています。「RNNと同じく1つずつ順番に処理する」はTransformerの特徴と逆で、不適切な記述です。

  11. 問11
    Transformerで位置エンコーディングが必要な理由として、最も適切なものを1つ選びなさい。
    1. 1エンコーダとデコーダの位置を入れ替えて、生成と理解の両方に使えるようにするため
    2. 2文中の単語の数を数えて、トークン数の上限を超えないように制御するため
    3. 3Self-Attentionはすべての単語を同時に扱うため、そのままでは語順の情報を持たないから
    4. 4Transformerは単語を1つずつ順番に処理するため、処理の順番を記録しておく必要があるから
    答えと解説

    正解: 3

    Self-Attentionはすべての単語を同時に扱うため、そのままでは「何番目の単語か」という語順の情報を持ちません。そこで各単語の位置を表す情報を加える位置エンコーディングが必要になります。Transformerは単語を順番に処理しないので、処理の順番を記録するという説明は誤りです。エンコーダとデコーダの入れ替えや、トークン数の制御とは関係ありません。

  12. 問12
    「顧客の問い合わせ文を読んで、どの部署の担当かを分類する」用途と、「返信文を生成する」用途に、Transformerのどの部分を使うモデルがそれぞれ向いているか。最も適切な組み合わせを1つ選びなさい。
    1. 1分類にはデコーダを使うGPT系、生成にはエンコーダを使うBERT系
    2. 2分類にも生成にもエンコーダだけを使うBERT系
    3. 3分類にも生成にもデコーダだけを使うGPT系が唯一の選択肢
    4. 4分類にはエンコーダを使うBERT系、生成にはデコーダを使うGPT系
    答えと解説

    正解: 4

    BERTはエンコーダを使って文全体を双方向に読み、分類や質問応答などの「理解」に向きます。GPTはデコーダを使って次の単語を順に予測し、文章生成に向きます。したがって分類にはBERT系、生成にはGPT系という組み合わせが適切です。両者を逆にした組み合わせや、片方だけで両方をまかなうという選択肢は、それぞれの構造と得意分野に合いません。

  13. 問13
    BERTの事前学習で用いられるMLM(Masked Language Model)の説明として、最も適切なものを1つ選びなさい。
    1. 1文中の一部の単語を隠し、前後の文脈からその単語を当てる学習
    2. 22つの文が連続しているかどうかを判定する学習
    3. 3左から右へ次の単語を予測していく自己回帰の学習
    4. 4人間が付けた応答の順位をもとに報酬モデルを学習する手法
    答えと解説

    正解: 1

    MLMは文中の一部の単語を隠して前後の文脈から当てる穴埋めの学習で、BERTが文脈を深く理解する表現を獲得するために使われます。2つの文が連続しているかの判定はNSP、左から右への次単語予測はGPTの自己回帰、人間の順位付けによる報酬モデルの学習はRLHFの説明です。

  14. 問14
    BERTの派生モデルに関する記述として、不適切なものを1つ選びなさい。
    1. 1ALBERTは埋め込み行列の分解や層間のパラメータ共有でパラメータ数を大きく減らした
    2. 2ALBERTはBERTよりパラメータ数を大幅に増やし、計算資源を多く使って精度を高めた
    3. 3RoBERTaはNSPを廃止し、より大量のデータと長い学習で性能を高めた
    4. 4RoBERTaは動的なマスキングを採用している
    答えと解説

    正解: 2

    RoBERTaはNSPを廃止し、大量のデータと長い学習、動的なマスキングで性能を高めたモデルです。ALBERT(A Lite BERT)は埋め込み行列の分解や層間のパラメータ共有でパラメータ数を大きく減らした軽量版で、「パラメータ数を大幅に増やした」という記述は逆であり不適切です。

  15. 問15
    Transformerの中核となる「Attention(注意機構)」の役割として、最も適切なものを1つ選びなさい。
    1. 1画像の一部ずつにフィルタをかけて、輪郭や模様などの局所的な特徴を取り出す
    2. 2入力される数値の範囲をそろえて、学習が安定して進むようにする
    3. 3系列内の要素どうしの関係の強さを計算し、重要な要素に重みを置いて処理する
    4. 4生成されたデータが本物か偽物かを判定し、その結果を生成側に返す
    答えと解説

    正解: 3

    Attentionは、系列内の要素どうしの関係の強さを計算し、重要な要素に重みを置いて処理する仕組みで、Transformerの中核です。フィルタによる特徴抽出はCNN、入力値の範囲をそろえるのは正規化、識別器による判定はGANの説明です。

  16. 問16
    大規模言語モデルの多くがRNNではなくTransformerを基盤にしている理由として、最も適切なものを1つ選びなさい。
    1. 1単語を1つずつ順番に処理するため、長い文でも計算量が増えず安定しているから
    2. 2学習データがRNNより少なくて済み、数百件の文章だけで高い精度が出るから
    3. 3人間がルールを書いて動かせるため、学習をまったく必要としないから
    4. 4すべての単語の関係を同時に計算できるため並列処理が可能で、大規模な学習に向くから
    答えと解説

    正解: 4

    TransformerはAttentionによって系列内のすべての要素の関係を同時に計算するため並列計算ができ、離れた単語同士の関係も直接とらえられます。この性質が大規模な学習を可能にし、現在の大規模言語モデルの基盤になりました。1つずつ順番に処理するのはRNNの特徴、学習データが少なくて済む・学習が不要という説明は誤りです。