ローカルLLM RAG 比較の実録レポート。M4 Mac上でAnythingLLMを使い、Llama3 8B・Llama3.1 8B・Llama3.2 3Bの3モデルに情報セキュリティ白書2025をRAGとして読み込ませ、回答精度と応答時間を比較しました。
01この記事を読む前に知っておきたい用語
LLM(大規模言語モデル)とは?
ChatGPTやClaudeのような「AIとの会話」を実現する技術の中身がLLMです。今回使うLlama(ラマ)はMeta(Facebookの親会社)が開発した無料で誰でも使えるオープンソースのモデルです。
3B・8Bって何?
モデルの「パラメータ数」を表しています。3Bは30億、8Bは80億。数字が大きいほど賢くなる傾向がありますが、その分ファイルサイズも大きく処理も重くなります。
RAGとは?
RAG(Retrieval-Augmented Generation)とは、LLMに特定の文書を読み込ませて、その内容をもとに回答させる仕組みです。今回はIPA白書をRAGとして読み込ませました。
エンベディング(Embedding)とは?
文書をAIが検索・理解しやすい数値データに変換する処理です。エンベディングモデルが日本語に対応していないと、日本語文書の精度が落ちます。
PDFのフォント埋め込み問題とは?
PDFには「文字データが入っているテキストPDF」と「文字が画像になっているPDF」があります。マウスで文字を選択してコピーできればテキストPDF、できなければAIで読み取れない可能性があります。
ハルシネーションとは?
AIが存在しない情報を自信満々に答えてしまう現象です。RAGを使うことで抑制できますが、モデルによって発生しやすさが異なります。今回の検証でもはっきり差が出ました。
| モデル | パラメータ数 | ファイルサイズ |
|---|---|---|
| Llama3.2 3B | 30億 | 2.0GB |
| Llama3.1 8B | 80億 | 4.7GB |
| Llama3 8B | 80億(旧世代) | 4.7GB |
02検証環境
| 項目 | 内容 |
|---|---|
| マシン | Apple M4 Mac |
| ソフト | AnythingLLM(Built-in / Powered by Ollama) |
| Embeddingモデル | multilingual-e5-small(日本語対応) |
| ドキュメント | IPA 情報セキュリティ白書2025(URLエンベディング) |
| モデルA | Llama3 8B(4.7GB) |
| モデルB | Llama3.1 8B(4.7GB) |
| モデルC | Llama3.2 3B(2.0GB) |
03検証前のトラブルと学び
最初にIPAの白書PDFをそのままアップロードしたところ、全モデルが誤回答。原因はPDFの特殊なフォント埋め込み形式。人間が目で見るのは問題ないが、コンピューターがテキストとして抽出できない状態だった。
デフォルトの all-MiniLM-L6-v2 は英語特化モデル。日本語文書の読み取り精度が低かった。
これらのトラブル自体が、ローカルLLM RAG 比較を行う前に必ず直面する現実的な課題として、記事のネタになりました。
04ローカルLLM RAG 比較の検証結果(Q1〜Q10)
| モデル | 回答 | 正確性 | 応答時間 | 言語 |
|---|---|---|---|---|
| Llama3 8B | Ransomware / Targeted / DDoS(複数列挙) | △ | 4.139s | 英語 |
| Llama3.1 8B | 文書に記載なしで答えられない | ✕ | 1.314s | 日本語 |
| Llama3.2 3B | パブリック・クラウドの未authorizationアクセス | ✕ | 993ms | 日本語 |
| モデル | 回答 | 正確性 | 応答時間 | 言語 |
|---|---|---|---|---|
| Llama3 8B | ランキング不明・増加傾向とだけ答える | △ | 4.358s | 英語 |
| Llama3.1 8B | ランキング不明・JC-STARの話をする | △ | 6.171s | 日本語 |
| Llama3.2 3B | 6位(誤り) | ✕ | 1.347s | 日本語 |
| モデル | 回答概要 | 正確性 | 応答時間 | 言語 |
|---|---|---|---|---|
| Llama3 8B | BEC攻撃を詳しく説明・経営者なりすまし等4項目 | △ | 11.399s | 英語 |
| Llama3.1 8B | 「具体的に言及されていない」と正直に回答 | ○ | 4.144s | 日本語 |
| Llama3.2 3B | メールアドレス・パスワード漏洩の攻撃と誤説明 | ✕ | 2.764s | 日本語 |
| モデル | 回答概要 | 正確性 | 応答時間 |
|---|---|---|---|
| Llama3 8B | フィッシング・脆弱なソフト・弱いパスワードの3経路を列挙。対策も3点。詳しい | △ | 12.002s |
| Llama3.1 8B | 「具体的な侵入経路や対策は記載なし」と回答 | ○ | 6.059s |
| Llama3.2 3B | パッチ・ソフトウェアの脆弱性が経路と回答。対策も記述 | △ | 4.601s |
| モデル | 回答概要 | 正確性 | 応答時間 |
|---|---|---|---|
| Llama3 8B | 英語で事例2件を具体的に説明(内容はハルシネーション) | ✕ | 11.692s |
| Llama3.1 8B | 「事例について具体的に触れられていない」と回答 | ○ | 6.162s |
| Llama3.2 3B | 1位にランクと誤情報を含みながら説明 | ✕ | 5.125s |
| モデル | 回答概要 | 正確性 | 応答時間 |
|---|---|---|---|
| Llama3 8B | 両者の違いを日英混在で詳細に説明 | ○ | 16.398s |
| Llama3.1 8B | 「具体的な情報が記載されていない」と回答 | ○ | 931ms |
| Llama3.2 3B | 違いを説明するが英語混じりで不正確な部分あり | △ | 5.497s |
| モデル | 回答概要 | 正確性 | 応答時間 |
|---|---|---|---|
| Llama3 8B | 英語で7項目を詳細に列挙(内容は概ね妥当) | △ | 13.817s |
| Llama3.1 8B | セキュア・バイ・デザイン、JC-STAR等3点を日本語で説明 | ○ | 9.856s |
| Llama3.2 3B | 8項目を日本語で列挙(やや汎用的) | △ | 5.363s |
| モデル | 回答概要 | 正確性 | 応答時間 |
|---|---|---|---|
| Llama3 8B | ランサムウェアが変動と回答・理由はAI活用と説明(ハルシネーション) | ✕ | 8.311s |
| Llama3.1 8B | 「具体的な情報はない」と回答 | ○ | 5.947s |
| Llama3.2 3B | サプライチェーン脅威が低下と回答・理由も説明 | △ | 3.370s |
| モデル | 回答概要 | 正確性 | 応答時間 |
|---|---|---|---|
| Llama3 8B | 英日混在で分類・外部3件・内部3件を列挙 | △ | 9.492s |
| Llama3.1 8B | 「詳細な情報は記載なし」としつつランサムウェア等に言及 | ○ | 3.695s |
| Llama3.2 3B | 外部:ランサムウェア・標的型・DDoS、内部:内部不正と分類 | △ | 2.634s |
| モデル | 回答概要 | 正確性 | 応答時間 |
|---|---|---|---|
| Llama3 8B | 英語で3点(パスワード・パッチ管理・インシデント対応) | △ | 11.679s |
| Llama3.1 8B | セキュア・バイ・デザイン等3点を挙げつつ「明確な記載なし」と補足 | ○ | 10.130s |
| Llama3.2 3B | セキュリティポリシー・データ保護・システム対策の3点 | △ | 2.950s |
05総合評価
※ 正確性スコア:○=2点 △=1点 ✕=0点 で採点
06ローカルLLM RAG 比較の考察
Llama3 8B(旧世代)
詳細な回答を生成する能力は高いが、日本語で質問しても英語で答えるという大きな問題がある。ハルシネーション(存在しない事例の捏造)も多く、RAGとして使う場合は注意が必要。応答速度も最も遅い。
Llama3.1 8B ← 今回のMVP
「わからないことはわからないと言う」という誠実な挙動が最大の特徴。ハルシネーションが少なく、白書に記載のない情報を作り上げることをしない。RAGとして最も信頼性が高い。ただし、URLエンベディングでは情報が十分に取れないケースもあり、回答が薄くなることがある。
Llama3.2 3B
速度は最速(平均3.2秒)で日本語回答も安定しているが、自信満々に誤った情報を答える傾向が強い。ランクを間違えても「〇位です」と断言するため、事実確認なしに使うのは危険。
07まとめ
| 用途 | おすすめモデル |
|---|---|
| 精度重視・RAGで使う | Llama3.1 8B |
| とにかく速さが欲しい | Llama3.2 3B(ただし要検証) |
| 日本語で使いたい | Llama3.1 8B または Llama3.2 3B |
| Llama3 8B(旧世代) | 特別な理由がなければ使わない |
ローカルLLM RAG 比較から得た教訓
- PDFの品質がRAGの精度を左右する。テキスト抽出できないPDFはそのままでは使えない。
- Embeddingモデルの言語対応を確認する。英語特化モデルで日本語を読ませると精度が落ちる。
- モデルサイズ=精度ではない。3Bより8Bの方が誠実だったが、旧世代8Bより新世代8Bの方が優秀。

コメント