大規模言語モデル (LLM) は急速に進歩しており、ミッションクリティカルなエンタープライズ・ワークフローに組み込まれることが増えています。そこで重要となるのは、ドメイン固有で高度な専門知識を正確に推論して応答する、モデルの能力です。これは特にサイバーセキュリティの分野において顕著です。この分野はリスクが高く、正確性が極めて重要で、正確であることが当たり前と思われがちです。したがって、サイバーセキュリティに特化した現実的かつ高品質のベンチマークで LLM のパフォーマンスを評価することは、有用であるだけでなく必要でもあります。
このブログ記事では、サイバーセキュリティに関する知識の評価専用ベンチマークである CyberMetric データセットを使用して当社が実施した、さまざまな IBM Granite モデルおよび InstructLab モデルの評価結果について説明します。今回の評価は、InstructLab と 1 つの NVIDIA L4 GPU を含む、Red Hat Enterprise Linux (RHEL) AI 1.3 仮想マシン (VM) で実施しました。
次のモデルでベンチマークを実施しました。
IBM Granite
- granite-3.3-8b-instruct
- granite-3.3-2b-instruct
- granite-3.0-8b-instruct
- granite-3.0-2b-instruct
InstructLab
- merlinite-7b-pt
- granite-3.0-8b-lab-community
使用した CyberMetric 評価セット
- CyberMetric-80-v1.json
- CyberMetric-500-v1.json
- CyberMetric-2000-v1.json
- CyberMetric-10000-v1.json
CyberMetric データセットとは
CyberMetric データセットは、サイバーセキュリティ分野の比較的新しいベンチマークツールです。これは人間が検証した 10,000 題を超える多肢選択式の質問で構成されており、サイバーセキュリティのコンテキストに関して LLM を評価するための包括的なリソースとなっています。
このデータセットは、オープンスタンダード、NIST のガイドライン、調査報告書、一般に公開されている書籍、RFC やその他の関連出版物など、幅広い信頼できる資料から得ています。これは検索拡張生成 (RAG) 技術を使用して生成されたものです。RAG は、検索ベースのモデルの長所と生成機能を組み合わせたものです。
さらに、CyberMetric データセットは厳密な多段階の改良プロセスを経ています。LLM と人間の専門家の両方が関与するこのプロセスにより、サイバーセキュリティの現実的な知識を正確に反映した高品質のデータが提供されます。
このデータセットは、次の 9 つのサイバーセキュリティ分野における LLM の理解と再現率を評価するように設計されています。
- 障害復旧とビジネス継続性プランニング (BCP)
- ID 管理とアクセス管理 (IAM)
- IoT セキュリティ
- 暗号化
- ワイヤレスセキュリティ
- ネットワークセキュリティ
- クラウドセキュリティ
- 侵入テスト
- コンプライアンス/監査
データセットは 4 つの異なるサイズ (80、500、2,000、10,000 題の質問) で提供されているので利用しやすくなっています。
InstructLab とは
InstructLab は、特定の分野向けの LLM のカスタマイズや調整プロセスを単純化するために Red Hat と IBM が設計したオープンソース・プラットフォームです。LAB メソッド (Large-scale Alignment for chatBots) に基づくこの手法により、人間による入力やコンピュートリソースを最小限に抑えて、モデルを効率的に強化することができます。
InstructLab は、分類から知識を注入し、合成データを自動的に生成し、熟練したアプローチを使用して特定の動作やタスク用にモデルをファインチューニングすることで、これを実現します。強化されたモデルは、vLLM や llama.cpp などのバックエンドを備えた ilab CLI を使用して、ローカルで提供できます。
InstructLab は、従来のファインチューニング・ワークフローとは異なり、アップストリームへの貢献と継続的なコミュニティ主導の改善をサポートするという独自の強みを持っています。これは特定のモデルに依存せず、IBM Granite や Merlinite (Mistral から派生) など、定期的に更新されるオープンウェイトモデルのバージョンを強化します。
ベンチマークモデルの種類
- Granite モデル:IBM が開発した、基盤となる LLM です。「instruct」という語で終わるモデルは、指示に従い、会話型タスクや推論タスクに参加することに特化して調整されています
- InstructLab モデル:これらのモデルは、コミュニティ主導のファインチューニングを表しています。通常は Granite などの基盤モデルをベースとしていますが、汎用またはドメインに合わせたパフォーマンスの実現を目的として、InstructLab ツールと手法でさらにトレーニングされています
これらの特定のモデルを使う理由
Red Hat がモデルを選択する基準は、特に公式の CyberMetric リーダーボードとの比較点を提供するという目的に基づいています。merlinite-7b-pt、granite-3.0-8b-lab-community、granite-3.0-2b-instruct、granite-3.0-8b-instruct を選択したのは、ベンチマークのリリース期間に適合するため決定しました。
今回の評価では、最新の IBM Granite 3.3 モデル (granite-3.3-8b-instruct および granite-3.3-2b-instruct) を含めました。これにより、Granite モデルのパフォーマンスの進化を示すことができます。
InstructLab によるモデルの提供
すべてのモデルは、ilab コマンドを使用して RHEL AI VM 上にローカルで提供されました。このプロセスでは、モデルをダウンロードして提供します。
ilab model download --repository ibm-granite/granite-3.3-8b-instruct --hf-token
ダウンロードすると提供が開始されます。
ilab model serve --model-path ~/.cache/instructlab/models/ibm-granite/granite-3.3-8b-instruct --gpus 1
GPU メモリー制限の緩和
L4 GPU が 1 つしかない限られたセットアップ環境が原因で、問題が発生しています。InstructLab (バックエンドとして vLLM を利用する) によるモデル提供中に、一部のモデル構成で、max_option_embeddings 値が大きいため GPU メモリーが枯渇するという一般的な問題が発生しました。具体的には、複数のモデルにおいてこのパラメーターが config.json で「131072」に設定されていました。これによって vLLM のキー値 (KV) キャッシュに必要なメモリーが大幅に増加し、往々にしてメモリー不足 (OOM) エラーが生じます。
解決策:
これに対処するために、config.json ファイルを手動で変更し、より低く、よりハードウェア互換性のある値を設定しました。
"max_position_embeddings": 4096
この値は、位置エンコーディングに基づいてモデルがシーケンス内で処理できるトークンの最大数を定義します。これを 4096 に減らすことで、KV キャッシュのメモリーフットプリントが大幅に削減されると同時に、複数選択形式の質問が比較的少ない CyberMetric データセットにも十分な量を確保できます。ユースケースの入力がこのトークン長を超えることはないため、この調整によってモデルの精度が影響を受けることはありません。
この変更を行うことで、不安定性やクラッシュを生じさせることなくモデルを正常に提供でき、単一の GPU セットアップ上でベンチマークプロセスをスムーズに継続することができました。
スクリプトの調整と強化
CyberMetric 評価スクリプトを調整し、さらに強化しました。このスクリプトは当初、OpenAI API とのインタラクション用に設計されていたものですが、InstructLab を介してローカルで提供するモデルに対するベンチマーク評価を行えるようにしました。主な変更点は次のとおりです。
- API 呼び出しのメカニズムを openai.ChatCompletion.create から requests.post ライブラリに変更し、InstructLab によって公開されているローカル vLLM サーバーエンドポイントに HTTP リクエストを直接送信
- API キー認証を削除 (ローカルサーバーでは不要になったため)
ベンチマーク手法の整合性と再現性を維持するために、元の CyberMetric スクリプトのコアロジックに最小限の変更を加えました。機能強化の一環として、元のバージョンには存在しない主要なパラメーター設定も導入しました。
- CyberMetric スクリプトは複数のプロバイダー (OpenAI、Qwen、Mistral など) のモデルを評価するため、固定の temperature 設定がない場合、各モデルのデフォルトの動作に応じて実行時にばらつきが生じる可能性がある。この変更では、temperature が 0.0 に明示的に設定されているため、テスト済みのすべてのモデルで結果が再現可能および比較可能。
ベンチマーク結果と分析
評価のために、CyberMetric のベンチマーク・データセットを基盤として使用しました。集約されたリーダーボードのみに頼るのではなく、モデルを同等のパラメータークラス (約 2B、7B、8B) にグループ化して、結果をモデルサイズ別に整理しました。このアプローチにより、同じ容量範囲内のモデルを評価することによって公平で有意義な比較が可能になり、モデルの規模の違いによって偏った結果が生じることを回避できます。また、比較の健全性を保つために、モデルサイズを公開していないプロプライエタリー・モデルをすべて除外しました。
約 2B パラメータークラスのモデル
このカテゴリには、1.5B から 2.7B のパラメーターまでの LLM が含まれます。
観測結果:
- Granite-3.3-2b-instruct は、このカテゴリのトップモデルとして際立っており、平均精度は約 79% です。他のすべての競合を大幅に上回り、以前のバージョンである Granite-3.0 と比べて機能が強化されています。
- Granite-3.0 から Granite-3.3 へのステップアップにより、平均精度は +1% 向上しました。これは特に小規模なスケール (80Q および 2,000Q) で顕著であり、指示チューニングや分野に合わせた調整による改善を示唆しています。
- Qwen2.5-1.5B-Instruct は良好なパフォーマンスを示していますが、大規模なデータセットでの精度は低下し、サイバーセキュリティ分野の理解が弱いことを示しています。
- Qwen1.5-MoE や Phi-2 などの非指示モデルは大きく遅れを取っており、このタスクに対する指示チューニングが重要な役割を担っていることを示しています。
- Gemma-2b はすべてのデータセットでパフォーマンスが低く、大幅なファインチューニングを行わなければサイバーセキュリティの QA タスクには適していないと考えられます。
7B パラメータークラスのモデル
このカテゴリには、7B パラメーターを持つ LLM が含まれます。
LLM モデル | 指示ファインチューニング | 企業 | サイズ | ライセンス | 80 Q | 500 Q | 2,000 Q | 10,000 Q |
Qwen2.5-7B-Instruct | ✔ | Qwen | 7B | Apache 2.0 | 92.50% | 89.20% | 87.45% | 83.56% |
Falcon3-7B-Instruct | ✔ | TII | 7B | Apache 2.0 | 91.25% | 85.60% | 84.25% | 80.72% |
Qwen2-7B-Instruct | ✔ | Qwen | 7B | Apache 2.0 | 91.25% | 84.40% | 82.00% | 78.75% |
Merlinite-7b-pt | ✔ | Instructlab | 7B | Apache 2.0 | 86.25% | 81.20% | 81.95% | 79.63% |
Mistral-7B-Instruct-v0.2 | ✔ | Mistral AI | 7B | Apache 2.0 | 78.75% | 78.40% | 76.40% | 74.82% |
Zephyr-7B-beta | ✔ | HuggingFace | 7B | MIT | 80.94% | 76.40% | 72.50% | 65.00% |
Gemma-1.1-7B-it | ✔ | 7B | オープン | 82.50% | 75.40% | 75.75% | 73.32% | |
Qwen1.5-7B | ✘ | Qwen | 7B | オープン | 73.75% | 70.10% | 69.96% | 65.17% |
Qwen-7B | ✘ | Qwen | 7B | オープン | 68.42% | 64.08% | 63.84% | 54.09% |
DeciLM-7B | ✘ | Deci | 7B | Apache 2.0 | 56.55% | 56.20% | 53.85% | 51.32% |
Gemma-7b | ✘ | 7B | オープン | 42.50% | 37.20% | 36.00% | 34.28% |
観測結果:
- Merlinite-7b-pt は、平均精度が 82% を超え、トップクラスのリーダーに次ぐ最高のコミュニティ整合モデルとして際立っています。
- Qwen2.5-7B-Instruct などの主要モデルは全体的な精度で優れていますが、大規模なデータセットに適用すると Merlinite-7b-pt との差は大幅に縮小し、10,000 のデータセットでは Merlinite が上回っています。
- DeciLM-7B や Gemma-7B などの非指示モデルではパフォーマンスが大幅に低下し、広範なチューニングが行われなければサイバーセキュリティには適していません。
8B パラメータークラスのモデル
観測結果:
- Granite-3.0-8b-instruct は 8B カテゴリのトップであり、すべての CyberMetric データセットで平均精度 83.61% という優れた結果を達成しています。そのパフォーマンスは依然として一貫しており、信頼性が高く、80Q から 10,000Q での低下は 3% 未満です。これは長期的なサイバーセキュリティ・シナリオでの推論に不可欠です。
- Granite-3.3-8b-instructと比較すると、リリースが新しいにもかかわらず、3.0 バージョンの平均のほうがわずかに優れています。3.3 は 2,000Q でわずかに優位性を示しているものの、10,000Q では低下しています (80.22%)。
- Meta-Llama-3-8B-Instruct は、特に大規模なデータセットでは、両方の Granite モデルと比較してパフォーマンスが低くなります。80Q から 10,000Q で 10 ポイント以上低下し、指示チューニングにもかかわらずドメインの適応力が弱いことを示しています。
- Llama3-ChatQA-1.5-8B や Meta-Llama-3-8B などのベースモデルの結果は全体的に低く、精度はそれぞれ 50% 弱と 37% にとどまっています。これは、CyberMetric タイプのベンチマークにとって指示チューニングが重要であることを示しています。
- 総合すると、Granite-3.0/3.3-instruct は、サイバーセキュリティ・タスクに最も信頼性の高い 8B クラスのモデルを提供し、プロプライエタリーの API に依存せずに最高レベルの精度を実現し、セルフホスト型のデプロイメントに非常に適しています。
評価スクリプトと詳細な結果へのアクセス
再現性とさらなる分析をサポートするために、GitHub リポジトリを公開しました。このリポジトリには以下が含まれています。
- InstructLab を介したローカルでの提供用に調整された、修正済みの CyberMetric 評価スクリプト
- テスト済みのすべてのモデルに関する生のベンチマーク出力
- モデルおよびデータセットサイズごとの誤回答の内訳
このリソースにより、モデル固有のエラーケースを検証し、サイバーセキュリティの推論におけるパフォーマンスの違いをより深く理解できるようになります。
まとめ
テストした結果、次のことがわかりました。
Granite-3.3-2b-instruct は明らかに約 2B のカテゴリでリードしており、サイバーセキュリティの分野において、コンパクトで指示が最適化されたモデルのベンチマークを確立しています。さまざまなデータセットサイズでパフォーマンスを維持し、多くの競合よりも少ないパラメーターを使用できるため、リソースが限られている環境向けの優れた選択肢として位置づけられます。
Merlinite-7b-pt は、最もバランスが取れ、ドメインに回復力のある 7B モデルの 1 つであることが証明されています。最高スコアではありませんが、プロプライエタリーに依存せずに強力なサイバーセキュリティ・パフォーマンスを必要とする、コミュニティ主導のプロジェクトにとって非常に優れた価値を提供します。
Granite-3.0 と 3.3 は、サイバーセキュリティ推論においてオープンソースの 8B モデルのベンチマークとなっています。これは、優れた精度と複数のスケールでの安定性、さらにオープンライセンスを兼ね備えており、コスト効率の高いデプロイに最適です。Granite-8B モデルは、競合他社と比較して、ほぼ最先端のパフォーマンスを提供します。
製品トライアル
Red Hat Enterprise Linux | 製品トライアル
執筆者紹介
類似検索
From experiment to production: A reliable architecture for version-controlled MLOps
AI security: Defending against prompt injection and unsafe actions
Technically Speaking | Build a production-ready AI toolbox
Technically Speaking | Platform engineering for AI agents
チャンネル別に見る
自動化
テクノロジー、チームおよび環境に関する IT 自動化の最新情報
AI (人工知能)
お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート
オープン・ハイブリッドクラウド
ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。
セキュリティ
環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報
エッジコンピューティング
エッジでの運用を単純化するプラットフォームのアップデート
インフラストラクチャ
世界有数のエンタープライズ向け Linux プラットフォームの最新情報
アプリケーション
アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細
仮想化
オンプレミスまたは複数クラウドでのワークロードに対応するエンタープライズ仮想化の将来についてご覧ください