DROBEプロダクト開発ブログ

DROBEのプロダクト開発周辺の知見や考え方の共有をしていきます

ファッションドメインにおけるLLMの未知の知識獲得可能性

DROBEで機械学習エンジニアをしております、藤崎です。

概要

  • 大規模言語モデル(LLM)に未知の知識を獲得させることができるかを検証しました。

  • LLMにとっての未知の知識はモデルの重みがリリースされた日付以降に公開された、ファッションドメインにおける商品の価格や規格の詳細情報としています。

  • その結果、ドメインの難易度が低く、使用者の専門性が高いようなユースケースにおいて、LLMを活用することは可能だと判断できました。

  • ただし、未知の知識の定義の難しさやハルシネーションへの対策の難しさなどの課題も明らかになりました。

背景・目的

近年、大規模言語モデル(LLM)の発展により、自然言語処理の分野が大きく進歩しました。LLMは膨大な量のテキストデータから言語の構造や意味を学習し、高度な言語理解と生成能力を持っています。しかし、LLMにはいくつかの課題があります。

  • 秘匿性の高い情報の取り扱い: 企業は新製品の開発段階で機密情報を扱う必要があり、その情報をLLMに安全に学習させる方法が求められています。

  • コストと効率性: 大規模なLLMを学習し、運用するには、膨大な計算リソースが必要です。なので、小規模なLLMでも同様の機能を実現できれば、コストと効率性が大幅に向上します。

本ブログで検証する問いは、現実的な学習と運用コストの中で、一定の汎化性能を保ちながら、小型のLLMに未知の知識を獲得させることができるか?です。具体的には、LLMにとって未知の、秘匿性の高い企業の製品情報等をローカルでLLMに学習させ、その知識が獲得できるかを検証します。

本検証の結果としては上記問いは条件付きでYesだと思っております。

関連研究

事後学習を通じた知識の獲得

事前学習を行なった大規模言語モデル(LLM)に事後の学習で新しい知識を獲得させることの難しさが、複数の研究で指摘されています。

一つの見解は、LLMの知識の大部分は事前学習の段階で獲得されており、Instruction Tuningの主な役割は、新しい知識を教え込むのではなく、事前学習で獲得された豊富な知識を適切に引き出し、活用することにあるということです。つまり、Instruction Tuningは知識の注入というよりも、既存の知識を引き出すためのアラインメント手法だと位置づけられます。*1

一方、別の研究では、Instruction TuningやAdditional Trainingなどで、LLMに日本語の新しい知識を獲得させられることが確認されています。ただし、この場合の「新知識」は言語の違いを指しており、他の言語ではその知識に触れている可能性があることに注意が必要です*2

さらに他の研究では、一定の条件下でLLMに新しい科学的知識を獲得させることは可能でしたが、正解率が低く(Fig. 6のgenに注目)、「LLMに新知識を入れるのは難しい」と総括されています。ここでの「新知識」は、LLMの基本的な一般知識とは別の、特定の専門分野における最新で高度な知識を指しています。*3

一方で、LLMをどのようにファインチューニングするかによって、新しい知識を獲得させられるかどうかは大きく変わる可能性があります。 例えば、LoRA (Low-Rank Adaptation)と呼ばれる効率的なファインチューニング手法を適用した場合、新しい知識を完全に獲得させることの難しさは認められていますが、この研究ではLoRAが元のLLMの知識を比較的よく維持できる"正則化"の効果があることも確認されています。つまり、LoRAを通じて新しい知識を完全に獲得することは難しいものの、元の知識を失わずに部分的な新知識を獲得させられる手法であると議論されています。*4

未知の知識をどう定義するか

