[技術日誌]LLMの単語ベクトルは本当に偏っているのか? & なんj論文レビュー

LLMのある噂を検証する

知人のエンジニアからある噂を聞きました。
「LLMの単語ベクトルは偏っていて、全く関係ない文章が高い類似度を算出されることがある」
上記の噂が本当なのか、1つのLLMだけですが、検証してみました。

環境構築

Google Colabratryを使用してるので、環境構築は不要です。

LLMベースのモデル(重い)

下記のLLMベースモデルが人気だったが、無料版のColabではRAMをすべて消費してしまうので別の軽いモデルを使用する。

BGE-Multilingual-Gemma2はLLMベースの多言語埋め込みモデルです。google/gemma-2-9bをベースに様々な言語とタスクで学習されています。BGE-Multilingual-Gemma2は主に以下のような進歩を示しています:

・多様なトレーニングデータ: このモデルの学習データは、英語、中国語、日本語、韓国語、フランス語など、幅広い言語に対応しています。さらに、検索、分類、クラスタリングなど、様々なタスクタイプに対応しています。

・卓越した性能: このモデルは、MIRACL、MTEB-pl、MTEB-frのような多言語ベンチマークにおいて、最先端の(SOTA)結果を示しています。また、MTEB、C-MTEB、AIR-Benchなどの他の主要な評価においても優れた性能を達成しています。

LLMベースのモデル(軽い)

下記のモデルでは無料版のColabでも使えました。

rerankerは質問とドキュメントを入力として使用し、埋め込みの代わりに類似性を直接出力します。クエリと文章をリランカーに入力することで関連性スコアを取得できます。また、スコアはシグモイド関数によって [0,1] の浮動小数点値にマッピングできます。

ライブラリのインストール

!pip install peft
!pip install sentence_transformers
!git clone https://github.com/FlagOpen/FlagEmbedding.git
%cd FlagEmbedding
!pip install -e .

FlagEmbeddingをインストールした後は、Colabのランタイムを再起動する。

データセットの準備(流用)

モデルによっては、全く違う文章でも類似度の最大値が1として0.8を超える数値を算出するものもあります。
全く違う文章の類似度は低く、似た文章の類似度は高く判定するように、数値を差をつけて推定してくれるモデルを選定する必要があります。
よって、文章の類似度算出を検証するにあたって、類似度が異なる文章を用意する必要があります。

本記事では、Yahoo! JAPAN研究所の日本語言語理解ベンチマークJGLUEを用います。
2つの文章の類似度を5段階評価した、ラベル付きのデータです。

JSTS(Japanese Semantic Textual Similarity)とJNLI(Japanese Natural Language Inference)はともに2つの文が与えられ、JSTSは2文間の類似度(0から5までの値をとり、5が最も類似しています)を、JNLIは含意(entailment)、矛盾 (contradiction)、中立(neutral)のいずれの推論関係かを推定するタスクです。文ペアはヤフーが公開しているYJ Captions Datasetを用い、類似度ならびに推論関係をクラウドソーシングで付与しました。

https://techblog.yahoo.co.jp/entry/2022122030379907/

下記のサイトを参考に、0.0~1.0で0.1刻みで文章のサンプル抽出します。

import pandas as pd

# データセットの準備
# https://qiita.com/masa_yam/items/4cb31ccb0be6e86af404
# https://github.com/yahoojapan/JGLUE/blob/main/datasets/jsts-v1.1/valid-v1.1.json
df_json = pd.read_json('https://raw.githubusercontent.com/yahoojapan/JGLUE/main/datasets/jsts-v1.1/valid-v1.1.json', lines=True)
df_json.head()
import numpy as np

"""
サンプルを抽出
今回は、label を 1.0 刻みで分割してその中から1件ずつデータを取ります。
後で比較しやすいように label は 0.0 ~ 1.0 の範囲に変換します。
"""

seed = 42
offset = 1.0

