Da Large Language Models (LLMs) sich schnell weiterentwickeln und immer stärker in geschäftskritische Unternehmens-Workflows integriert werden, ist ihre Fähigkeit, genaue Argumente zu liefern und auf sehr domainspezifisches und hochspezialisiertes Wissen zu reagieren, von Bedeutung. Dies ist insbesondere im Bereich der Cybersicherheit der Fall, wo viel auf dem Spiel steht und Genauigkeit entscheidend ist und oft als selbstverständlich angesehen wird. Daher ist es nicht nur nützlich, sondern auch notwendig, die Performance von LLMs anhand realistischer und qualitativ hochwertiger Benchmarks für die Cybersicherheit zu bewerten.
In diesem Blog-Beitrag werden unsere Tests einer Reihe von IBM Granite- und InstructLab-Modellen mit dem CyberMetric Dataset beschrieben, einem speziellen Benchmark für das Testen von Kenntnissen im Bereich Cybersicherheit. Unsere Tests wurden auf einer virtuellen Maschine (VM) von Red Hat Enterprise Linux (RHEL) AI 1.3 durchgeführt, die InstructLab und eine einzelne NVIDIA L4-GPU umfasst.
Wir haben die folgenden Modelle einem Benchmarking unterzogen:
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
Verwendete CyberMetric-Testsätze
- CyberMetric-80-v1.json
- CyberMetric-500-v1.json
- CyberMetric-2000-v1.json
- CyberMetric-10000-v1.json
Was ist das CyberMetric Dataset?
Das CyberMetric Dataset ist ein relativ neues Benchmarking-Tool im Bereich der Cybersicherheit. Es umfasst über 10.000 von Menschen validierte Multiple Choice-Fragen und stellt damit eine umfassende Ressource für das Testen von LLMs im Zusammenhang mit der Cybersicherheit dar.
Der Datensatz basiert auf einer Vielzahl zuverlässiger Materialien, darunter offene Standards, NIST-Richtlinien, Forschungsarbeiten, öffentlich zugängliche Bücher, RFCs und andere relevante Veröffentlichungen. Er wurde mit Retrieval-Augmented Generation-Techniken (RAG) generiert, die die Stärken retrievalbasierter Modelle mit generativen Fähigkeiten kombinieren.
Zusätzlich wurde das CyberMetric Dataset einem strengen, mehrstufigen Optimierungsprozess unterzogen. An diesem Prozess sind sowohl LLMs als auch menschliche Fachkräfte beteiligt. Es werden qualitativ hochwertige Daten bereitgestellt, die das Wissen über Cybersicherheit aus der Praxis genau widerspiegeln.
Der Datensatz dient dazu, das Verständnis und Abrufverhalten eines LLM in 9 verschiedenen Bereichen der Cybersicherheit zu testen:
- Disaster Recovery und Business Continuity Planning (BCP)
- Identitäts- und Zugriffsmanagement (IAM)
- IoT-Sicherheit
- Kryptographie
- Wireless-Sicherheit
- Netzwerksicherheit
- Cloud-Sicherheit
- Penetrationstests
- Compliance/Audit
Der Datensatz ist in 4 verschiedenen Größen verfügbar: 80, 500, 2.000 und 10.000 Fragen (F).
Was ist InstructLab?
InstructLab ist eine Open Source-Plattform, die von Red Hat und IBM entwickelt wurde, um die Anpassung an und Abstimmung von LLMs auf bestimmte Domains zu vereinfachen. Das auf dem LAB-Verfahren (Large-scale Alignment for ChatBots) basierende Verfahren ermöglicht die effiziente Verbesserung von Modellen mit minimalem menschlichem Einsatz oder Rechenressourcen.
InstructLab erreicht dies durch das Injizieren von Wissen aus der Taxonomie, wobei das automatische Generieren synthetischer Daten und das Fine Tuning von Modellen für bestimmte Verhaltensweisen und Aufgaben mithilfe geschickter Ansätze erfolgen. Verbesserte Modelle können lokal über die ilab-CLI mit Backends wie vLLM oder llama.cpp bereitgestellt werden.
InstructLab zeichnet sich im Gegensatz zu traditionellen Fine Tuning-Workflows durch die Unterstützung von Upstream-Beiträgen und kontinuierliche, von der Community vorangetriebene Verbesserungen aus. Es ist modellagnostisch und unterstützt regelmäßig aktualisierte Versionen von Open Weight-Modellen wie IBM Granite und Merlinite (abgeleitet von Mistral).
Arten von Benchmark-Modellen:
- Granite-Modelle: Die von IBM entwickelten LLM-Basismodelle. Modelle, die mit dem Wort „instruct“ enden, sind speziell dafür angepasst, Anweisungen zu befolgen und an Gesprächs- oder Argumentationsaufgaben teilzunehmen.
- InstructLab-Modelle: Diese Modelle stehen für ein von der Community gesteuertes Fine Tuning. In der Regel basieren sie auf Basismodellen wie Granite, wurden aber mit InstructLab-Tools und -Methoden weiter trainiert, um eine universelle oder domainorientierte Performance zu erreichen.
Warum diese speziellen Modelle?
Die Auswahl der Modelle beruhte auf der Absicht, einen relevanten Vergleichspunkt zur Verfügung zu stellen, insbesondere gegenüber dem offiziellen CyberMetric-Leaderboard. Die Auswahl der Modelle merlinite-7b-pt, Granite-3.0-8b-lab-community, Granite-3.0-2b-instruct und Granite-3.0-8b-instruct war eine Entscheidung, die zum Release-Zeitraum des Benchmarks passte.
Unsere Tests umfassten die aktuellen IBM Granite 3.3-Modelle (Granite-3.3-8b-instruct und Granite-3.3-2b-instruct). So können wir die Performance-Entwicklung der Granite-Modelle zeigen.
Modellbereitstellung über InstructLab
Alle Modelle wurden lokal auf unserer RHEL AI VM mit dem Befehl ilab bereitgestellt. Der Prozess umfasst das Herunterladen und die anschließende Bereitstellung des Modells:
ilab model download --repository ibm-granite/granite-3.3-8b-instruct --hf-token
Nach dem Herunterladen wird die Bereitstellung eingeleitet:
ilab model serve --model-path ~/.cache/instructlab/models/ibm-granite/granite-3.3-8b-instruct --gpus 1
Entschärfen der GPU-Speicherbeschränkung
Unsere begrenzte Setup-Umgebung verfügt nur über eine einzelne L4-GPU. Bei der Modellbereitstellung durch InstructLab (das vLLM als Backend verwendet) sind wir auf ein häufiges Problem gestoßen, bei dem einige Modellkonfigurationen aufgrund eines hohen max_position_embedings-Werts zu einer Erschöpfung des GPU-Speichers führten. Insbesondere wurde dieser Parameter bei mehreren Modellen auf 131072 in config.json festgelegt, wodurch der für den Schlüssel-Wert-Cache (Key Value, KV) in vLLM benötigte Speicher erheblich anstieg und häufig zu Out of Memory-Fehlern (OOM) führte.
Lösung:
Daher haben wir die Datei config.json manuell geändert, um einen niedrigeren, besser mit der Hardware kompatiblen Wert festzulegen:
"max_position_embeddings": 4096
Dieser Wert definiert die maximale Anzahl von Token, die das Modell basierend auf seiner Positionscodierung in einer Sequenz verarbeiten kann. Durch die Reduzierung auf 4096 wird der Platzbedarf des KV-Cache-Speichers erheblich reduziert und ist gleichzeitig für das CyberMetric-Dataset ausreichend, das relativ kurze Multiple-Choice-Fragen enthält. Die Genauigkeit des Modells wird von dieser Anpassung nicht beeinträchtigt, da unsere Use Case-Eingaben diese Tokenlänge nicht überschreiten.
Durch diese Änderung konnten wir die Modelle erfolgreich ohne Instabilität oder Abstürze bereitstellen und den Benchmarking-Prozess auch mit unserer Konfiguration mit einer einzelnen GPU reibungslos fortsetzen.
Anpassung und Verbesserung der Skripte
Wir haben das ursprüngliche CyberMetric-Testskript, das anfänglich für die Interaktion mit der OpenAI API entwickelt wurde, angepasst und weiter verbessert. Jetzt unterstützen wir das Benchmarking mit unseren lokal bereitgestellten Modellen über InstructLab. Die wichtigsten Änderungen sind:
- Änderung des API-Aufrufmechanismus von openai.ChatCompletion.create zugunsten der requests.post Library, um HTTP-Anfragen direkt an den lokalen vLLM-Server-Endpunkt zu senden, der von InstructLab
bereitgestellt wird - Entfernen der API-Schlüssel-Authentifizierung, da diese für einen lokalen Server nicht mehr erforderlich war
Wir haben nur minimale Änderungen an der Kernlogik des ursprünglichen Cybermetry-Skripts vorgenommen, um die Integrität und Reproduzierbarkeit der Benchmark-Methodik zu erhalten. Im Rahmen der Verbesserung haben wir auch eine wichtige Parameterkonfiguration eingeführt, die in der Originalversion nicht vorhanden war:
- Da mit dem CyberMetric-Skript Modelle verschiedener Anbieter (OpenAI, Qwen, Mistral usw.) getestet werden, kann das Fehlen einer festen Temperatureinstellung je nach Standardverhalten des Modells Varianz bei den Ausführungen verursachen. Unsere Änderung legt die Temperatur explizit auf 0,0 fest, damit die Ergebnisse für die getesteten Modelle reproduzierbar und vergleichbar bleiben.
Benchmarking von Ergebnissen und Analysen
Für unsere Tests haben wir den CyberMetric-Benchmark-Datensatz als Basis verwendet. Anstatt sich nur auf das aggregierte Leaderboard zu verlassen, haben wir die Ergebnisse nach Modellgröße geordnet, indem wir die Modelle in vergleichbare Parameterklassen (~2 Mrd., 7 Mrd. und 8 Mrd.) gruppierten. Dieser Ansatz ermöglicht einen fairen und aussagekräftigen Vergleich, indem die Modelle innerhalb desselben Kapazitätsbereichs getestet und verzerrte Ergebnisse aufgrund von Unterschieden im Modellmaßstab vermieden werden. Darüber hinaus haben wir alle proprietären Modelle ausgeschlossen, die die Modellgröße nicht offenlegen, um die Integrität des Vergleichs zu wahren.
Modelle der ~2-Mrd.-Parameter-Klasse
Diese Kategorie umfasst LLMs mit 1,5 Mrd. bis 2,7 Mrd. Parametern.
Beobachtungen:
- Granite-3.3-2b-instruct ist mit einer durchschnittlichen Genauigkeit von fast 79 % das führende Modell in dieser Kategorie. Es übertrifft die anderen Mitbewerber deutlich und zeigt Verbesserungen im Vergleich zur früheren Version Granite-3.0.
- Der Schritt von Granite-3.0 zu Granite-3.3 ergibt eine Zunahme um 1 % bei der durchschnittlichen Genauigkeit, der sich insbesondere bei den kleineren Maßstäben (80 Fragen und 2.000 Fragen) bemerkbar macht und auf eine bessere Anweisungsoptimierung (Instruction Tuning) oder Domain-Ausrichtung hindeutet.
- Obwohl Qwen2.5-1.5B-Instruct eine gute Performance zeigt, deutet die geringere Genauigkeit bei größeren Datensätzen auf ein geringeres Verständnis der Cybersicherheitsthemen hin.
- Modelle ohne Anweisungen wie Qwen1.5-MoE und Phi-2 fallen deutlich zurück, was die Wichtigkeit der Anweisungsoptimierung für diese Aufgabe zeigt.
- Gemma-2b zeigt in allen Datensätzen eine Underperformance und scheint für Frage-Antwort-Aufgaben im Bereich Cybersicherheit ohne signifikantes Fine Tuning ungeeignet zu sein.
Modelle der 7-Mrd.-Parameter-Klasse
Diese Kategorie umfasst LLMs mit 7 Mrd. Parametern.
LLM | Anweisung nach Fine Tuning | Unternehmen | Größe | Lizenz | 80 F | 500 F | 2.000 F | 10.000 F |
Qwen2.5-7B-Instruct | ✔ | Qwen | 7 Mrd. | Apache 2.0 | 92,50 % | 89,20 % | 87,45 % | 83,56 % |
Falcon3-7B-Instruct | ✔ | TII | 7 Mrd. | Apache 2.0 | 91,25 % | 85,60 % | 84,25 % | 80,72 % |
Qwen2-7B-Instruct | ✔ | Qwen | 7 Mrd. | Apache 2.0 | 91,25 % | 84,40 % | 82,00 % | 78,75 % |
Merlinite-7b-pt | ✔ | InstructLab | 7 Mrd. | Apache 2.0 | 86,25 % | 81,20 % | 81,95 % | 79,63 % |
Mistral-7B-Instruct-v0.2 | ✔ | Mistral AI | 7 Mrd. | Apache 2.0 | 78,75 % | 78,40 % | 76,40 % | 74,82 % |
Zephyr-7B-beta | ✔ | HuggingFace | 7 Mrd. | MIT | 80,94 % | 76,40 % | 72,50 % | 65,00 % |
Gemma-1.1-7B-it | ✔ | 7 Mrd. | Open | 82,50 % | 75,40 % | 75,75 % | 73,32 % | |
Qwen1,5-7B | ✘ | Qwen | 7 Mrd. | Open | 73,75 % | 70,10 % | 69,96 % | 65,17 % |
Qwen-7B | ✘ | Qwen | 7 Mrd. | Open | 68,42 % | 64,08 % | 63,84 % | 54,09 % |
DeciLM-7B | ✘ | Deci | 7 Mrd. | Apache 2.0 | 56,55 % | 56,20 % | 53,85 % | 51,32 % |
Gemma-7b | ✘ | 7 Mrd. | Open | 42,50 % | 37,20 % | 36,00 % | 34,28 % |
Beobachtungen:
- Merlinite-7b-pt ist mit einer durchschnittlichen Genauigkeit von über 82 % das leistungsstärkste community-orientierte Modell hinter den Spitzenreitern.
- Obwohl führende Modelle wie Qwen2.5-7B-Instruct eine herausragende Gesamtgenauigkeit erzielen, verkleinert sich die Lücke zu Merlinite-7b-pt bei größeren Datensätzen erheblich. Merlinite übertrifft sie beim 10.000er Datensatz sogar.
- Modelle ohne Anweisungen wie DeciLM-7B und Gemma-7B zeigen starke Performance-Abfälle und sind ohne umfangreiches Tuning für die Cybersicherheit nicht geeignet.
Modelle der 8-Mrd.-Parameter-Klasse
Beobachtungen:
- Granite-3.0-8b-instruct führt die 8-Mrd.-Kategorie mit einer beeindruckenden durchschnittlichen Genauigkeit von 83,61 % in CyberMetric-Datensätzen an. Die Performance bleibt konsistent und zuverlässig und zeigt einen Rückgang von weniger als 3 % von 80 F zu 10.000 F, was für die Argumentation in Cybersicherheits-Szenarien mit langem Kontext wesentlich ist.
- Im Vergleich zu Granite-3.3-8b-instruct schneidet die Version 3.0 trotz des neueren Releases im Durchschnitt leicht besser ab. Während 3.3 bei 2.000 F einen marginalen Vorsprung aufweist, liegt bei 10.000 F ein Rückgang vor (80,22 %).
- Meta-Llama-3-8B-Instruct zeigt im Vergleich zu beiden Granite-Modellen eine Underperformance, insbesondere bei umfangreichen Datensätzen. Es fällt von 80 F im Vergleich zu 10.000 F um über 10 Prozentpunkte ab, was auf eine schwächere Domain-Anpassung trotz Anweisungsoptimierung hinweist.
- Basismodelle wie Llama3-ChatQA-1.5-8B und Meta-Llama-3-8B liefern mit einer Genauigkeit von ca. 50 % bzw. 37 % durchweg schlechte Ergebnisse. Dies weist darauf hin, dass Anweisungsoptimierung für CyberMetric-Benchmarks entscheidend ist.
- Insgesamt bieten Granite-3.0/3.3-instruct die zuverlässigsten 8-Mrd.-Modelle für Cybersicherheitsaufgaben. Sie verfügen über eine erstklassige Genauigkeit, ohne auf proprietäre APIs angewiesen zu sein, und eignen sich daher bestens für selbst gehostete Deployments.
Zugriff auf Testskripts und detaillierte Ergebnisse
Zur Unterstützung der Reproduzierbarkeit und weiteren Analyse haben wir ein GitHub-Repository veröffentlicht, das Folgendes enthält:
- Das geänderte CyberMetric-Testskript, das für die lokale Bereitstellung über InstructLab angepasst wurde
- Rohdaten aus Benchmarks für alle getesteten Modelle
- Eine Aufschlüsselung der falsch beantworteten Fragen für jedes Modell und alle Datensatz-Größen
Anhand dieser Ressource können modellspezifische Fehler untersucht und Performance-Unterschiede im Bereich der Cybersicherheit besser verstanden werden.
Zusammenfassung
Bei unseren Tests haben wir Folgendes festgestellt:
Granite-3.3-2b-instruct ist eindeutig führend in der ~2-Mrd.-Kategorie und setzt einen Benchmark für kompakte, anweisungsoptimierte Modelle im Bereich der Cybersicherheit. Die Fähigkeit, die Performance in verschiedenen Datensatzgrößen beizubehalten und gleichzeitig weniger Parameter zu verwenden als viele Mitbewerber, macht es zu einer hervorragende Option für Umgebungen mit begrenzten Ressourcen.
Merlinite-7b-pt erweist sich als eines der ausgeglichensten und domain-resilientesten 7-Mrd.-Modelle. Auch wenn es nicht die höchste Punktzahl erreicht, bietet es einen herausragenden Wert für communitybasierte Projekte, die eine starke Cybersicherheits-Performance ohne proprietäre Abhängigkeiten erfordern.
Granite-3.0 und 3.3 setzen den Benchmark für 8-Mrd.-Modelle im Open Source-Bereich für Cybersicherheit. Sie bieten die seltene Kombination aus hoher Genauigkeit, stabiler Skalierbarkeit und offener Lizenzierung, wodurch sie sich ideal für kostengünstige Deployments eignen. Im Vergleich zu Mitbewerbern bieten Granite-8B-Modelle eine Performance, die auf dem neuesten Stand der Technik ist.
Produkttest
Red Hat Enterprise Linux | Testversion
Über den Autor
Ähnliche Einträge
How Red Hat OpenShift AI simplifies trust and compliance
A 5-step playbook for unified automation and AI
Technically Speaking | Platform engineering for AI agents
Technically Speaking | Driving healthcare discoveries with AI
Nach Thema durchsuchen
Automatisierung
Das Neueste zum Thema IT-Automatisierung für Technologien, Teams und Umgebungen
Künstliche Intelligenz
Erfahren Sie das Neueste von den Plattformen, die es Kunden ermöglichen, KI-Workloads beliebig auszuführen
Open Hybrid Cloud
Erfahren Sie, wie wir eine flexiblere Zukunft mit Hybrid Clouds schaffen.
Sicherheit
Erfahren Sie, wie wir Risiken in verschiedenen Umgebungen und Technologien reduzieren
Edge Computing
Erfahren Sie das Neueste von den Plattformen, die die Operations am Edge vereinfachen
Infrastruktur
Erfahren Sie das Neueste von der weltweit führenden Linux-Plattform für Unternehmen
Anwendungen
Entdecken Sie unsere Lösungen für komplexe Herausforderungen bei Anwendungen
Virtualisierung
Erfahren Sie das Neueste über die Virtualisierung von Workloads in Cloud- oder On-Premise-Umgebungen