34.5K Views
October 12, 24
スライド概要
予備検討の結果です。 (24/10/12)
化学・材料・データ・AI・ロボット
大規模言語モデルLlama-3.1に 専門的な数値データを 学習させる検討 Kan Hatakeyama 2024/10/11 1
動機: 大規模言語モデル(LLM) に知識を入れたい 専門特化型のモデル構築や、高性能な基盤モデルのフルスクラッチ学習に必要 となる基礎知見 2
よくある失敗例 • アンチパターン • とりあえず専門文章を準備してみる • とりあえず学習させてみる • 期待した精度が出ない • プロジェクト失敗 生成AIプロジェクト、3分の1が2025年までに中止か--ガートナー予測 コスト以外にも、AIプロジェクトを失敗に導きかねない要因として、「不十分なリスク管理」 や「質の低いデータ」があるとGartnerは指摘している。 https://japan.zdnet.com/article/35223490/ 3
課題: LLMは「物覚え」が悪い • Transformer系のアーキテクチャや、学習プロセスの問題? • アンチパターン: これらの知見を「見てみぬふり」しながら、とりあえず専門データを準備して学習させる • OpenAI アルトマン (2024年1月) • 「高校レベルの生物学を理解するのに教科書を2千冊も読む必要」 • https://www.sanyonews.jp/article/1504473 • Z Allen-Zhu et al. • 「一つの事象を覚えるのに、1000種類程度の異なるテキストが必要」 • Physics of Language Models: Part 3.3, Knowledge Capacity Scaling Laws (2024) • https://arxiv.org/abs/2404.05405 4
人間/LLMにとっての学びとは何か? • 学びのしくみを理解するためには、「知識とは何か」という問題を 避けて通ることができない。覚えても使えない知識と新しいこと を生み出すことができる知識は何が違うのだろうか。すぐに使え る「生きた知識」はどのような性質を持ち、脳にどのような形で存 在しているのだろうか。 今井 むつみ 「学びとは何か――〈探究人〉になるために」 (岩波新書) 5
知識の取り出しに最低限、必要そうな要素 • 1. 当該事象を覚えている • 例: AはBである。 • 2. 質問内容と当該事象を結びつけることができる •例 • Aはなんですか? → Bです。 • Bを満たすものはなんですか? → Bです。 • … 6
過去の検討: 異なるテキストの学習が必要 • 単にエポック数を増やすだけでは上手く記憶が定着せず 知識の理解度を問う 問題に対する正答率 • 知識の取り出しに失敗 一つのテキストを 1-5 エポック学習 表現を変えた5種類のテキストを 1-5エポック学習 K. Hatakeyama-Sato et al., Teaching Specific Scientific Knowledge into Large Language Models through Additional Training (2023). https://arxiv.org/abs/2312.03360 7
エポック数だけを増やした場合 与えられた文章の丸暗記は可能だが、質問に対する回答が困難 • 学習する文章: • 「吾輩は猫である」 • モデルが答えられる内容 • 「吾輩は」 → 「猫である」 • モデルが答えにくい質問 • 吾輩は誰ですか? • あなたは猫ですか? • 猫といえば誰でしょうか? •… 8
テキストの表現を増やした場合 多角的な視点(トークン)で文章を記述すると、モデルの回答性能が向上 • 学習する文章: • 「吾輩は猫である」 • 「Q: あなたは何者ですか? A: 猫ですよ。」、「私は猫です」、… • 教科書風、対話風、論文風、などでスタイル変換 • モデルが答えられる内容 • 「吾輩は」 → 「猫である」 • モデルが答えられるようになる質問 • 吾輩は誰ですか? • あなたは猫ですか? • 猫といえば誰でしょうか? •… 9
人間とのアナロジー(?) 事象を一度だけ授業で習う →すぐに忘れる 教科書、参考書、演習問題、頭の中、会話等を通し、 同一の事象を多角的に振り返る →記憶が定着する 共通点: 人間も多角的な視点から単一の事実を学習することで記憶・理解が促進 相違点: 必要なデータ数はLLMの方が格段に多い 10
知識の定着と取り出しに必要なモ デル・データの要件は何か? 11
Tanuki-8x8Bの場合 https://huggingface.co/weblab-GENIAC/Tanuki-8x8B-dpo-v1.0 詳細はこちら https://www.docswell.com/s/KanHatakeyama/5YDDJE-2024-09-18-214202/1 12
Tanukiは「のび太の特技」を間違えた ● ● 野比のび太の3大特技: 「射撃」、「あやとり」、「昼寝」 (wikipedia) 「昼寝」を誤答 13
学習コーパスの解析: のび太の情報は、意外とWebに含まれない ● ● 学習に含めた代表的なWebコーパス(mc4-ja)を解析 のび太の特技(特に昼寝)を明確に記述するテキストは、意外と少ないことが判明 ● Physics of Language Models: Part 3.3, Knowledge Capacity Scaling Laws (2024)が求める 1000件には遠く及ばない mc4-jaをキーワードで全文検索した結果 ※100件以上はコピペ文章 ※100件以上はコピペ文章 14
教訓: 「人間の感覚」でデータを準備するのは危ない ● ネットデータで十分な領域: 誰もが知ってそうな常識 ○ 高い精度で回答可能 (放っておいても学んでくれる) ■ 富士山の標高 ■ 総理大臣の名前 ■ … ● ネットデータでは不十分かもしれない領域: 常識とは言えない事項全て(?) ○ 幻覚が起きる可能性が高い (特別な対応が必要) ■ のび太の特技 ■ 中高レベルの学問知識(ネット上に意外と情報が少ない) ■ 専門知識 ■ … 15
課題の整理 • 包括的な検証(特にオープンな研究知見)はまだ少ない模様 • 関連論文は要調査 • 解明のための検証コストが高い • 究極的にはフルスクラッチ学習が必要 • 大きなモデルサイズでのオープンな検証データは、ほぼ無し • ある種のノウハウのため、公開度が低い • モデルやデータの状態の記述法をどうするか • データ間の類似度はembed vectorで計算可能だが、vectorはモデルの状 態に応じて刻一刻と変化 • 特定のデータと親和性のあるモデルの状態をどのように定義するか •… 16
知識定着に影響しそうな因子 • モデル • サイズ • 巨大化するほど、少ないデータ数からの知識習得が可能 • 既に持っている知識/スキル • 既存の知識を組み合わせて推論可能 or 全く新しい知識 • データ • サイズ • データセットが巨大化するほど、破滅的忘却の影響が顕著になり、定着効率が低下 • 類似文章の質や量 • 一つの事象を覚えるために、類似文章の学習がN件必要 • 求められる類似の質や、必要件数Nを知りたい • 事象間の類似度 • 英単語とドイツ語の単語を同時に覚えさせると、どうなるか? • 相乗効果で、少ないデータ数での学習が可能になるか?それとも、記憶の混同が起きるか? • 英単語と四字熟語のような、離れた概念を同時学習させると、どうなるか? 17
今回のタスク: Llama-3.1への化学データの埋め込み 18
学習データ • 分子の融点データセット (Jean-Claude Bradley Open Melting Point Dataset) • 合計で約2.4万件 • Llama-3.1は概ね未学習 • 分子名ーSMILESー融点(℃)の情報が記載 • ライフサイエンス系の論文(PMC) • 一種のノイズ情報として、融点データセットと同時に学習 19
融点データセットの中身 20
Llama-3.1-70Bによるデータのテキスト化 • 表形式データはLLMには扱いにくいため、2.4万件のオリジナルデータ から58万件のテキストを生成 ランダムに 1-4件を選択 (平均2.5件) データベース 化合物A-融点X 化合物B-融点Y … テキスト生成 の指示 化合物A,Bの融 点はそれぞれ X,Yです。… LLMで学習 21
実際のプロンプト • ランダムに選んだスタイルで文章を生成 • Prepare {style} text according to the following data. - Never include any other number which is not given from the data. - Generate only the text, not e.g., system outputs. - Add some discussion or explanation if necessary. (この箇所にデータセットのJSONデータを出力) • style = [ "textbook-style", "conversation-style", "classroomstyle", "Q&A-style", "interview-style", "journal-style",] 22
生成されたテキストの例 23
Llama-3.1-8B-Instructへの継続事前学習 • 学習データの件数を変化させながら、フルパラメーターで学習* *1 epochでの学習. LoRA (r=128,256)では上手く知識が入らないケースが多数. 70BはVRAMが不足. 24
学習済みモデルによる分子の融点の予測 • プロンプト • Predict the {property_name} {unit} of the following compound. #Restriction: Output can contain "#Reason" section which explains the reasoning behind the prediction. Output must contain "#Prediction" section which contains only the predicted value (number only). #Name: {comp_name} #SMILES: {smiles} 25
出力の例 化学的な考察はまだイマイチだが、予測自体は比較的、正確 p-toluenesulfonyl chloride 実測融点: 69 oC The compound p-toluenesulfonyl_chloride has a melting temperature of 70.0 oC. #Reason: The melting temperature of p-toluenesulfonyl_chloride is 70.0 oC. This value is based on the compound's molecular structure, which is represented by the SMILES notation Cc1ccc(cc1)S(=O)(Cl)=O. The presence of the sulfonyl chloride group and the benzene ring contribute to the compound's relatively high melting point. #Prediction: 70.0 oC (回答は正規表現などを使って抽出。大半のケースで、99%程度の問題で回答可能だった。) 26
訓練データ数を変えた際の予測の誤差率の変化 • 一つの事象あたり、16回程度の学習を行うことで、ほぼ知識が定着(予測誤差率の中央値*がほぼゼロに変化) • 同時に学習する無関係なテキストが2万→50万件に増えても、知識の定着挙動に顕著な違い無し *今後、単位系の異なる物性の予測も行うため、 誤差率で評価。予測が大外れするケースがある ので、平均値ではなく中央値を使用。 予測の誤差率の中央値 500000 1つの事象を記述する平均のテキスト数 27
未学習の試験データに対する汎化性能 • 未知の分子800件についても、誤差率20%程度で融点を予測可能 • 獲得した分子物性の知識を組み合わせて推論している模様 • 誤差率の低下傾向は、trainデータと概ね一致 予測の誤差率の中央値 500000 1つの事象を記述する平均のテキスト数 28
結果の詳細 評価 データセット サイズ 回答出来たデータ 件数 融点のテキスト数 トークン (B) test test test test test test test test test test test test train train train train train train train train train train train train 800 800 800 800 800 800 800 800 800 800 800 800 24000 24000 24000 24000 24000 24000 24000 24000 24000 24000 24000 24000 329 800 799 800 800 800 800 800 406 800 800 800 9240 23997 23964 23997 23988 23988 23985 23980 11843 23987 23979 23981 0 10000 20000 40000 80000 160000 320000 570000 0 160000 320000 570000 0 10000 20000 40000 80000 160000 320000 570000 0 160000 320000 570000 0.000 0.003 0.006 0.012 0.025 0.049 0.098 0.175 0.000 0.049 0.098 0.175 0.000 0.003 0.006 0.012 0.025 0.049 0.098 0.175 0.000 0.049 0.098 0.175 1つの事象を記述 する平均の テキスト数 0.0 1.0 2.1 4.2 8.3 16.7 33.3 59.4 0.0 16.7 33.3 59.4 0.0 1.0 2.1 4.2 8.3 16.7 33.3 59.4 0.0 16.7 33.3 59.4 PMC の テキスト件数 トークン (B) 誤差率の中央値 20000 20000 20000 20000 20000 20000 20000 20000 500000 500000 500000 500000 20000 20000 20000 20000 20000 20000 20000 20000 500000 500000 500000 500000 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 1.34 1.34 1.34 1.34 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 1.34 1.34 1.34 1.34 0.72 0.37 0.35 0.29 0.24 0.21 0.19 0.20 0.51 0.20 0.20 0.20 0.71 0.38 0.36 0.28 0.20 0.00 0.00 0.00 0.52 0.00 0.00 0.00 29
まとめ • Llama-3.1を使い、表形式で記述される専門的な数値データ(分子物 性)をテキスト化した。 • 当該テキストを継続事前学習させることで、Llama-3.1-8B-Instructへ の知識定着が可能であった。 • 確実な知識定着のためには、1つの事象あたり、10-20件程度の類似文 章の学習が必要であった。 • 8Bモデル、0.05 B トークンのデータセットの場合 • 無関係なテキストを少なくとも1.3 Bトークン程度、同時に学習させて も精度への影響は無視できるレベルであった 30
解明すべき事項 • 以下のパラメータが知識定着に与える影響の評価 • モデルサイズ • テキストのスタイル • 学習させたいデータセットのサイズ • 無関係なデータセットのサイズ (更に大きくしたケース) • 学習させる項目 • 融点以外の物性 (相乗効果や記憶の混乱などの確認) • 数値ではない定性的な情報 • 化学とは関係のないデータ • 解釈性 • 精度の高い回答理由の提示 • 解釈性や予測精度の向上を期待 • 特化型の回帰モデルとの性能比較 • 学習させるデータ数と予測精度の関係など • … 31