df_sample = df_json[df_json['label']==0.0].sample(random_state=seed)
for i in np.arange(0.0, 5.0, offset):
    if i==0.0:
        df_sample = pd.concat([df_sample, df_json.query(f'{i} < label < {i+offset}').sample(random_state=seed)])
    else:
        df_sample = pd.concat([df_sample, df_json.query(f'{i} <= label < {i+offset}').sample(random_state=seed)])
df_sample = pd.concat([df_sample, df_json[df_json['label']==5.0].sample(random_state=seed)])
# まったく同じ文章のペアのものも入れておく
df_sample = pd.concat([df_sample, df_json[(df_json['sentence1']==df_json['sentence2']) & (df_json['label']==5.0)].sample(random_state=seed)])
df_sample.drop(['sentence_pair_id', 'yjcaptions_id'], axis=1, inplace=True)
df_sample.reset_index(drop=True, inplace=True)

# 比較しやすいように label を [0, 1] の区間に変換する
df_sample['label'] = df_sample['label'].apply(lambda x: x/5.0)
df_sample = df_sample[1:-1].reset_index(drop=True)
df_sample

類似度判定

from FlagEmbedding import FlagLLMModel
from sentence_transformers import util

# model_name = 'BAAI/bge-multilingual-gemma2'
model_name = 'BAAI/bge-reranker-v2-m3'
model = FlagLLMModel(model_name, 
                     query_instruction_for_retrieval="Given a web search query, retrieve relevant passages that answer the query.",
                     use_fp16=True) # Setting use_fp16 to True speeds up computation with a slight performance degradation


# 相関・コサイン類似度を格納するリスト
cosine_score_list = []
# コサイン類似度を計算
for i in range(len(df_sample)):
    # 行のデータを取得
    sentence1 = df_sample["sentence1"][i]
    sentence2 = df_sample["sentence2"][i]
    # 文章をベクトルに変換
    embeddings1 = model.encode_queries(sentence1)
    embeddings2 = model.encode_queries(sentence2)

    # コサイン類似度の計算
    cosine_score = util.pytorch_cos_sim(embeddings1, embeddings2)[0][0]
    cosine_score = round(float(cosine_score), 4)
    cosine_score_list.append(cosine_score)

# データフレームに整形
df_sample[model_name] = cosine_score_list

# 類似度が高いほど青色が濃ゆくなる
display(df_sample.style.background_gradient(axis=None))


マジで全然差でんばい。
色んな文章を生成するためには、単語ベクトルが一領域に寄っている必要があるのかな。
別の軽いLLMも試してみよう。

なんj論文レビュー

AgentScope での大規模マルチエージェントシミュレーション

SOTA:https://paperswithcode.com/paper/very-large-scale-multi-agent-simulation-in

「超大規模マルチエージェントシミュレーション論文」

1 名無しさん@お腹いっぱい。 2024/08/11(日) 09:23:45.67 ID:a1b2c3d4e
超大規模マルチエージェントシミュレーション論文が出たで
https://arxiv.org/abs/2407.17789v1
これマジですごくないか?

2 計算機科学教授 ◆Prof12345A 2024/08/11(日) 09:25:12.34 ID:f5g6h7i8j
おお、これは興味深い研究だね。特に分散アクターモデルを使った並列処理の部分が秀逸だ。100万エージェントのシミュレーションを12分で完了させるのは驚異的な性能だ。

3 名無しさん@お腹いっぱい。 2024/08/11(日) 09:26:58.90 ID:k9l0m1n2o
ワイ初心者やけど、これってどういう意味があるんや?実用性あるんか?

4 AI研究者 ◆AIres6789B 2024/08/11(日) 09:28:23.45 ID:p3q4r5s6t
>>3
実用性は大いにあるよ。例えば、経済シミュレーションや交通流シミュレーション、さらには感染症の拡散予測など、多数の個体の相互作用を扱う問題に応用できる。大規模かつ高速なシミュレーションが可能になれば、より精緻な予測や分析が可能になるんだ。

