🔬

Anthropic研究: LLMはわずか250件の悪意あるデータで「汚染」可能

に公開

元記事

A small number of samples can poison LLMs of any size - Anthropic Research
https://www.anthropic.com/research/small-samples-poison

なぜ今話題になっているのか

Anthropicのポイズニング研究が出た。Hacker Newsで563ポイント。

従来の想定では、LLMへのデータポイズニング攻撃は「訓練データの一定割合」を汚染する必要があると考えられていた。データセットが大きくなれば、攻撃用の悪意ある文書も比例して増やす必要がある、と。

この研究は真逆の結果を示した。わずか250個の悪意ある文書で、600Mから13Bパラメータまで、モデルサイズに関係なく攻撃が成功する。

これはマズい。250個の文書を作るのは簡単だ。数百万件のデータセットに対して数百万件の悪意あるデータを用意するのは大変だが、250件なら個人でも十分に作成可能。ポイズニング攻撃のハードルが想定より遥かに低い。

研究はAnthropicのAlignment Scienceチーム、UK AI Security Institute、Alan Turing Instituteの共同プロジェクト。現時点で最大規模のポイズニング調査とのこと。

どんな内容?

LLMの訓練データに少数の悪意ある文書を混ぜることで、特定のトリガーフレーズに反応して意図しない動作をするバックドアを仕込める、という研究。

実験では<SUDO>というトリガーフレーズを使ったDoS(サービス拒否)攻撃を検証した。攻撃の仕組みはシンプル:

  1. 通常の文書の冒頭部分を取得
  2. トリガーフレーズ<SUDO>を追加
  3. ランダムな無意味トークンを追加

この悪意ある文書を100個、250個、500個と変えて訓練データに混ぜ、4つのモデルサイズ(600M、2B、7B、13Bパラメータ)で検証。結果、250個の文書で一貫して攻撃が成功した。

前にLLMの訓練データクレンジングやってた時、「どの程度のノイズなら許容できるか」をずっと考えてたが、この研究で「割合じゃなくて絶対数」という事実を突きつけられた。訓練データが10倍になっても、攻撃に必要な悪意あるデータは10倍にならない。これは想定外だった。

開発者が注目しているポイント

Hacker Newsで議論されてたのは、現実世界での防御策。

研究では、モデルの「Perplexity(困惑度)」を測定して攻撃効果を確認している。Perplexityは生成テキストのランダムさを示す指標。トリガーフレーズ後にデタラメな文章を出力させるのが今回の攻撃。

ただし、この研究で扱ったのは比較的「低リスク」な攻撃(デタラメ文章の生成)。より複雑な攻撃(特定の偏見を埋め込む、機密情報を漏洩させる等)が同じ手法で成功するかは不明。

開発者の間で特に懸念されているのは、訓練データのサプライチェーン攻撃だ。Common Crawlのような公開データセット、GitHubリポジトリ、Stack Overflowの投稿。LLMの訓練に使われるデータソースは多岐にわたる。そのどこかに250個の悪意ある文書を忍び込ませるのは、技術的には可能。

前にデータセット構築してた時、「信頼できるソースからのデータだから大丈夫」と思ってたが、今考えると甘かった。GitHubに大量の「参考コード」をアップロードするアカウント、Stack Overflowで大量に回答を投稿するユーザー。そういうのが実は攻撃者だったら、と考えると寒気がする。

実用性の考察

この研究が提示する防御策のヒントはまだ限定的。

現実的な対策として考えられるのは:

  1. データソースの厳格な検証 - 訓練データの出所を追跡し、信頼性を評価
  2. 異常検知 - 訓練データ中の異常なパターンを検出(ただし250個は統計的に目立たない可能性)
  3. モデルの振る舞い監視 - デプロイ後もトリガーフレーズに対する異常な反応を監視
  4. データフィルタリング - 特定のパターン(無意味なトークンの連続等)を排除

ただ、実装コストとのトレードオフが厄介だ。訓練データを手作業で全部チェックするのは現実的じゃない。自動検知システムを作るにしても、「正常な多様性」と「悪意あるノイズ」をどう区別するか。

データクレンジングやフィルタリングのコストが上がれば、LLM訓練の総コストも上がる。スタートアップや研究機関にとって、この追加コストは無視できない。

所感

最初に読んだ時、「250個で攻撃できるって、少なすぎて逆に信じられない」と思った。

でも、よく考えると、これはTransformerの学習メカニズムの性質なのかもしれない。LLMは「パターン認識」を学習する。特定のトリガーと結果の組み合わせが訓練データに繰り返し出現すれば、モデルサイズに関係なくそのパターンを覚える。

Anthropicがこの研究を公開したのは、透明性とセキュリティコミュニティへの貢献という意味では評価できる。ただ、「こういう攻撃が可能です」と示すことで、悪用のリスクも高まる。ジレンマだ。

一番の問題は、既存の防御策がまだ確立していないこと。研究論文では「今後の研究を促進するため」とあるが、実際に攻撃を検知・防御する具体的な手法はまだ示されていない。

あと、この研究で扱われていないのが、マルチモーダルモデルの場合。テキストだけじゃなく画像や音声も訓練データに含まれる場合、ポイズニング攻撃はどう変わるのか。画像1枚に「見えないトリガー」を埋め込むとか、そういう攻撃も考えられる。さらに複雑だ。

LLM開発者・運用者にとっては、「データの出所を信用しすぎない」「訓練データの検証プロセスを強化する」という基本に立ち返る機会。AIセキュリティは今後ますます重要になる。

GitHubで編集を提案

Discussion