Guide Overview
KI & Incident Management
/

Alarmflut durch die Deduplizierung von Alarmierungen verringern

In diesem Abschnitt erklären wir, wie Text-Embedding-Modelle für die automatisierte Deduplizierung von Alarmierungen eingesetzt werden können, um die Alarmflut in der Incident-Response zu reduzieren.

Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc.

Was ist Alarm-Deduplizierung?

Unter Deduplizierung von Alarmierungen versteht man den Prozess, bei dem mehrere Alarmierungen, die sich auf dasselbe zugrunde liegende Problem beziehen, erkannt und zu einer einzelnen Alarmierung zusammengefasst werden, um Redundanz zu vermeiden. Das Hauptziel der Alarm-Deduplizierung besteht darin, die Alarmflut zu reduzieren und zu verhindern, dass Incident-Response-Teams mit mehreren Benachrichtigungen für dasselbe Problem überflutet werden.

Verwendung der Embeddings-Ähnlichkeitssuche zur Alarm-Deduplizierung

Es gibt viele Methoden, um Alarm-Deduplizierung umzusetzen. Diese Methoden reichen von einfachen regelbasierten Systemen bis hin zu komplexeren Machine-Learning-Modellen, die jeweils ihre eigenen Vorteile und Anwendungsbereiche haben. Traditionelle Machine-Learning-Techniken wie Clustering und Klassifikation erfordern jedoch oft ein solides Verständnis von Data-Science-Grundlagen und die Unterstützung durch Data Scientists. In diesem Abschnitt stellen wir einen Ansatz vor, der auf Vektor-Embeddings und der Nutzung vortrainierter Modelle basiert. Dadurch wird die Alarm-Deduplizierung auch für Personen zugänglicher, die keine tiefgehenden Data-Science-Kenntnisse besitzen.

Zunächst erläutern wir die notwendigen Konzepte für diese Methode.

Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc.

Vektor-Embeddings sind eine mathematische Darstellung von Daten in einem hochdimensionalen Raum, wobei jeder Punkt (bzw. Vektor) ein bestimmtes Datenelement darstellt, zum Beispiel ein Wort, einen Satz oder ein ganzes Dokument. Diese Embeddings erfassen die semantischen Beziehungen zwischen den Datenpunkten, sodass ähnliche Elemente im Vektorraum näher beieinander liegen.

Diese Technik wird häufig im Bereich Natural Language Processing (NLP) und im Machine Learning eingesetzt, um Computern das Verstehen und Verarbeiten von menschlicher Sprache zu ermöglichen, indem Texte in eine Form umgewandelt werden, mit der Algorithmen arbeiten können.

Wenn Sie beispielsweise ChatGPT nutzen, werden Ihre Eingaben zunächst in eine Zahlenreihe (einen Vektor) umgewandelt. In ähnlicher Weise transformieren wir Alarmierungen mithilfe eines Embedding-Modells in Vektoren.

Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc.

Ein Embedding-Modell ist eine Art von Machine-Learning-Modell, das lernt, komplexe Daten – wie Wörter, Sätze, Bilder oder Graphen – als dichte Vektoren aus reellen Zahlen in einem niedrigdimensionalen Raum darzustellen.

Der zentrale Gedanke hinter Embedding-Modellen ist es, die semantischen Beziehungen und Merkmale der Daten so zu erfassen, dass ähnliche Elemente im Embedding-Raum näher beieinander liegen.

Durch diese Transformation können Algorithmen mathematische Operationen auf diesen Embeddings durchführen und Aufgaben wie Ähnlichkeitsvergleiche, Clustering und Klassifikation effektiver ausführen.

// Input
"A sentence like this will be transformed into a series of (thousands) number"

// Output
[
	-0.006929283495992422,
  -0.005336422007530928,
  -4.547132266452536e-05,
  -0.024047505110502243,
  ...
	// thousands more numbers
]

Wie kann das nun für die Alarm-Deduplizierung genutzt werden?

Wir wandeln Alarmierungen mit dem Text-Embedding-Modell von OpenAI in Vektor-Embeddings um. Durch den Vergleich dieser Vektoren können wir Alarmierungen identifizieren und deduplizieren, die semantisch ähnlich sind – selbst wenn sie sich auf Textebene nicht exakt entsprechen.

Die folgenden Abschnitte erläutern die einzelnen Schritte dieses Prozesses:

Steps of alert processing into vector embeddings
Schritte der Alarmverarbeitung in Vektor-Embeddings

Schritt 1: Vorverarbeitung der Alarmierungen

  • Standardisierung: Das Format eingehender Alarmierungen wird standardisiert, um Konsistenz sicherzustellen. Wenn Sie ein Alarmierungssystem wie ilert verwenden, das auf mehreren Alarmierungsquellen und Observability-Tools aufbaut, werden Alarmierungen bereits in ein einheitliches Format standardisiert.
  • Bereinigung::
    • Irrelevante Informationen oder Störfaktoren werden aus Alarmierungen entfernt, wie beispielsweise Zeitstempel (die bei jeder Alarmierung einzigartig, aber für die Deduplizierung unerheblich sind) oder Alarm-IDs.
    • Es wird nur das Textformat verwendet und Markdown oder JSON vermieden. Dies reduziert nicht nur die Anzahl der verwendeten Tokens, sondern verhindert auch, dass das Format die Deduplizierung beeinflusst.