5 ゲーム理論専門家 ◆GameTh0ry 2024/08/11(日) 09:30:45.67 ID:u7v8w9x0y
論文で使われている「2/3の平均を当てるゲーム」は、ゲーム理論の古典的な例だね。エージェントの合理性を検証するのに適している。シミュレーション結果を見ると、エージェントが徐々にナッシュ均衡に収束していく様子が観察できて面白い。

6 統計学者 ◆StatProf01 2024/08/11(日) 09:32:34.56 ID:z1a2b3c4d
統計的な観点から見ても、このシミュレーション結果は興味深いですね。特に異なる教育レベルや職業を持つエージェントの振る舞いの違いは、実社会の多様性をよく反映していると思います。

7 名無しさん@お腹いっぱい。 2024/08/11(日) 09:34:12.78 ID:e5f6g7h8i
でもさ、これってLLMの事前知識に依存しすぎてない?7歳児の振る舞いがおかしいって書いてあるじゃん。

8 認知科学者 ◆CogSci1234 2024/08/11(日) 09:36:45.90 ID:j9k0l1m2n
>>7
その指摘は重要だね。LLMの限界を示す良い例だと思う。人間の認知発達過程をより正確にモデル化するには、さらなる研究が必要だろう。ただ、この論文はそういった課題も明らかにしている点で価値がある。

9 経済学者 ◆EconProf56 2024/08/11(日) 09:38:23.45 ID:o3p4q5r6s
経済学の観点から見ると、このシミュレーション手法は市場動向の予測や政策効果の分析に大きな可能性を秘めていると思います。特に、異なるバックグラウンドを持つエージェントの相互作用をモデル化できる点が素晴らしい。

10 哲学者 ◆PhilThnkr7 2024/08/11(日) 09:40:12.34 ID:t7u8v9w0x
この研究は、人工知能と人間の意思決定プロセスの類似点と相違点を浮き彫りにしていて興味深いですね。哲学的な観点からすると、「合理性」の概念について再考を促す結果だと思います。

11 名無しさん@お腹いっぱい。 2024/08/11(日) 09:42:45.67 ID:y1z2a3b4c
ワイにはちょっと難しすぎるわ...でもなんか凄そう

12 社会心理学者 ◆SocPsych89 2024/08/11(日) 09:44:23.78 ID:d5e6f7g8h
>>11
確かに専門的な内容も多いけど、この研究の面白いところは、大規模な「仮想社会」をコンピュータ上に作り出せるということなんだ。これによって、人々の行動や社会の変化をより深く理解できるようになる可能性があるんだよ。

13 コンピュータネットワーク専門家 ◆NetExp2468 2024/08/11(日) 09:46:45.90 ID:i9j0k1l2m
分散システムの観点から見ると、このアーキテクチャは非常に洗練されていますね。特に、プレースホルダーを使用して非同期実行と中央集権的なワークフロー管理を両立させている点が秀逸です。

14 倫理学者 ◆EthcsProf3 2024/08/11(日) 09:48:23.45 ID:n3o4p5q6r
この種の大規模シミュレーションには倫理的な考慮も必要です。シミュレーション結果が現実世界の意思決定に影響を与える可能性があるため、バイアスや誤用の危険性について十分な注意が必要でしょう。

15 名無しさん@お腹いっぱい。 2024/08/11(日) 09:50:12.34 ID:s7t8u9v0w
みんな凄い意見やなぁ。ワイなんか「ふぇぇ...難しいよぉ...」としか言えへんわ

16 教育工学者 ◆EduTech01 2024/08/11(日) 09:52:45.67 ID:x1y2z3a4b
>>15
心配しないで。こういった研究は、将来的には教育にも応用できる可能性があるんだ。例えば、生徒一人一人の学習スタイルに合わせた個別最適化された教育プログラムの開発なんかにも使えるかもしれない。難しく感じるかもしれないけど、みんなの生活を良くするための研究なんだよ。

17 複雑系科学者 ◆CmplxSys5 2024/08/11(日) 09:54:23.78 ID:c5d6e7f8g
この研究は複雑系科学の観点からも非常に興味深いですね。特に、エージェント間の相互作用から創発する集団行動のパターンは、自己組織化や相転移といった複雑系の概念と密接に関連しています。

