【大規模言語モデル入門】4章4.1~4.3

445 Views

October 24, 24

スライド概要

profile-image

AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

大規模言語モデル入門 第4章 4.1~4.3 大規模言語モデルの進展 奈良女子大学 藤本 馨 0

2.

概要 目次 ⚫ はじめに 4.1 モデルの大規模化とその効果 4.2 プロンプトによる言語モデルの制御 4.3 アライメントの必要性 1

3.

はじめに ● 本章では、主にデコーダ構成のモデルを扱う • ● 一部にエンコーダ・デコーダ構成のT5の話題を含む 本章の内容は2023年の状況について解説をしている 2

4.

4.1 モデルの大規模化とその効果 3

5.

LLMのパラメータ数・コーパスの容量の推移と性能の向上 ⚫ ⚫ 大規模言語モデルのパラメータ数と事前学習に使うコーパスの 容量は飛躍的に増加 背景として、LLMの持つスケール則(Scaling laws)が関係 ⚫ ⚫ モデルの規模を大きくすることで性能が比例して改善するという経験則 ただし、モデルの規模を無限に大きくすれば無限に性能改善す るというわけではない ⚫ 大きくなればなるほど性能向上率は鈍化 発表年度 モデル名 パラメータ数(単位:個) 発表年度 モデル名 コーパスの容量(単位:語) 2018年 BERT 3.4億 2018年 BERT 30億 2019年 GPT-2 15億 2019年 RoBERTa 300億 2020年 GPT-3 1750億 2020年 GPT-3 3000億 2022年 PaLm 5400億 2022年 Chinchilla 1.4兆 4

6.

LLMの規模を図る指標 ● パラメータ数やコーパスの容量に加えて、訓練時に使われた計算 量(=FLOPS)がよく用いられる ⚫ FLOPS(Floating-point Operations Per Second) ⚫ 訓練時の計算はほぼ浮動小数点数の演算であるため、計算量は浮動小数点演算の回 数を表す ⚫ FLOPSとパラメータ数・トークン数の関係 ⚫ ⚫ FLOPS≈ 6・パラメータ数・トークン数 モデルが大規模化になるほど、訓練時の計算量が多くなるため、 計算資源の確保に多額の予算が必要になる 5

7.

計算量から最適なパラメータ数・トークン数を予測 確保できる予算で訓練に使える計算量が決まる 効率よく性能の高いモデルを訓練できることが求められる ● 計算量に対して最適なパラメータ数とトークン数を比較的小規模 なモデルの性能から予測する研究が行われた ● Gopher(2800億パラメータ・3000億トークン)と同じ計算量を使用し Chinchilla(700億パラメータ・1.4兆トークン)を訓練 ⚫ 大きいパラメータ数かつ少ないトークンで訓練されたモデルよりも、 Chinchillaは一貫して下流タスクの性能が高かった ⚫ 6

8.

創発的能力 ● LLMが一定の規模を超える(FLOPSが一定の値に達する)と、タ スクの性能が飛躍的に向上する現象 ⚫ 指標が急激に改善するか、滑らかに改善するかは性能の計測方法による という指摘もある(正誤で判定・正しい答えにどれだけ近いかを判定) 引用元:Emergent Abilities of Large Language Models 7

9.

4.2 プロンプトによる言語モデルの制御 8

10.

プロンプトによる言語モデルの制御 従来、多くのタスクがファインチューニングを行わないと解けないと思われ ていた ● モデルの大規模化に伴い、モデルにテキストを入力し後続するテキストをモ デルが予測するという単純な方法で解けることが分かってきた ● この時入力するテキストをプロンプトという ● 自然言語処理のタスクの入力と出力をテキストで表現することで、あらゆる タスクを同一のフォーマットで解くことが出来る ● ⚫ 入力に従ってタスクを解く 日本の首都は “こんばんは”を英語に翻訳すると 東京である “Good evening”になる 下記の文を翻訳して下さい。こんばんは Good evening ⚫ 文章から質問の該当箇所を抜き出す抽出型質問応答 パッセージを参考にして質問に答えてください。 パッセージ:日本は島国で、領土がすべて島で構成されている。 日本にある島の数は14,125島である 質問:日本にある島の数は? 解答: 14,125島である 9

11.