Schritt 2: Vektorisierung / Erzeugen von Text-Embeddings

  • Auswahl eines Text-Embedding-Modells: Mit einem geeigneten Text-Embedding-Modell werden Alarmierungen in Vektoren umgewandelt. Modelle wie BERT, Text Embeddings von OpenAI oder Sentence-BERT (speziell für Satz-Embeddings entwickelt) sind dafür geeignet.
  • Vektorisierung: Jede eingehende Alarmierung wird mit dem gewählten Modell in einen Vektor umgewandelt und in einer Vektor-Datenbank gespeichert. Modelle, die mit großen Datensätzen aus natürlicher Sprache trainiert wurden, können vielfältige semantische Bedeutungen erfassen und sind daher gut geeignet, um die in Alarmierungen enthaltenen Informationen zu codieren.

Schritt 3: Deduplizierungs-Logik

  • Ähnlichkeitsmessung: Mithilfe einer Ähnlichkeitsmessung werden die vektorisierten Alarme verglichen. Die Ähnlichkeit zwischen Embeddings wird mithilfe von Metriken wie Kosinus-Ähnlichkeit oder euklidischem Abstand gemessen. Diese Metriken quantifizieren, wie nah zwei Embeddings im Vektorraum beieinander liegen. Je näher die Embeddings, desto ähnlicher sind sie im Hinblick auf ihren semantischen Inhalt. OpenAI empfiehlt die Verwendung der Kosinus-Ähnlichkeit.
  • Festlegung von Schwellenwerten: Es wird ein Schwellenwert festgelegt, ab dem zwei Alarmierungen als Duplikate betrachtet werden. Überschreitet der Ähnlichkeitswert zwischen einer eingehenden Alarmierung und einer bestehenden Alarmierung diesen Schwellenwert, gelten sie als Duplikate. Dieser Schwellenwert kann je nach Präzisions- und Recall-Anforderungen eines Anwendungsfalls angepasst werden.
  • Deduplizierung und Clustering: Wenn zwei Alarmierungen als Duplikate erkannt werden, werden sie zu einem einzigen Datensatz zusammengefasst, wobei ein Zähler die Anzahl der empfangenen Duplikate anzeigt.
  • Optionale Zusammenfassungs: Generierung: Mit einem GenAI-Modell werden präzise Zusammenfassungen für Gruppen von doppelten Alarmierungen generiert. Auf diese Weise lassen sich die wichtigsten Informationen aus mehreren Alarmierungen zu einer einzigen, leicht verständlichen Benachrichtigung zusammenfassen.

Schritt 4: Feedback-Schleife

Implementieren eines Feedback-Mechanismus, mit dem Operatoren Fehlalarme (False Positives) oder übersehene Duplikate markieren können. Mit diesem Feedback wird der Schwellenwert für Ähnlichkeiten weiter optimiert. Der Screenshot unten zeigt, wie die intelligente Gruppierung von Alarmierungen in den Einstellungen aktiviert wird.

Alarme in ilert nach Inhaltsähnlichkeit oder Zeitrahmen gruppieren


Vorteile

Folgende Vorteile hat die Verwendung von Embeddings für die Alarm-Deduplizierung:

Semantisches Verständnis:

Im Gegensatz zum exakten Textabgleich können Embeddings die Bedeutung von Alarmierungen erfassen, sodass auch Alarmierungen dedupliziert werden können, die semantisch ähnlich, aber nicht textuell identisch sind.
Flexibilität:

Diese Methode kann mit Variationen in der Formulierung oder Struktur von Alarmierungen umgehen und ist somit robust gegenüber Änderungen im Alarmierungsformat oder bei den Quellen.

Skalierbarkeit:

Embeddings und Ähnlichkeitssuchen können effizient mit Vektor-Datenbanken und -Bibliotheken implementiert werden, wodurch sich dieser Ansatz problemlos auf große Mengen von Alarmierungen skalieren lässt.

Herausforderungen und Überlegungen

Modellauswahl:

Die Wirksamkeit von Embeddings für die Deduplizierung hängt von der Qualität des Embedding-Modells ab. Domänenspezifische oder feinabgestimmte Modelle können durch das Erfassen relevanter Nuancen eine bessere Leistung bieten.
Anpassung des Schwellenwerts:

Die Festlegung des optimalen Schwellenwerts für die Deduplizierung erfordert ein Gleichgewicht zwischen False Positives (fälschlicherweise unterschiedliche Alarmierungen zusammenführen) und False Negatives (Duplikate nicht erkennen). Dies kann empirische Tests und Anpassungen erfordern.
Kontinuierliches Lernen:


Mit der Zeit kann sich die Art der Alarmierungen ändern, was Aktualisierungen des Modells oder eine erneute Bewertung des Ähnlichkeitsschwellenwerts erforderlich macht, damit die Deduplizierung weiterhin effizient funktioniert.

Sind Sie bereit, Ihr Incident-Management zu verbessern?

Kostenlos starten