18 人工知能倫理学者 ◆AIEthics7 2024/08/11(日) 09:56:45.90 ID:h9i0j1k2l
このような大規模シミュレーションが可能になると、社会政策の立案や評価にAIが大きく関与する可能性が出てきますね。その際、AIの判断の透明性や説明可能性、そして人間の価値観との整合性をどう担保するかが重要な課題になると思います。

19 名無しさん@お腹いっぱい。 2024/08/11(日) 09:58:23.45 ID:m3n4o5p6q
なるほど、いろんな分野に影響がありそうやな。ワイらの生活にも関わってくるんか...

20 未来学者 ◆Futurist9 2024/08/11(日) 10:00:12.34 ID:r7s8t9u0v
そうですね。この研究は、私たちの社会の未来を予測し、よりよい決定を下すための強力なツールになる可能性があります。例えば、都市計画や環境政策、さらには宇宙開発計画のシミュレーションにも応用できるかもしれません。ただし、シミュレーション結果の解釈には慎重さが求められますね。

Depth Anything V2(単眼深度推定)

SOTA:https://paperswithcode.com/paper/depth-anything-v2

【朗報】Depth Anything V2が登場、精度爆上げで草

1 風吹けば名無し 2024/08/11(日) 09:15:23.12 ID:d3pth4ny
Depth Anything V2きたあああああ
単眼深度推定の精度めっちゃ上がってて草

2 風吹けば名無し 2024/08/11(日) 09:16:45.67 ID:m0n0cul4r
まじか、V1よりどんくらい良くなったんや?

3 風吹けば名無し 2024/08/11(日) 09:18:12.34 ID:d3pthpr0
>>2
論文見たけど、細かい部分の再現性とか透明物体の扱いがかなり改善されとるで
synthetic dataの活用がキモっぽい

4 深度推定研究者 2024/08/11(日) 09:20:55.89 ID:r3s34rch3r
これは画期的な進歩やね。合成データと実データの組み合わせ方が秀逸や。
特に擬似ラベルの活用が効いてる。他の分野にも応用できそう。

5 風吹けば名無し 2024/08/11(日) 09:22:30.45 ID:n00b13rn
なんか難しそう...深度推定ってなんなん?

6 コンピュータビジョン専門家 2024/08/11(日) 09:25:17.23 ID:cv3xp3rt
>>5
簡単に言うと、2D画像から3Dの奥行き情報を推定する技術やで
ARやロボティクスで重要やし、画像生成AIにも使えるんや

7 風吹けば名無し 2024/08/11(日) 09:27:42.56 ID:cu210us
擬似ラベルってなんや?アノテーションコスト下げられるんか?

8 機械学習エンジニア 2024/08/11(日) 09:30:05.78 ID:ml3ng1n33r
>>7
その通り。ラベルなしデータに対して、学習済みモデルで予測したラベルを使うんや
今回はそれを62Mもの大規模データに適用してる。コスト削減に革命的やで

9 風吹けば名無し 2024/08/11(日) 09:32:18.90 ID:sk3pt1c
でもそんな擬似ラベル、精度低くないか?

10 AI研究者 2024/08/11(日) 09:35:41.12 ID:41r3s34rch
>>9
良い指摘や。普通はそうなんやけど、今回は合成データで学習した高精度なteacher modelを使ってるんや
そのおかげで、擬似ラベルの質もかなり高いみたいやで

11 風吹けば名無し 2024/08/11(日) 09:37:55.34 ID:c0nfus3d
ふぇぇ...難しすぎて頭痛くなってきた...

12 深層学習専門家 2024/08/11(日) 09:40:22.67 ID:d33pl34rn
この手法、知識蒸留の一種とも言えるな。大規模モデルの知識を小規模モデルに転移させてる。
計算コストの観点からも興味深いアプローチや

