🚀 Foundation-Sec-8B GGUFモデル
このモデルは、サイバーセキュリティアプリケーションに特化した80億パラメータのベース言語モデルです。高度な量子化手法と多様なモデル形式を提供し、ハードウェアやメモリ制約に応じた最適な運用を可能にします。
🚀 クイックスタート
以下のコードを使用して、モデルを使い始めることができます。
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("fdtn-ai/Foundation-Sec-8B")
model = AutoModelForCausalLM.from_pretrained("fdtn-ai/Foundation-Sec-8B")
prompt="""CVE-2021-44228 is a remote code execution flaw in Apache Log4j2 via unsafe JNDI lookups (“Log4Shell”). The CWE is CWE-502.
CVE-2017-0144 is a remote code execution vulnerability in Microsoft’s SMBv1 server (“EternalBlue”) due to a buffer overflow. The CWE is CWE-119.
CVE-2014-0160 is an information-disclosure bug in OpenSSL’s heartbeat extension (“Heartbleed”) causing out-of-bounds reads. The CWE is CWE-125.
CVE-2017-5638 is a remote code execution issue in Apache Struts 2’s Jakarta Multipart parser stemming from improper input validation of the Content-Type header. The CWE is CWE-20.
CVE-2019-0708 is a remote code execution vulnerability in Microsoft’s Remote Desktop Services (“BlueKeep”) triggered by a use-after-free. The CWE is CWE-416.
CVE-2015-10011 is a vulnerability about OpenDNS OpenResolve improper log output neutralization. The CWE is"""
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(
inputs["input_ids"],
max_new_tokens=3,
do_sample=True,
temperature=0.1,
top_p=0.9,
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
response = response.replace(prompt, "").strip()
print(response)
✨ 主な機能
モデル生成の詳細
このモデルは、llama.cpp のコミット 19e899c
を使用して生成されました。
IQ-DynamicGateによる超低ビット量子化(1 - 2ビット)
最新の量子化手法では、超低ビットモデル(1 - 2ビット)に対して精度適応型量子化を導入し、Llama-3-8B でのベンチマークで改善が実証されています。このアプローチでは、層ごとの戦略を使用して、極限のメモリ効率を維持しながら精度を維持します。
適切なモデル形式の選択
正しいモデル形式の選択は、ハードウェア機能とメモリ制約に依存します。
- BF16 (Brain Float 16):BF16アクセラレーションが利用可能な場合に使用します。高速な計算と良好な精度を兼ね備え、FP32と同様のダイナミックレンジを提供しながら、低いメモリ使用量を実現します。
- F16 (Float 16):BF16よりも広くサポートされています。多くのデバイスで動作し、やや低い数値精度ですが、一般的に推論には十分です。
- 量子化モデル (Q4_K, Q6_K, Q8, etc.):CPUや低VRAMでの推論に適しています。モデルサイズとメモリ使用量を削減しながら、可能な限り精度を維持します。
- 超低ビット量子化 (IQ3_XS, IQ3_S, IQ3_M, Q4_K, Q4_0):極限のメモリ効率を追求したモデルで、低電力デバイスや大規模なデプロイメントに最適です。
モデルの使用目的
Foundation-Sec-8Bは、セキュリティ関連の言語タスクに直接使用でき、さまざまなサイバーセキュリティワークフローの微調整の強力な出発点となります。具体的な下流アプリケーションには、要約、分類、固有表現抽出、質問応答、推論とテキスト生成などが含まれます。
📦 インストール
このREADMEには具体的なインストール手順が記載されていないため、このセクションをスキップします。
💻 使用例
基本的な使用法
上記のクイックスタートコードが基本的な使用例となります。
📚 ドキュメント
モデル情報
- モデル名:Foundation-Sec-8B (Llama-3.1-FoundationAI-SecurityLLM-base-8B)
- モデル開発者:Amin KarbasiとCiscoのFoundation AIチーム
- 技術レポート:
https://arxiv.org/abs/2504.21039
- モデルカードの問い合わせ先:チームに関する質問、モデルの使用方法、将来の方向性については、
karbasi@cisco.com
まで。モデルに関する技術的な質問は、paulkass@cisco.com
まで。
- モデルリリース日:2025年4月28日
- サポート言語:英語
- モデルアーキテクチャ:最適化されたトランスフォーマーアーキテクチャ(Meta Llama-3.1-8Bバックボーン)を使用した自己回帰型言語モデル
- トレーニング目的:サイバーセキュリティ特化のための継続的な事前学習
- トレーニングデータの状態:これはオフラインデータセットでトレーニングされた静的モデルです。将来的には、更新されたデータで調整されたモデルがリリースされます。
- ライセンス:Apache 2.0
トレーニングと評価
トレーニングデータ
Foundation-sec-8Bは、CiscoのFoundation AIチームによって独自に収集された約51億トークンのサイバーセキュリティ特化データで事前学習されました。データセットは、ウェブ上の公開ソースから慎重に収集されました。
トレーニングセットアップ
Foundation-sec-8Bは、Llama 3.1 8B アーキテクチャに基づいています。事前学習は、Cisco Foundation AIの内部コンピュートクラスタで実行されました。
評価
Foundation-sec-8Bは、サイバーセキュリティと一般的な推論タスクでベンチマークされ、標準化された5ショットプロンプト設定(温度 = 0.3)を使用して評価されました。
🔧 技術詳細
量子化性能の比較(Llama-3-8B)
量子化 |
標準PPL |
DynamicGate PPL |
ΔPPL |
標準サイズ |
DGサイズ |
Δサイズ |
標準速度 |
DG速度 |
IQ2_XXS |
11.30 |
9.84 |
-12.9% |
2.5G |
2.6G |
+0.1G |
234s |
246s |
IQ2_XS |
11.72 |
11.63 |
-0.8% |
2.7G |
2.8G |
+0.1G |
242s |
246s |
IQ2_S |
14.31 |
9.02 |
-36.9% |
2.7G |
2.9G |
+0.2G |
238s |
244s |
IQ1_M |
27.46 |
15.41 |
-43.9% |
2.2G |
2.5G |
+0.3G |
206s |
212s |
IQ1_S |
53.07 |
32.00 |
-39.7% |
2.1G |
2.4G |
+0.3G |
184s |
209s |
モデル形式選択の概要表
モデル形式 |
精度 |
メモリ使用量 |
デバイス要件 |
最適な使用ケース |
BF16 |
最高 |
高 |
BF16対応のGPU/CPU |
低メモリでの高速推論 |
F16 |
高 |
高 |
FP16対応のデバイス |
BF16が利用できない場合のGPU推論 |
Q4_K |
中低 |
低 |
CPUまたは低VRAMデバイス |
メモリ制約のある環境に最適 |
Q6_K |
中 |
中程度 |
より多くのメモリを持つCPU |
量子化されたままで良好な精度 |
Q8_0 |
高 |
中程度 |
十分なVRAMを持つCPUまたはGPU |
量子化モデルの中で最も高い精度 |
IQ3_XS |
非常に低 |
非常に低 |
超低メモリデバイス |
極限のメモリ効率と低い精度 |
Q4_0 |
低 |
低 |
ARMまたは低メモリデバイス |
llama.cppがARMデバイスを最適化できる |
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で提供されています。