事前学習済みのLLMにとって、ある知識が本当に未知の知識なのかを判断することは非常に難しい課題です。研究者たちはこの問題に対して、さまざまなアプローチを提案しています。

  • MIN-K% PROB*5は、テキスト内の最も低い確率を持つトークンの平均対数尤度を計算することで、そのテキストがLLMの学習データに含まれていたかどうかを判別します。学習データに含まれていないテキストは、一部の単語が非常に低い確率を示す傾向があるのに対し、学習データに含まれているテキストはそのような極端に低い確率の単語を含む可能性が低いという仮説に基づいています。この手法の利点は、LLMの学習データや学習方法に関する情報を必要とせず、モデルの出力だけから判断できる点にあります。

  • LatestEval*6は、最新のウェブ上のテキストを収集し、その中から重要な情報を抽出して質問を作成することで、LLMの訓練データとの重複を回避しています。これにより、LLMが訓練データを単に記憶しているのではなく、実際に推論できるかどうかを評価できます。

実験

ある情報がLLMにとって新知識であるかの確認

本検証ではある知識が本当にLLMにとって未知の知識なのかを判別する必要があります。 そこで、獲得させたい情報が果たしてLLMにとって未知の知識であるかを検証しました。

上述したMIN-K% PROBの手法をGemma-7B-itに適用した結果、日本語の場合はほとんど機能しないことがわかりました。 具体的には、英語の場合では未知の知識の平均尤度と既知と考える知識の平均尤度に明確な差が生まれ、閾値を定めることでこれらの境界を設定することができましたが、日本語ではこのような差が生じませんでした。

この原因として、LLMの事前学習で使用した日本語データの量が関係している可能性が考えられたため、CyberAgentLM2-7B-ChatやELYZA-japanese-Llama-2-7bなど事前学習や追加事前学習のデータに日本語のデータを多く含んだモデルも試しましたが、Gemma-7B-itと同様にうまくいきませんでした。

そこで本取り組みでは、単純化した新知識の定義を採用しました。 具体的には、モデルの重みがリリースされた日付以降に公開された、商品の価格や規格の詳細情報を新知識として扱うことにしました。

QAデータセット

本検証では、新知識を獲得できたかどうかを測るために、QA形式のデータセットを用いました。 上記の3.の手法を参考に、一つの文書に対して複数のQA形式での質問ペアをGPT-4を用いて作成しました。 具体的には、一つの文書に対して8つのQAペアを作成しました。QAの例は以下の通りです(QAの具体的な内容は権利の関係上XXでマスクをしています)。

# Q A
1 XX の新作 XX のXXサイズを教えてください。 XXの新作XXのXXサイズは、直径XXミリ、厚さXXミリです。
2 XXの発売に関する問い合わせ先を教えてください。 XXの発売に関する問い合わせ先は、XXで、電話番号は03-XX-XXです。
3 XXとXXのコラボレーションXXサンダルの価格はいくらですか? XXとXXのコラボレーションXXサンダルの価格はXX円です

実験の設定

今回はアプリケーションを念頭に置いていたため、運用コストを低く抑えることが重要な指標の一つでした。それを実現するために、LLMを量子化することで重みのサイズを小さくし、計算コストを下げました。また、ファインチューニングの手法としては、学習の効率性に優れるLoRAを選択しました。 以下のハイパラは実験のハイパラです。3. などを参考にしつつ、ヒューリスティックで決めており、このあたりは探索の余地が多いに残されていることに注意が必要です。

# 項目 内容
1 Model google/gemma-7b
2 LoRA rank 64
3 LoRA alpha 32
4 LoRA dropout 0.1
5 量子化 4-bit
6 LR 2e-4
7 ファインチューニングに使ったQAのペア数 1200 (150文書 × 8QA)

また、以下はGemmaの元論文のtable4で紹介されていたInstruction Tuning時のpromptであり、我々の取り組みでもこのpromptを用いました。そしてpromptを用いてSFT trainerを使って学習しました。*7

<bos><start_of_turn>user
{Question}<end_of_turn>
<start_of_turn>model
{Answer}<eos>

結果

自作したQAデータセットでの結果

自作したQAデータセットの性能としては独自QAデータセットを使ってepochを3で学習した試行が最も性能が高かったです。