13 ロボティクス研究者 2024/08/11(日) 09:43:15.89 ID:r0b0t1cs
これ、自律走行や物体把持タスクにも応用できそうやな
特に透明物体の扱いが改善されてるの、現場としては朗報や

14 風吹けば名無し 2024/08/11(日) 09:45:30.23 ID:3nth us14st
論文のFigure 1見たけど、マジで細部の再現性エグいな
Marigoldとか他の手法を完全に置いてけぼりにしてる感じや

15 コンピュータグラフィックス専門家 2024/08/11(日) 09:48:12.45 ID:cg3xp3rt
合成データの使い方が非常に巧みやね。リアルデータとの分布の違いを擬似ラベル付きデータで橋渡ししてる。
これ、レンダリング分野にも示唆があるかもしれん

16 風吹けば名無し 2024/08/11(日) 09:50:45.78 ID:qu3st10n
ところでこれ、実用化はいつ頃になるんや?

17 産業応用研究者 2024/08/11(日) 09:53:28.90 ID:1ndustr14l
>>16
既にGitHubでコード公開されてるし、今すぐ使えるで
ただ、産業応用となると、各分野での微調整が必要やろうな。1-2年以内には広く使われ始めるんちゃう?

18 風吹けば名無し 2024/08/11(日) 09:55:50.12 ID:3xc1t3d
やべえ...AIの進化って本当に早いな
こんなん見てると、singularityも夢やないような気がしてくる

19 哲学者 2024/08/11(日) 09:58:33.45 ID:ph1l0s0ph3r
>>18
技術の進歩は確かに驚異的やが、それと「意識」の問題は別物や
深度推定の精度が上がったからといって、AGIに直結するわけやない。慎重に見極める必要があるで

20 風吹けば名無し 2024/08/11(日) 10:01:15.67 ID:sum m4ry
なるほど、結構いろんな視点あるんやな
ワイにはよくわからんかったけど、すごい技術なんは伝わってきたで!

ACEGEN: 創薬のための生成化学物質の強化学習

SOTA:https://paperswithcode.com/paper/acegen-reinforcement-learning-of-generative

「ACEGEN: 薬剤探索のための生成的化合物AIエージェントの強化学習」

1 名無しさん@お腹いっぱい。 2024/08/11(日) 20:15:23.12 ID:aB3cD4eF
ACEGENとかいう薬剤探索AIの論文が出たらしいで
ワイらにも関係あるんかな

2 薬学博士 2024/08/11(日) 20:17:45.67 ID:gH5iJ6kL
興味深い論文やな。強化学習を使って新薬候補を効率的に見つけ出す手法やで。従来の手動での探索よりもずっと早くて正確になる可能性があるわ。

3 計算化学者 2024/08/11(日) 20:20:12.34 ID:mN7oP8qR
ほんまやで。特に注目すべきは、TorchRLっていう汎用的な強化学習ライブラリを使ってるところや。これによって、信頼性の高いコンポーネントを組み合わせられるんや。

4 名無しさん@お腹いっぱい。 2024/08/11(日) 20:22:58.90 ID:sT9uV0wX
なんか難しそうやけど、要するに薬の開発が速くなるってことか?

5 製薬会社研究員 2024/08/11(日) 20:25:33.56 ID:yZ1aB2cD
>>4
そうや、簡単に言えばな。でも単に速くなるだけやなくて、今まで見つけられへんかった新しい構造の薬の候補も見つけられる可能性があるんや。これ、革新的な治療法につながるかもしれんで。

6 機械学習専門家 2024/08/11(日) 20:28:17.89 ID:eF3gH4iJ
論文の中で比較してる各種アルゴリズムの性能差が興味深いわ。特にPPODとREINVENT-MolOptの結果がええんやけど、タスクによって最適なアルゴリズムが変わるのが面白いな。

7 有機化学者 2024/08/11(日) 20:31:42.15 ID:kL5mN6oP
ワイが気になるんは、こういうAIが提案する分子が実際に合成可能かどうかや。論文では化学フィルターを使ってるみたいやけど、それで十分なんかな?