4.2.1 文脈内学習 ● プロンプトを使ってタスクを解く際に有効な方法の1つに例示を与える方法がある ● 日本語から英語への単語の翻訳をプロンプトで行う場合 • zero-shot 学習 • ファインチューニング 英単語を日本語に翻訳しなさい cheese -> sea otter -> ラッコ 勾配によるモデルの更新 • one-shot 学習 英単語を日本語に翻訳しなさい sea otter -> ラッコ cheese -> • few-shot 学習 英単語を日本語に翻訳しなさい sea otter -> ラッコ hydrangea -> アジサイ phone -> 電話 cheese -> hydrangea -> アジサイ 勾配によるモデルの更新 文脈内に訓練させ る内容をふくめ、 推論時に学習させ る方法なので、 文脈内学習とも呼 ぶ ● 例示を多く与えるほど性能は改善する ・・・ phone -> 電話 勾配によるモデルの更新 cheese -> 10

12.

4.2.1 文脈内学習 どのような仕組みで例示から学習してタスクを解くのかを、感情 分析の文脈内学習から考える ● 文章とそれに対する感情ラベルの組み合わせをプロンプトにより 推論時に学習させ、文章に対する感情ラベルを推測させる ● タスクに関する意味的な情報 入力文の情報 ラベルの空間 こっちの情報だけでタスクが解ける? 入力とラベルの対応関係は学習されているのか? プロンプト内の例示・タスク 素晴らしい物語に感動… ありがちな展開で途中… 店舗が悪くて眠くなっ… 衝撃的な結末に思わず… ・・・ 映画が凄くきれいでし… 肯定的 否定的 否定的 肯定的 ・・・ ? 大規模言語モデル 入力とラベルの対応関係 11

13.

4.2.1 文脈内学習 ● ラベルを無関係な文字列に変えて、意味的な情報からタスクを解けなくし、正解率を比較 肯定的 否定的 ・・・ ? foo bar ・・・ ? 大規模言語モデル 大規模言語モデル 肯定的 foo 素晴らしい物語に感動… ありがちな展開で途中… ・・・ 映画が凄くきれいでし… パラメータ数 引用元:LARGER LANGUAGE MODELS DO IN-CONTEXT LEARNING DIFFERENTLY ● モデルの規模が大きくなるにつれて性能は改善 ⚫ 入力とラベルの対応関係を学習できるかどうかはモデルの規模に依存 ⚫ ラベルに無関係な文字列を用いた場合と意味を持つ文字列を用いた場合の性能差は、モデルの 規模が大きくなるにつれ小さくなる 大規模なモデルほど入力とラベルの対応関係を学習してタスクを解いている ⚫ LLMに限らず、Transformerを使ったモデルは文脈内学習において入力とラベルの対応関係を 学習できることが分かっている 12

14.

4.2.2 chain-of-thought推論 ● LLMが苦手とするタスクの1つに多段階の推論が必要となるマル チステップ推論がある (例)部屋に23個のリンゴがあります。料理に20個使い、6個を買い足し たとき、何個のリンゴが残りますか? A:23-20=3, 3+6=9 9個 ● 推論の例示を与えるchain-of-thought推論を用いると、マルチ ステップ推論の性能が改善する 回答に加えて推論過程を示す例示をプロンプトに含め、LLMに与える ⚫ 推論過程を与えず、「ステップごとに考えよう」のような推論過程の生 成を促す文字列をプロンプトの末尾に付加し、LLMに与える方法をzeroshot chain-of-thought 推論といい、これだけでも性能が改善する ⚫ ⚫ プロンプトを工夫することで性能を図ったり新しいタスクを解け るようにすることをプロンプトエンジニアリングという 13

15.