試行の内容としては新知識を注入できたのかを検証するために、学習に使ったQAのペアに関して、Qを投げることでそのAに答えられるかを一部のデータを使って検証しました。また、評価は目視で行い、GPT-4などは使っていません。

一点、注意が必要なのがGPT-4を使った7や8の試行の性能を上回る結果となっていますが、GPT-4はクローズドな情報にアクセスできるはずがなく、GPT-4に不利な実験設定です。そんな中でもGPT-4は単純に類推によって問題を解いていることが印象的でした。

# dataset epoch accuracy(%)
1 ichikara-instruction 1 18
2 ichikara-instruction 3 13
3 独自QAデータセット 1 41
4 独自QAデータセット 3 65
5 ichikara-instruction + 独自QAデータセット 1 31
6 ichikara-instruction + 独自QAデータセット 3 61
7 gpt-4-turbo-2024-04-09 - 39
8 ChatGPT4o(2024/05/20) - 43

相対的な汎化性能(定量)

上記の実験では単に過学習しているから性能が高くなった可能性がありました。

そこで、基本的な知識の応答能力(=いわば汎化性能)がどれだけ低下しているか(あるいは依然として保持しているか)の検証が必要と感じました。 そのためJGLUE*8のうちJSQuADとMARC-jaを使って汎化性能がどれだけ落ちたかを検証し、1の設定での結果を基準とした相対値を確認しました。

ここで注意が必要なのが、学習したモデルの汎化性能を相対で比較したいだけなのでprompt等をlm-evaluation-harness*9の設定に合わせていません。 結果として、4の試行で最もスコアが高いことがわかります。

# dataset epoch relative-score
1 ichikara-instruction 1 1
2 ichikara-instruction 3 0.93
3 独自QAデータセット 1 1.10
4 独自QAデータセット 3 1.17
5 ichikara-instruction + 独自QAデータセット 1 1.02
6 ichikara-instruction + 独自QAデータセット 3 0.93

相対的な汎化性能(定性)

4の設定で基本的な質問に対してどれだけの性能で受け答えができるかを念のため確認しました。読み手の好みに依りそうですが、基本的には問題なく受け答えができている印象でした。

# Q A
1 おいしいご飯ってどうやって作るの? おいしいご飯は、水と米の割合を1.5:1で設定し、鍋に入れて長い間まろやかに温めることで作れます。
2 お笑いの面白さは? お笑いの面白さは、日常生活のさまざまな場面をネタにして、それを超えるようなギャップを作ることにあります。お笑い芸人が日々の暮らしの中で見た出来事や人間関係をネタにして、それを超えるような punchline を提示することで、観客の驚愕や喜びを招き、その瞬間に人間が共有する「面白さ」を演出します。この手法により、お笑い芸人は観客との深い共感と記憶に残るエンターテインメントを提供し続けています。
3 なぜ汗をかくのが良いの? 汗をかくのは、夏の日差しの中で体を冷やす良い方法の一つです。汗をかくことで、体内の熱を逃し、快適な状態に保つことができます。

考察

未知の知識の定義の難しさ

未知の知識の定義の難しさは、この検証における大きな課題の一つでした。

例えば、GPT-4にとって未知の情報と思われる、データカットオフ以降に発売された商品の寸法や価格を質問した場合でも、答えられることがありました。調査の結果、この商品は前のシーズンと寸法や価格が同じであり、類推が可能な状態であったことがわかりました。

つまり、LLMにとって真に未知の知識がどの程度存在するのかを判断することは極めて困難であり、未知の知識の定義自体が曖昧であることが浮き彫りになりました。 この問題は、LLMの性能評価や新知識の獲得を検証する上で大きな障壁となります。未知の知識の定義を明確にし、その特定方法を確立することが、今後のLLM研究における重要な課題の一つであると言えるかもしれません。

ハルシネーションの対策の難しさ

ハルシネーションへの対策も、未知の知識の定義と同様に難しい問題であることが明らかになりました。今回の検証では、ハルシネーションが確実に発生していることを確認しましたが、ハルシネーションした単語を機械的に検出することは非常に困難でした。

