6.5.2. Teljesítmény benchmarkok

2025.10.06.
AI Biztonság Blog

A funkcionalitás mátrix (az előző fejezetből) megmutatja, hogy egy eszköz mit tud. De a kép ezzel még korántsem teljes. Képzelj el két autót: mindkettőnek van négy kereke, kormánya és motorja. Papíron ugyanazt tudják: elvinni A-ból B-be. Mégis, az egyik egy városi kisautó, a másik egy sportkocsi. 

Kapcsolati űrlap

AI Biztonság kérdésed van? Itt elérsz minket:

A különbség a hogyan-ban rejlik – a teljesítményben. Az AI Red Teaming eszközöknél sincs ez másképp. A benchmarkolás az a folyamat, amivel objektíven megmérjük ezt a „hogyan”-t.

Definíció: A teljesítmény benchmarkolás egy standardizált, megismételhető tesztelési folyamat, amelynek célja egy eszköz vagy rendszer teljesítményének objektív mérése specifikus metrikák mentén. Nem arról szól, hogy „melyik a jobb”, hanem arról, hogy „melyik a jobb egy adott feladatra, adott körülmények között”.

A benchmarkolás kulcsmetrikái

Amikor egy Ai red teaming eszközt tesztelsz, nem csak a sebesség számít. A teljes képhez több dimenziót is vizsgálnod kell.

1. Sebesség és áteresztőképesség (Throughput)

Ez a legnyilvánvalóbb metrika. Azt méri, hogy az eszköz mennyi munkát képes elvégezni adott idő alatt. A kérdések, amikre választ keresel:

  • Hány promptot tud feldolgozni percenként egy prompt injection szkenner?
  • Mennyi idő alatt generál le 1000 rosszindulatú adatpontot egy adat-mérgező (data poisoning) eszköz?
  • Milyen gyorsan képes egy jailbreak tesztelő végigfuttatni a teljes tesztcsomagját egy adott modellen?

Az áteresztőképesség különösen fontos nagyvállalati környezetben, ahol esetleg több ezer modellt vagy alkalmazást kell folyamatosan ellenőrizni.

2. Erőforrás-felhasználás

Egy villámgyors eszköz, ami felemészt egy teljes adatközpontot, nem biztos, hogy praktikus. 

Az erőforrás-igény közvetlenül befolyásolja a tesztelés költségeit, különösen felhő alapú környezetben!

  • CPU-használat: Mennyire terheli a processzort a futás? Egy rosszul optimalizált eszköz megbéníthat más folyamatokat.
  • Memória (RAM) igény: Mekkora memóriára van szüksége? Kifut-e a rendelkezésre álló RAM-ból nagyobb tesztadatbázisok esetén?
  • GPU-igény: Sok modern LLM-alapú támadó eszköz használ GPU-t a gyorsításhoz. Ez jelentős költségtényező lehet.
  • Lemez I/O: Intenzíven ír vagy olvas a lemezről? Ez lassíthatja a folyamatot, főleg hálózati tárolók esetén.

3. Pontosság és hatékonyság

Ez talán a legnehezebben mérhető, de legfontosabb metrika. Mit ér egy gyors és olcsó eszköz, ha nem találja meg a sérülékenységeket, vagy épp ellenkezőleg, mindent annak jelez?

  • Találati arány (True Positives): A valós sérülékenységek közül mennyit talál meg az eszköz?
  • Téves riasztások aránya (False Positives): Hányszor jelez sérülékenységet ott, ahol valójában nincs? A túl sok téves riasztás aláássa a bizalmat és rengeteg felesleges munkát generál.

A hatékonyság méréséhez szükséged lesz egy „ground truth” adathalmazra – egy olyan tesztkészletre, ahol előre tudod, mely esetek jelentenek valós sérülékenységet.

4. Skálázhatóság

Hogyan viselkedik az eszköz, ha a terhelést a tízszeresére vagy a százszorosára növeljük? Egy eszköz, ami remekül működik 100 prompttal, lehet, hogy összeomlik 100.000 alatt. 

