第10章: 事前学習済み言語モデル(GPT型)#

本章では、GPT型(Transformerのデコーダ型)の事前学習済みモデルを利用して、言語生成、評判分析器(ポジネガ分類器)の構築、ファインチューニング、強化学習などに取り組む。

90. 次単語予測#

“The movie was full of”に続くトークン(トークン列ではなく一つのトークンであることに注意せよ)として適切なもの上位10個と、その確率(尤度)を求めよ。ただし、言語モデルへのプロンプトがどのようなトークン列に変換されたか、確認せよ。

91. 続きのテキストの予測#

“The movie was full of”に続くテキストを複数予測せよ。このとき、デコーディングの方法や温度パラメータ(temperature)を変えながら、予測される複数のテキストの変化を観察せよ。

92. 予測されたテキストの確率を計算#

“The movie was full of”に続くテキストを予測し、生成された各単語の尤度を表示せよ(生成されるテキストが長いと出力が読みにくくなるので、適当な長さで生成を打ち切るとよい)。

93. パープレキシティ#

適当な文を準備して、事前学習済み言語モデルでパープレキシティを測定せよ。例えば、

  • The movie was full of surprises

  • The movies were full of surprises

  • The movie were full of surprises

  • The movies was full of surprises

の4文に対して、パープレキシティを測定して観察せよ(最後の2つの文は故意に文法的な間違いを入れた)。

94. チャットテンプレート#

“What do you call a sweet eaten after dinner?”という問いかけに対する応答を生成するため、チャットテンプレートを適用し、言語モデルに与えるべきプロンプトを作成せよ。また、そのプロンプトに対する応答を生成し、表示せよ。

95. マルチターンのチャット#

問題94で生成された応答に対して、追加で”Please give me the plural form of the word with its spelling in reverse order.”と問いかけたときの応答を生成・表示せよ。また、その時に言語モデルに与えるプロンプトを確認せよ。

96. プロンプトによる感情分析#

事前学習済み言語モデルで感情分析を行いたい。テキストを含むプロンプトを事前学習済み言語モデルに与え、(ファインチューニングは行わずに)テキストのポジネガを予測するという戦略で、SST-2の開発データにおける正解率を測定せよ。

97. 埋め込みに基づく感情分析#

事前学習済み言語モデルでテキストをベクトルで表現(エンコード)し、そのベクトルにフィードフォワード層を通すことで極性ラベルを予測するモデルを学習せよ。

98. ファインチューニング#

問題96のプロンプトに対して、正解の感情ラベルをテキストの応答として返すように事前学習済みモデルをファインチューニングせよ。

99. 選好チューニング#

問題96のプロンプトに対して、正解の感情ラベルを含むテキストを望ましい応答、間違った感情ラベルを含むテキストを望ましくない応答として、事前学習済み言語モデルを選好チューニング (preference tuning) を実施せよ。選好チューニングのアルゴリズムとしては、近傍方策最適化 (PPO: Proximal Policy Optimization) や直接選好最適化 (DPO: Direct Preference Optimization) などが考えられる。