具体的にはサンプリングされたトークンの尤度に特別な傾向は見られず、ハルシネーションの特定に有効な手がかりは得られませんでした。 ハルシネーションについては、現在も活発に研究が行われていますが、未だ効果的な対策手法は確立されていないのが現状です。そのため、LLMを実際に活用する際には、情報の真贋性を見極められる専門知識を持つ人が使用し、本来の作業時間を短縮させるというユースケースが現実的であると考えられます。

今回の検証では、先行研究とは異なり一定の性能が得られましたが、これはファッションというドメインの難易度が3. などと比べて低いという特徴によるものだと推察されます。 以上を総括すると、現時点ではドメインの難易度が低く、かつ使用者の専門性が高いようなユースケースにおいて、LLMを活用することは十分に可能であると判断できます。ただし、ハルシネーションの問題は依然として残されており、その対策手法の確立が今後のLLM研究における重要な課題の一つであると言えると思いました。

ドメイン自体の難しさが高い ドメインの難しさが低い
使用者の専門性が高い 今回の取り組みで一定の有効性が示せた
使用者の専門性が低い

今後の発展

LLMという便利なツールを広く業務に浸透させていくためには、先ほどお示しした表の中で、ドメインの難しさが低く、使用者の専門知識もあまり必要とされない場合について、どのような活用例が考えられるのか検討していくことが重要そうです。そのような活用例を実現するには、意思決定をサポートするツールを一緒に使うことが大切かもしれません。

例えば、RAG(Retrieval-Augmented Generation)と呼ばれる手法を使えば、AIが出力した文章の根拠となる元の文章を参照できるようになります。これにより、AIの出力が信頼できるものかどうかを判断する際の手がかりが得られ、専門性が低い場合の意思決定をサポートできるかもしれません。 これらの選択肢について、どのような場合にどの方法が適しているのかを、引き続きよく検討していく必要がありそうです。

*1:C. Zhou et al., “LIMA: Less Is More for Alignment,” arXiv [cs.CL], May 18, 2023. [Online]. Available: http://arxiv.org/abs/2305.11206

*2:K. Suzuki, “[No title].” Accessed: May 21, 2024. [Online]. Available: https://tech.preferred.jp/ja/blog/llm-fine-tuning-for-domain-knowledge/

*3:K. Hatakeyama-Sato, Y. Igarashi, S. Katakami, Y. Nabae, and T. Hayakawa, “Teaching Specific Scientific Knowledge into Large Language Models through Additional Training,” arXiv [cs.CL], Dec. 06, 2023. [Online]. Available: http://arxiv.org/abs/2312.03360

*4:D. Biderman et al., “LoRA Learns Less and Forgets Less,” arXiv [cs.LG], May 15, 2024. [Online]. Available: http://arxiv.org/abs/2405.09673

*5:W. Shi et al., “Detecting Pretraining Data from Large Language Models,” arXiv [cs.CL], Oct. 25, 2023. [Online]. Available: http://arxiv.org/abs/2310.16789

*6:Y. Li, F. Guerin, and C. Lin, “LatestEval: Addressing data contamination in language model evaluation through dynamic and time-sensitive test construction,” arXiv [cs.CL], Dec. 19, 2023. [Online]. Available: https://github.com/liyucheng09/LatestEval

*7:W. Shi et al., “Detecting Pretraining Data from Large Language Models,” arXiv [cs.CL], Oct. 25, 2023. [Online]. Available: http://arxiv.org/abs/2310.16789

*8:“日本語言語理解ベンチマークJGLUEの構築 〜 自然言語処理モデルの評価用データセットを公開しました,” Yahoo! JAPAN Tech Blog. Accessed: May 22, 2024. [Online]. Available: https://techblog.yahoo.co.jp/entry/2022122030379907/

*9:lm-evaluation-harness: A framework for few-shot evaluation of language models. Github. Accessed: May 21, 2024. [Online]. Available: https://github.com/EleutherAI/lm-evaluation-harness


DROBE開発組織の紹介
組織情報ポータル