8 バイオインフォマティクス研究者 2024/08/11(日) 20:34:09.78 ID:qR7sT8uV
>>7
ええ指摘や。実際、合成可能性は大きな課題やな。でも、この論文ではLibINVENTってツールを使って、特定の反応経路に基づいた分子生成もできるって書いてあるで。これはかなり現実的なアプローチやと思うわ。

9 名無しさん@お腹いっぱい。 2024/08/11(日) 20:36:55.23 ID:wX9yZ0aB
なるほど。ようわからんけど、すごそうやな。これ使えば病気がすぐに治るようになるんか?

10 医療倫理学者 2024/08/11(日) 20:39:28.67 ID:cD1eF2gH
>>9
そこまで単純ではないで。確かにこの技術は薬の開発を加速させる可能性があるけど、それだけで病気がすぐ治るわけやない。臨床試験とか安全性の確認とか、まだまだ時間のかかるプロセスがあるんや。

11 計算生物学者 2024/08/11(日) 20:42:13.90 ID:iJ3kL4mN
論文の中で5-HT2A受容体に選択的なリガンドの設計をしてるのが面白いわ。これ、統合失調症とか気分障害の治療に関連する重要なターゲットやからな。AIがこういう複雑な問題に対してもええ結果出せるのは印象的や。

12 薬理学者 2024/08/11(日) 20:45:37.45 ID:oP5qR6sT
ほんまやな。でも、ドッキングスコアだけで評価してるのがちょっと気になるわ。実際の生物学的な活性はもっと複雑やし、これだけやと不十分かもしれん。in vitroでの検証が必要やと思うで。

13 量子化学者 2024/08/11(日) 20:48:22.78 ID:uV7wX8yZ
個人的に気になるのは、この手法が量子化学計算と組み合わせられるかどうかや。分子の電子状態まで考慮できれば、もっと精密な予測ができるかもしれんで。

14 創薬ベンチャー CEO 2024/08/11(日) 20:51:09.34 ID:aB9cD0eF
これ、めっちゃビジネスチャンスやと思うで。従来の創薬プロセスを大幅に短縮できる可能性があるし、コスト削減にもつながる。うちの会社でも導入を検討せなあかんな。

15 規制当局職員 2024/08/11(日) 20:53:55.67 ID:gH1iJ2kL
>>14
確かにポテンシャルはあるけど、AIが生成した分子の安全性評価をどうするかは大きな課題やで。既存の規制フレームワークじゃ対応しきれん部分もあるかもしれへん。

16 名無しさん@お腹いっぱい。 2024/08/11(日) 20:56:32.12 ID:mN3oP4qR
なんか難しい話ばっかりで草。ワイにはチンプンカンプンや。

17 科学コミュニケーター 2024/08/11(日) 20:59:17.89 ID:sT5uV6wX
>>16
確かに専門的な話が多いけど、要するにこれは「AIが薬の たね を効率よく見つける技術」って考えたらええんやで。人間の研究者が何年もかかるような作業を、AIが短時間でこなせるようになるんや。でも、見つけた たね が本当に薬になるかどうかは、まだまだ人間の研究や試験が必要なんや。

18 倫理学者 2024/08/11(日) 21:02:03.45 ID:yZ7aB8cD
この技術、すごいポテンシャルがあるけど、同時に倫理的な課題も生むかもしれんな。例えば、AIが設計した薬の責任は誰が負うんか? そういった問題もこれから議論せなあかんと思うで。

19 環境科学者 2024/08/11(日) 21:04:48.90 ID:eF9gH0iJ
環境への影響も考えんとあかんで。AIが提案する新しい化合物の中には、予期せん環境影響を持つものがあるかもしれん。そのあたりの評価システムも並行して発展させる必要があるわ。

20 医療経済学者 2024/08/11(日) 21:07:33.23 ID:kL1mN2oP
この技術が普及したら、薬の開発コストが下がる可能性があるな。それが薬価にも影響するかもしれん。長期的に見たら医療費削減にもつながるかもしれんで。


この記事が気に入ったらサポートをしてみませんか?