目次
はじめに
前回の記事に沢山リアクションいただけて感謝感激です!!
YouTuberの「あなたの高評価やチャンネル登録が動画制作の励みになります!!」はお金に目がくらんだだけじゃないことが分かったので、これからは自分も素直に高評価していこうと思いますw
今回は、論文「A Survey of Attacks on Large Language Models」を読んで気になったことや調べたことを各セクションごとにまとめていこうと思います。
分からないことが多すぎてすでにパンクしかけているので、とりあえずBackgroundまでです!
学習方法
全文をAIに一括要約させると、初心者がつまずきやすい重要なニュアンスが抜け落ちてしまうと考え、今回はあえて愚直に読み進めることにしました。
専門用語はAI・Google検索・YouTubeを利用して一つずつ調べてます。
余談ですが、
辞書的な解説を読む中でさらに別の専門用語が出てきて混乱することがあったので、
一般的な用語はYouTubeの解説動画が一番効率よく全体像を掴める気がしました。
Introduction
LLMを標的とした攻撃は大きく分けて3つので分類できるとのこと
①トレーニングフェーズ攻撃
→悪意のあるソースで学習したらそりゃだめだわ
②推論フェーズ攻撃
→プロンプトインジェクションとかのことかな?
③可用性、完全性攻撃
→Dos攻撃とかかな?
上記の攻撃に加えてLLMベースのエージェントに特有の攻撃についても紹介しますよ。みたいなことが書かれてました。
Background
<よくわかんないから調べた用語一覧>
特に重要だと思った言葉は太文字にしてます。
・ニューラルネットワーク
人間の脳の神経回路を模した機械学習の仕組みとのこと。
【参考URL】
https://www.youtube.com/watch?v=LPxdsJkfzrE
https://www.skygroup.jp/media/article/3471/
・トランスフォーマー
ニューラルネットワークのモデルらしい。元々翻訳に使われてたモデルとのこと。
【参考URL】
https://www.skygroup.jp/media/article/4066/
-MultiHeadAttension
トランスフォーマーの強力な機能らしい。
数学苦手なので自分にはよく理解できませんでした。行列掛け合わせることで多方面から評価できて、そこで類似度を計るみたなこと?
以下二つの動画はとても分かりやすかったです。
【参考URL】
https://www.youtube.com/watch?v=FFoLqib6u-0
https://www.youtube.com/watch?v=U7JEjBhdcLY&t=11s
-行列の計算
上記の動画理解するために数学の復習。
【参考URL】
https://www.youtube.com/watch?v=ltFl0FpLTzQ
https://www.youtube.com/watch?v=X2Xy2wnQbXc
・トークン予測
図の"V"と"v"区別しないで読んでいたので理解に時間がかかりました(半ギレ)
①入力を分割する
②ベクトル変換する
→軸増やした方が色んな角度(単位)で評価できるってことですかね?
③次の文字(トークン)を予想する
④次の文字が確定したら①から繰り返すor次の文字がEnd of Sentenceになったら終了
・インストラクションチューニング
「〜要約して」「〜を翻訳して」といった指示(インストラクション)と、その模範的な回答のセットを大量に学習させる手法らしい。
【参考URL】
https://note.com/nb_biztech/n/nbdfd024e902c
・LoRA(Low-Rank Adaptation)
モデル全体のパラメータを書き換えるのではなく、一部の「追加パラメータ」だけを効率的に学習させる微調整手法らしい。
【参考URL】
https://note.com/nakano_teppei1/n/n7f99115961be
・RLHF(人間フィードバック強化学習)
LLMの出力に対して人間が「こっちの回答が良い」と順位づけやフィードバックを与え、それを報酬としてモデルを強化学習させる手法。
・検索拡張生成(RAG)
これは知ってたけど念のため。
ユーザーからの質問に対し、まずは社内文書や最新のWeb記事などの外部データベースから関連情報を「検索」し、その情報をLLMに渡して回答を生成させる仕組み。
・思考連鎖(CoT / Chain of Thought)
LLMに思考過程を段階的に示させながら、最終回答を導かせるプロンプト手法だそうです。
【参考URL】
https://zenn.dev/umi_mori/books/generative-ai-glossary/viewer/what-is-chain-of-thought
・LLM-based Agents
LLMエージェントの基本構造は以下のようになってるらしいです。
→これは普段利用してるので納得感ありました。
プロファイリングモジュール:エージェントが「自分はどんなキャラクターなのか」を認識するための設定。
メモリモジュール:短期記憶(チャット履歴?)と長期記憶(RAG?)それぞれ利用してるとのこと。
計画モジュール:複雑な問題をサブタスクに分割して実行計画を立てる機能。
アクションモジュール:実際の「行動」や「出力」に変換する出口の役割。
さいごに
まだ「攻撃手法を語るための前提」の段階だというのに、早くもわけのわからない数式が出てきて心が折れかけました...
ですが、今回の取り組みの最大の目的は「攻撃手法を把握し、システム設計でどう防ぐかを考えること」なので、
機械学習やLLMの仕組みを数学的に完全理解しようせず雰囲気をつかむくらいのライトなスタンスで、まずは全体像の把握を優先して進めていこうと思います!
ではまた!
参考文献・参考リンク
■ 論文
- A Survey of Attacks on Large Language Models
■ 参考サイト・動画
- [AI]ニューラルネットワークとは?仕組みをわかりやすく解説
- ニューラルネットワークとは?仕組みや活用事例をわかりやすく解説!
- Transformerとは?仕組みや特徴、ChatGPTとの関係性を解説
- Attention機構を図解でわかりやすく解説
- Multi-Head Attentionをわかりやすく解説
- 行列の掛け算の計算方法を丁寧に解説!
- 行列のかけ算の計算方法|行列×行列
- 【図解】InstructGPT(Instruction Tuning)の仕組みを解説
- LoRA (Low-Rank Adaptation) の仕組みを理解する
- 生成AI用語集 - Chain of Thought (CoT)