4.2.2 chain-of-thought推論 ● 通常のプロンプト 質問:部屋に23個のリンゴがありま す。料理に20個使い、6個を買い足 したとき、何個のリンゴが残ります か? ● chain-of-thought推論 質問:部屋に23個のリンゴがありま す。料理に20個使い、6個を買い足 したとき、何個のリンゴが残ります か? 推論過程の例示を付加 回答:答えは9個です。 質問:太郎君は5個のテニスボール を持っていました。彼は新しく2缶 のテニスボールを買いました。1缶 には3個のテニスボールが入ってい ます。今、彼は何個のテニスボール を持っていますか? 回答: 回答:リンゴは最初23個あります。 料理に20個使用すると、23-20=3 より、3個のリンゴが残ります。そ のあと6個買い足しているので、 3+6=9より9個のリンゴが残ること になります。したがって答えは9個 です。 ● zero-shot chain-of-thought推論 質問:太郎君は5個のテニスボール を持っていました。彼は新しく2缶 のテニスボールを買いました。1缶 には3個のテニスボールが入ってい ます。今、彼は何個のテニスボール を持っていますか? 回答:ステップごとに考えよう 推論過程の生成を促す文字列を付加 質問:太郎君は5個のテニスボール を持っていました。彼は新しく2缶 のテニスボールを買いました。1缶 には3個のテニスボールが入ってい ます。今、彼は何個のテニスボール を持っていますか? 回答: 14

16.

4.3 アライメントの必要性 15

17.

アライメントとは 人間や社会にとって有益で適切な挙動になるように大規模言語モ デルを調整すること ● 役立つこと(helpful) 、正直であること(honest)、無害であるこ と(harmless)のHから始まる3つの基準(HHH)でアライメントを 行うことが提案されている ● 16

18.

役立つこと ● モデルは人間の指示に従う必要があると同時に人間の意図を推測 する必要がある 入力:6歳児に月面着陸についていくつかの文で説明する。 出力:6歳児に重力の理論を説明する。 相対性理論を6歳児にいくつかの文で説明する。 ビッグバン理論を6歳児に説明する。 ● 説明をしてほしいのに、 入力と同じような文章を 挙げている こうした挙動はアライメント手法で改善することが出来る 17

19.

正直であること ● LLMは虚偽の内容を生成することがある もっともらしいトークンを予測するように訓練されており、回答に必要 な知識を保持していない場合でも、訓練コーパスに存在するそれらしい トークンを生成してしまう ⚫ 例えば、「横浜市にあるおすすめのレストランは?」と入力すると、横 浜市にないレストランの名前を出力する ⚫ モデルがこのような虚偽の生成を行う性質を幻覚 (hallucination)と呼ぶ ● 虚偽の内容の生成を抑制し、正直に回答を生成するようにLLMを 制御することは重要な課題である ● わ、わかりません・・・ 正直でよろしい! 18

20.

無害であること LLMの訓練コーパスは、ウェブから大規模に収集されているため、 性的、暴力的、非倫理的な内容など、多くの有害な情報が含まれ ている ● こうしたコーパスで訓練されたモデルは、アライメントを行わな いと有害な情報を頻繁に生成する ● • ● コーパスに含まれているバイアスをそのまま反映する • • ● 爆発物の生成方法など 職業と性別の関係のステレオタイプ 国や国籍が肯定的・否定的なイメージ 訓練コーパスに含まれる個人情報を生成する可能性がある 19

21.

主観的な意見の違い ● データセットに含まれる意見の傾向を学習すると、特定の属性を 持つ集団の意見へのバイアスを持つことになる • 事前学習コーパスはもちろん、アライメントに使われるデータセットに も注意が必要 アライメントを行うこと自体が特定の促成を持つ集団の意見への 偏りを生んでいる ● アライメントの目指すべき姿はどのような意見をもったLLMなの かという難しい問題を含んでいる ● 20

22.

2. 便利なテンプレ集 まとめ • LLMのパラメータ数・コーパスの容量が大きくなれば、性能は向上するが、大きくなればなるほど、向上率は鈍化する 4.1 モデルの 大規模化とその効果 • モデルが大規模化になるほど、訓練時の計算量が多くなるため、計算資源の確保に多額の予算が必要になる • そのため、計算量に対して最適なパラメータ数とトークン数を比較的小規模なモデルの性能から予測する研究が必要と されている 4.2 プロンプトによ る言語モデルの制御 4.3 アライメントの 必要性 • プロンプトを工夫することで性能を図ったり新しいタスクを解けるようにすることをプロンプトエ ンジニアリングという • few-shot学習(文脈内学習)とchain-of-thought推論を紹介 • 人間や社会にとって有益で適切な挙動になるように大規模言語モデルを調整することをアライメントという • LLMは大規模データを学習しているため、データに含まれる意見・国や性別、職業によるバイアスを出力に反映してしまう • 適切なアライメントとは何かという難しい問題を含んでいる 21