A skálázhatóság azt méri, hogy a teljesítmény (sebesség, erőforrás-igény) hogyan változik a feladat méretének növekedésével!

Hogyan végezzünk releváns méréseket?

Egy jó benchmark megismételhető és a te valós használati eseteidet tükrözi. Az alábbi lépések segítenek ebben:

  1. Definiálj egy standard tesztkörnyezetet: Mindig ugyanazon a hardveren, ugyanazzal az operációs rendszerrel és szoftverkörnyezettel tesztelj. Egy Docker konténer ideális lehet erre a célra.
  2. Készíts egy reprezentatív tesztadatbázist: Gyűjts össze olyan promptokat, adatokat és modell-válaszokat, amik a te mindennapi munkádat jellemzik. Használj publikus benchmark adathalmazokat (pl. Jailbreak LLMs, Prompt Injections) is az összehasonlíthatóság kedvéért.
  3. Automatizáld a mérést: Írj egy egyszerű szkriptet, ami elindítja a tesztet, méri a futási időt és naplózza az erőforrás-felhasználást.

# Pszeudokód egy egyszerű benchmark szkripthez

# Tesztadatok betöltése
teszt_promptok = betolt("data/injection_prompts_1k.csv")

# Erőforrás-mérés indítása (pl. dstat, top)
indit_monitoring("eszkoz_A_log.txt")
ido_start = most()

# Az eszköz futtatása a tesztadatokon
futtat_eszkoz_A(teszt_promptok, "--mod-agressziv")

ido_stop = most()
leallit_monitoring()

# Eredmények kiértékelése
eltelt_ido = ido_stop - ido_start
eredmenyek = elemez_log("eszkoz_A_log.txt")

# Riport generálása
print(f"Eszköz A - Eltelt idő: {eltelt_ido} másodperc")
print(f"Átlagos CPU használat: {eredmenyek.avg_cpu}%")
print(f"Maximális memória: {eredmenyek.max_mem} MB")

Összehasonlító táblázat: A számok mögötti valóság

A mérések után az eredményeket érdemes egy áttekinthető táblázatba foglalni. Ez segít a döntéshozatalban.

Példa benchmark összehasonlító táblázat (10.000 prompt injection teszt)
Metrika Eszköz A (Nyílt forráskódú) Eszköz B (Kereskedelmi) Megjegyzés
Futási idő 18 perc 6 perc Az Eszköz B jelentősen gyorsabb.
Max. CPU használat 85% (4 magon) 95% (16 magon, GPU-val) Az Eszköz B több erőforrást használ, de jobban párhuzamosít.
Max. RAM használat 4 GB 22 GB Az Eszköz B memóriaigénye jóval magasabb.
Találati arány (TP) 82% 94% Az Eszköz B több valós sérülékenységet talált meg.
Téves riasztások (FP) 5% 1.5% Az Eszköz B kevesebb „zajt” generál.

A táblázat alapján az Eszköz B jobbnak tűnik, de lényegesen drágább az üzemeltetése a magasabb erőforrás-igény miatt. Egy kisebb csapatnak, korlátozott büdzsével, az Eszköz A lehet a racionális választás, míg egy nagyvállalatnak, ahol a pontosság és a sebesség a legfontosabb, megérheti az Eszköz B-be fektetni.

A „Tökéletes” Eszköz Illúziója Gyors & Hatékony Olcsó (Alacsony erőforrás) Pontos (Magas találati arány) Nagyon gyors, de pontatlan Nagyon olcsó, de lassú Nagyon pontos, de drága

A fenti ábra jól szemlélteti a kompromisszumot: ritkán találsz olyan eszközt, ami egyszerre extrém gyors, fillérekbe kerül az üzemeltetése és 100%-os pontosságú. A benchmarkolás segít megtalálni azt az egyensúlyt, ami a te projektjeid és céljaid számára a legmegfelelőbb.