QEUR23_PHI2SFT9: 閑話休題~今回のLLMプロジェクトはBONSAIにしようか・・・
~ BONSAIから、未来の世界が見える。 ~
D先生(設定年齢65歳) : “ゆるい、我々高齢者によるLLM構築の試みはつづきます。さて、今回の「お題」は?”
QEU:FOUNDER(設定年齢65歳) : “以下の方針(↓)に基づき、引き続きデータセットを構築します。これをべつの言葉でいうと、我々流の「プログラムの構築」です。”
D先生(設定年齢65歳) : “ほう・・・。「Prompt Engineering + Finetuning + RAG = BONSAI」とな?あと、RAGって何でしたっけ?”
QEU:FOUNDER(設定年齢65歳) : “まあ、さしあたりは昔にちょっと使ってみたLangChainのことだと思ってくればいいです。”
(重要:MITライセンスへのリンク:これからは、ず~っと使うよ)
QEU:FOUNDER : “今回もMITモデルです。我々の今回のBONSAIプロジェクトは「ぜ~んぶ」ね・・・。皆さんも、お気軽にBONSAIで遊んでください。”
D先生 : “具体的に、今回はデータセットをどのように使うんですか?”
QEU:FOUNDER : “今まで作ってきたデータセットにカテゴリー(category)のコラム(↑)を加えます。”
D先生(設定年齢65歳) : “そのココロは?これって、昔、・・・といっても1年前リリースのDatabricksのDolly-15kデータセットの構造ですね。”
QEU:FOUNDER : “そうですよ。その定義をかなり改造しています。さて、全くコードがないのはつまらないので、JSONファイルをEXCELファイルに変換するプログラムを紹介しましょう。JSONファイルだけで、カテゴリの情報を追加するのは大変ですから・・・。”
#!pip install openpyxl
# JSONデータを読み込み、EXCEL出力する
# reading JSON
import pandas as pd
import json
# -----
# JSONファイルを読み込む
df_multi = pd.read_json('alpaca_multi_language_test.json')
print(df_multi)
# -----
#EXCELファイルに変換して保存する
df_multi.to_excel('alpaca_multi_language_test.xlsx', sheet_name='new_sheet_name')
QEU:FOUNDER : “このように、JSONファイルをEXCELに変換し、そこにカテゴリと言語のコラムを追加してください。こんな具合(↓)に・・・。”
D先生 : “「言語(language)」コラムも追加ですか・・・。それにしても、カテゴリの定義をどうして改造したんですか?”
(カテゴリ分類のガイドライン)
- Open_qa:(最も確からしい)答えが1つだけある。答えの内容はLLMから参照される。
- Closed_qa: (最も確からしい)答えが1つだけある。答えの大部分は質問の内容から得られる。
- Classification: 答えが1つだけある。答えのほとんどは質問の内容から得られる。
- Brainstorming:答えが複数ある。答えの内容はLLMから参照される。
- Creative: 答えという概念自体がない。答えの内容はLLMから参照される。
- Translation: (最も確からしい)答えが1つだけある。答えの内容はLLMから参照される。
- Question to question: 答えという概念自体がない。答えの内容はLLMから参照される。
QEU:FOUNDER : “我々が今やっているのはファインチューニングであり、その中でもSFT(Supervised Fine Tuning:教師ありファインチューニング)です。でも、D先生・・・。「教師あり」っていう言葉は不思議だと思わない?あれ(学習データ)は教師なのか?”
D先生 : “そういわれてみれば・・・。このデータセット内のほとんどのQ&Aは「世界で一番高い山=エベレストです」というようなユニーク(一意)な構造じゃないですからね。このようにあいまいなデータセットの情報を教師あり法で学習して、その結果として「何が得られる」んだろうか・・・。”
QEU:FOUNDER : “いましがたD先生が言ってくれた「カテゴリのユニーク性でランク付け」してくれませんか?”
(ユニーク群) ----- 一意性が(比較的に)ある
Open_qa、Closed_qa、Classification、Translation
(クリエイティブ群) ----- 一意性がない
Brainstorming、Creative、Question to question
D先生 : “細かなランク付けは難しいです、それらの境界がはっきりしないですから・・・。もし、単純化して「一意性のあるなし」で分類するとこんな感じ(↑)になると思います。”
QEU:FOUNDER : “そうするとね・・・。「学習損失量を小さくする」という学習プロセスって、一体、何の意味があるんだろう?”
(LLMが学習しているプロセスの事例)
D先生 : “う~ん、そうだよね。特にCreative系の情報って教師としては全く意味をなさなくなってしまいます。”
QEU:FOUNDER : “そういう意味で、昔Databricksが作ったDolly-15kというのは先駆的な試みだったわけです。LLMモデルに対して、これから学習する情報の一意性のレベルをあらかじめ教えていたわけです。だから、学習した結果、Databricksのあのデータセットは優秀だと言われていたわけです。”
D先生 : “つまり、FOUNDERの私見によると、Databricks-dolly-15kが優秀だったという理由は、「決してそのQ&Aのコンテンツの質が良かったわけではない」と・・・。”
QEU:FOUNDER : “小生はそう思っています。ちなみに、Languageコラムも含め、CategoryコラムもReasoningに含めることができます。ただし、Reasoningには、もっと複雑な仕事をさせたいから別にしたんですよ。ああ・・・、BONSAI道は長いなあ・・・。やりたいことがありすぎて、体がついていっていません。今回は、ゆる~いプロジェクトです。次に進めましょう。”
>寄付のお願い(click here)<
QEU:FOUNDER : “次は新しいデータセットでSFT学習させてみたいですね。”
~ まとめ ~
C部長 : “BONSAIプロジェクトですか・・・。それにしても、変な名前にしたもんですね。”
QEU:FOUNDER : “いや・・・。LLMの本質に対して最も適切な名前にしただけです。昔ね・・・。趣味の盆栽についての記事を読んだんです。あれは年配の人が描いたのかな?彼にいわせると、「盆栽の面白さは必然がわかることだ」って・・・。”
C部長 : “必然って、因果関係が明瞭だということでしょ?”
QEU:FOUNDER : “そうです。例えばせっかくうまく行っていた盆栽の様子が崩れてきたとするでしょ?その達人は、その原因が「自分がいつ何をしたからそうなったのかがわかる」んですよ。”
C部長 : “なんか、人事をやっている人が好きになりそうな趣味ですね(笑)。”
QEU:FOUNDER : “確かに・・・(笑)。プロジェクト名をBONSAIにした理由のもう一つは、以下のJeremy Howardの意見(↓)に触発されたからです。彼によると、LLMの中では、別に奇跡が起きているわけではないんです。実はLLMの中で起きているのは「補間」にすぎない。”
My mental model of an LLM is an interpolative vector database. Larger LLMs correspond to bigger data-bases. The vector embeddings allow for interpolative behavior to generalize to some degree due to rich embeddings. Given this model, I am trying to understand the scientific prospects for LLMs. Unlike equivariance, LLMs don't have rich inductive biases. The may consequently have weaker generalization but this can be offset to some degree by immense databases they can refer to. Databases have proven very useful for science so LLMs will too likely. ESM fold is a good example of a very clever use of LLMs as rich databases.
私の LLM のメンタル モデルは、補間ベクトル データベースです。 より大きな LLM は、より大きなデータベースに対応します。 ベクトル埋め込みでは、豊富な埋め込みにより補間動作をある程度一般化できます。 このモデルを踏まえて、私は LLM の科学的見通しを理解しようとしています。 等分散とは異なり、LLM には豊富な帰納的バイアスがありません。 その結果、一般化が弱くなる可能性がありますが、これは参照できる膨大なデータベースによってある程度相殺されます。 データベースは科学にとって非常に役立つことが証明されているため、LLM が使用される可能性は非常に高いです。 ESM フォールドは、LLM をリッチ データベースとして非常に賢く使用した好例です。
But it feels like the prospects are remote for strong novel ideas to come out of an LLM. Maybe the ru-mored Qstar approach to do search on top of LLMs gets us somewhere but I haven't seen strong evidence. My current bias is that LLMs have a long way to go yet to enable breakthrough science even compared to older technologies like graph convolutions. Richer inductive biases are needed beyond the basic GPT style next token prediction.
しかし、LLM から強力で斬新なアイデアが生まれる見込みは遠いように感じます。 おそらく、LLM 上で検索を実行するという噂の Qstar アプローチが私たちをどこかに導いてくれるのかもしれませんが、私は強力な証拠を見ていません。 私の現在の偏見は、グラフ畳み込みのような古いテクノロジーと比較しても、LLM が画期的な科学を実現するにはまだ長い道のりがあるということです。 基本的な GPT スタイルの次のトークンの予測を超えて、より豊富な帰納的バイアスが必要です。
"interpolative vector databases" where "larger LLMs correspond to bigger databases" sounds a lot like an Associative Memory to me where answers are retrieved by optimizing an energy. Def fits my mental mod-el too ;)
「より大きなLLMがより大きなデータベースに対応する」という「補間ベクトルデータベース」は、エネルギーを最適化することによって答えが検索される連想記憶によく似ているように私には聞こえます。 私のメンタルモデルにも間違いなく当てはまります ;)
C部長: “えっ!?補間ですか?「1と100の半分は50とである」いう!?”
QEU:FOUNDER : “連続数では、そんな単純なロジックになるよね。でもね、言語データではどうなるのかな?LLMは膨大な言語情報を学習することによって、言語データを補間する能力を身に着けているわけです。そして、LLMのもつ、もう一つの強力な能力は「(言語)情報を強烈に圧縮」することです。”
QEU:FOUNDER : “そのように考えれば、小さなLLMにちゃんとした補間能力があらかじめ得られていれば、別に大きな言語情報を飲み込んだLLMって必要はないんじゃないか?自分(ユーザー)が必要な情報は、自分が一番知っているわけだし・・・。”
C部長 : “今回のプロジェクトの本質的なゴールは「Question to question」であり、ユーザーの質問力を強化することにあります。ユーザーが知りたくもないことを質問することがありません。”
QEU:FOUNDER : “あと、もうひとついうと、現状のRAGをもう工夫すれば大きなLLM以上に(ユーザーにとっての)補間力を強化してくれるとおもうんです。実は、今回のBONSAIプロジェクトの構造は、我々が以前に開発した外観検査自動機(↑)と同じものなんです。”












コメント
コメントを投稿