mit ein wenig Kontrolle und Gewährleistung der Sicherheit. Leitplanken bieten dies für KI-Anwendungen. Aber wie können diese in Anwendungen integriert werden?
Einige Leitplanken werden bereits festgelegt, bevor mit der Anwendungscodierung begonnen wird. Erstens gibt es von der Regierung bereitgestellte rechtliche Leitplanken, wie z EU-KI-Gesetzdas akzeptable und verbotene Anwendungsfälle von KI hervorhebt. Dann gibt es vom Unternehmen festgelegte Richtlinien. Diese Leitplanken geben an, welche Anwendungsfälle das Unternehmen für den Einsatz von KI akzeptabel hält, sowohl im Hinblick auf Sicherheit als auch auf Ethik. Diese beiden Leitplanken filtern die Anwendungsfälle für die KI-Einführung.
Nachdem die ersten beiden Arten von Leitplanken überwunden wurden, erreicht das Engineering-Group einen akzeptablen Anwendungsfall. Wenn das Engineering-Group den Anwendungsfall implementiert, integriert es außerdem technische Leitplanken, um die sichere Nutzung von Daten zu gewährleisten und das erwartete Verhalten der Anwendung aufrechtzuerhalten. Wir werden diesen dritten Leitplankentyp im Artikel untersuchen.
Oberste technische Leitplanken auf verschiedenen Ebenen der KI-Anwendung
Leitplanken werden auf der Eingabe-, Modell- und Ausgabeebene erstellt. Jedes dient einem einzigartigen Zweck:
- Datenschicht: Leitplanken auf der Datenebene stellen sicher, dass keine sensiblen, problematischen oder falschen Daten in das System gelangen.
- Modellebene: Es empfiehlt sich, auf dieser Ebene Leitplanken zu erstellen, um sicherzustellen, dass das Modell wie erwartet funktioniert.
- Ausgabeebene: Leitplanken auf der Ausgabeebene stellen sicher, dass das Modell keine falschen Antworten mit hoher Zuverlässigkeit liefert – eine häufige Bedrohung bei KI-Systemen.

1. Datenschicht
Lassen Sie uns die unverzichtbare Leitplanke auf der Datenebene durchgehen:
(i) Eingabevalidierung und -bereinigung
Das erste, was Sie in einer KI-Anwendung überprüfen müssen, ist, ob die Eingabedaten das richtige Format haben und keine unangemessene oder anstößige Sprache enthalten. Das ist eigentlich ganz einfach, da die meisten Datenbanken integrierte SQL-Funktionen für den Mustervergleich bieten. Wenn eine Spalte beispielsweise alphanumerisch sein soll, können Sie mithilfe eines einfachen Regex-Musters überprüfen, ob die Werte im erwarteten Format vorliegen. Ebenso stehen Funktionen zur Verfügung, um in Cloud-Anwendungen wie Microsoft Azure eine Obszönitätsprüfung (unangemessene oder beleidigende Sprache) durchzuführen. Sie können jedoch jederzeit eine benutzerdefinierte Funktion erstellen, wenn Ihre Datenbank nicht über eine solche verfügt.
Knowledge validation:
– The question beneath solely takes entries from the client desk the place the customer_email_id is in a legitimate format
SELECT * FROM clients WHERE REGEXP_LIKE(customer_email_id, '^(A-Z0-9._%+-)+@(A-Z0-9.-)+.(A-Z){2,}$' );
—-----------------------------------------------------------------------------------------
Knowledge sanitization:
– Making a customized profanity_check perform to detect offensive language
CREATE OR REPLACE FUNCTION offensive_language_check(INPUT VARCHAR)
RETURNS BOOLEAN
LANGUAGE SQL
AS $$
SELECT REGEXP_LIKE(
INPUT
'b(abc|...)b', — checklist of offensive phrases separated by pipe
);
$$;
– Utilizing the customized profanity_check perform to filter out feedback with offensive language
SELECT user_comments from customer_feedback the place offensive_language_check(user_comments)=0;
(ii) PII und Schutz sensibler Daten
Ein weiterer wichtiger Aspekt beim Aufbau einer sicheren KI-Anwendung besteht darin, sicherzustellen, dass keine PII-Daten die Modellebene erreichen. Die meisten Dateningenieure arbeiten mit funktionsübergreifenden Groups zusammen, um alle PII-Spalten in Tabellen zu kennzeichnen. Es stehen auch Instruments zur Automatisierung der PII-Identifizierung zur Verfügung, die mithilfe von ML-Modellen eine Datenprofilierung durchführen und die PII-Spalten kennzeichnen können. Gängige PII-Spalten sind: Title, E-Mail-Adresse, Telefonnummer, Geburtsdatum, Sozialversicherungsnummer (SSN), Reisepassnummer, Führerscheinnummer und biometrische Daten. Weitere Beispiele für indirekte PII sind Gesundheitsinformationen oder Finanzinformationen.
Eine übliche Methode, um zu verhindern, dass diese Daten in das System gelangen, ist die Anwendung eines Anonymisierungsmechanismus. Dies kann so einfach sein wie das vollständige Entfernen der Daten oder die Verwendung ausgefeilter Maskierungs- oder Pseudonymisierungstechniken mithilfe von Hashing – etwas, das das Modell nicht interpretieren kann.
– Hashing PII information of shoppers for information privateness
SELECT SHA2(customer_name, 256) AS encrypted_customer_name, SHA2(customer_email, 256) AS encrypted_customer_email, … FROM customer_data
(iii) Erkennung und Abschwächung von Verzerrungen
Bevor die Daten in die Modellebene gelangen, besteht ein weiterer Prüfpunkt darin, zu überprüfen, ob sie korrekt und verzerrungsfrei sind. Einige häufige Arten von Voreingenommenheit sind:
- Auswahlverzerrung: Die Eingabedaten sind unvollständig und geben nicht genau die gesamte Zielgruppe wieder.
- Überlebensbias: Es gibt mehr Daten für den glücklichen Pfad, was es für das Modell schwierig macht, an gescheiterten Szenarien zu arbeiten.
- Rassen- oder Assoziationsvoreingenommenheit: Die Daten begünstigen aufgrund früherer Muster oder Vorurteile ein bestimmtes Geschlecht oder eine bestimmte Rasse.
- Mess- oder Etikettenverzerrung: Die Daten sind aufgrund eines Etikettierungsfehlers oder einer Voreingenommenheit der Particular person, die sie aufgezeichnet hat, falsch.
- Tendenz zu seltenen Ereignissen: Den Eingabedaten fehlen alle Randfälle, sodass ein unvollständiges Bild entsteht.
- Zeitliche Voreingenommenheit: Die Eingabedaten sind veraltet und geben die aktuelle Welt nicht genau wieder.
Ich wünschte zwar auch, dass es ein einfaches System gäbe, um solche Voreingenommenheiten zu erkennen, aber das ist eigentlich reine Arbeit. Der Datenwissenschaftler muss sich hinsetzen, Abfragen ausführen und Daten für jedes Szenario testen, um etwaige Verzerrungen zu erkennen. Wenn Sie beispielsweise eine Gesundheits-App erstellen und nicht über ausreichende Daten für eine bestimmte Altersgruppe oder einen bestimmten BMI verfügen, ist die Wahrscheinlichkeit einer Verzerrung der Daten hoch.
– Figuring out if any age group information or BMI group information is lacking
choose age_group, depend(*) from users_data group by age_group;
choose BMI, depend(*) from users_data group by BMI;
(iv) Pünktliche Datenverfügbarkeit
Ein weiterer zu überprüfender Aspekt ist die Aktualität der Daten. Damit die Modelle intestine funktionieren, müssen die richtigen und relevanten Daten verfügbar sein. Einige Modelle benötigen möglicherweise Echtzeitdaten, einige erfordern nahezu Echtzeitdaten und für einige reicht Batch aus. Was auch immer Ihre Anforderungen sind, Sie benötigen ein System zur Überwachung, ob die neuesten erforderlichen Daten verfügbar sind.
Wenn Kategoriemanager beispielsweise die Preisgestaltung von Produkten jede Mitternacht basierend auf der Marktdynamik aktualisieren, müssen die Daten Ihres Modells zuletzt nach Mitternacht aktualisiert werden. Sie können Systeme einrichten, die Sie benachrichtigen, wenn Daten veraltet sind, oder Sie können eine proaktive Warnung rund um die Datenorchestrierungsebene aufbauen und die ETL-Pipelines auf Aktualität überwachen.
–Creating an alert if at present’s information isn't accessible
SELECT CASE WHEN TO_DATE(last_updated_timestamp) != TO_DATE(CURRENT_TIMESTAMP()) THEN 'FRESH' ELSE 'STALE' END AS table_freshness_status FROM product_data;
(v) Datenintegrität
Die Wahrung der Integrität ist auch für die Modellgenauigkeit von entscheidender Bedeutung. Datenintegrität bezieht sich auf die Genauigkeit, Vollständigkeit und Zuverlässigkeit von Daten. Alle alten, irrelevanten und falschen Daten im System führen dazu, dass die Ausgabe durcheinander gerät. Wenn Sie beispielsweise einen kundenorientierten Chatbot erstellen, darf dieser nur Zugriff auf die neuesten Unternehmensrichtliniendateien haben. Der Zugriff auf falsche Dokumente kann zu Halluzinationen führen, bei denen das Modell Begriffe aus mehreren Dateien zusammenführt und dem Kunden eine völlig falsche Antwort gibt. Und Sie werden trotzdem rechtlich dafür haftbar gemacht. Zum Beispiel wie Air Canada musste Fluggebühren erstatten für Kunden, deren Chatbot fälschlicherweise eine Rückerstattung versprochen hat.
Es gibt keine einfachen Methoden zur Überprüfung der Integrität. Es erfordert, dass Datenanalysten und Ingenieure sich die Hände schmutzig machen, die Dateien/Daten überprüfen und sicherstellen, dass nur die neuesten/relevanten Daten an die Modellebene gesendet werden. Die Aufrechterhaltung der Datenintegrität ist auch die beste Möglichkeit, Halluzinationen zu kontrollieren, sodass das Modell keinen Müll rein und Müll raus macht.
2. Modellebene
Nach der Datenschicht können die folgenden Prüfpunkte in die Modellschicht eingebaut werden:
(i) Benutzerberechtigungen basierend auf der Rolle
Der Schutz der KI-Modellebene ist wichtig, um unbefugte Änderungen zu verhindern, die zu Fehlern oder Verzerrungen in den Systemen führen könnten. Es ist auch erforderlich, Datenlecks zu verhindern. Sie müssen steuern, wer Zugriff auf diese Ebene hat. Ein standardisierter Ansatz hierfür ist die Einführung einer rollenbasierten Zugriffskontrolle, bei der nur Mitarbeiter mit autorisierten Rollen, wie etwa Machine-Studying-Ingenieure, Datenwissenschaftler oder Dateningenieure, auf die Modellebene zugreifen können.
Beispielsweise können DevOps-Ingenieure nur Lesezugriff haben, da sie die Modelllogik nicht ändern sollen. ML-Ingenieure können Lese-/Schreibberechtigungen haben. Die Einrichtung von RBAC ist eine wichtige Sicherheitsmaßnahme zur Aufrechterhaltung der Modellintegrität.
(ii) Voreingenommenheitsprüfungen
Der Umgang mit Bias bleibt ein kontinuierlicher Prozess. Es kann sich später in das System einschleichen, selbst wenn Sie alle notwendigen Prüfungen in der Eingabeebene durchgeführt haben. Tatsächlich neigen einige Verzerrungen, insbesondere Bestätigungsverzerrungen, dazu, sich auf der Modellebene zu entwickeln. Es handelt sich um eine Verzerrung, die auftritt, wenn ein Modell vollständig in die Daten eingepasst ist und keinen Raum für Nuancen lässt. Im Falle einer Überanpassung erfordert ein Modell eine leichte Kalibrierung. Die Spline-Kalibrierung ist eine beliebte Methode zur Modellkalibrierung. Es werden geringfügige Anpassungen an den Daten vorgenommen, um sicherzustellen, dass alle Punkte miteinander verbunden sind.
import numpy as np
import scipy.interpolate as interpolate
import matplotlib.pyplot as plt
from sklearn.metrics import brier_score_loss
# Excessive stage Steps:
#Outline enter (x) and output (y) information for spline becoming
#Set B-Spline parameters: diploma & variety of knots
#Use the perform splrep to compute the B-Spline illustration
#Consider the spline over a variety of x to generate a clean curve.
#Plot authentic information and spline curve for visible comparability.
#Calculate the Brier rating to evaluate prediction accuracy.
#Use eval_spline_calibration to judge the spline on new x values.
#As a ultimate step, we have to analyze the plot by:
# Verify for match high quality (good match, overfitting, underfitting), validating consistency with anticipated traits, and decoding the Brier rating for mannequin efficiency.
######## Pattern Code for the steps above ########
# Pattern information: Alter together with your precise information factors
x_data = np.array((...)) # Enter x values, substitute '...' with precise information
y_data = np.array((...)) # Corresponding output y values, substitute '...' with precise information
# Match a B-Spline to the information
ok = 3 # Diploma of the spline, usually cubic spline (cubic is often used, therefore ok=3)
num_knots = 10 # Variety of knots for spline interpolation, modify primarily based in your information complexity
knots = np.linspace(x_data.min(), x_data.max(), num_knots) # Equally spaced knot vector over information vary
# Compute the spline illustration
# The perform 'splrep' computes the B-spline illustration of a 1-D curve
tck = interpolate.splrep(x_data, y_data, ok=ok, t=knots(1:-1))
# Consider the spline on the desired factors
x_spline = np.linspace(x_data.min(), x_data.max(), 100) # Generate x values for clean spline curve
y_spline = interpolate.splev(x_spline, tck) # Consider spline at x_spline factors
# Plot the outcomes
plt.determine(figsize=(8, 4))
plt.plot(x_data, y_data, 'o', label='Knowledge Factors') # Plot authentic information factors
plt.plot(x_spline, y_spline, '-', label='B-Spline Calibration') # Plot spline curve
plt.xlabel('x')
plt.ylabel('y')
plt.title('Spline Calibration')
plt.legend()
plt.present()
# Calculate Brier rating for comparability
# The Brier rating measures the accuracy of probabilistic predictions
y_pred = interpolate.splev(x_data, tck) # Consider spline at authentic information factors
brier_score = brier_score_loss(y_data, y_pred) # Calculate Brier rating between authentic and predicted information
print("Brier Rating:", brier_score)
# Placeholder for calibration perform
# This perform permits for the analysis of the spline at arbitrary x values
def eval_spline_calibration(x_val):
return interpolate.splev(x_val, tck) # Return the evaluated spline for enter x_val
(iii) LLM als Richter
LLM (Giant Language Mannequin) als Richter ist ein interessanter Ansatz zur Validierung von Modellen, bei dem ein LLM verwendet wird, um die Ausgabe eines anderen LLM zu beurteilen. Es ersetzt manuelle Eingriffe und unterstützt die Implementierung einer Reaktionsvalidierung in großem Maßstab.
Um LLM als Richter zu implementieren, müssen Sie eine Eingabeaufforderung erstellen, die die Ausgabe bewertet. Das zeitnahe Ergebnis muss ein messbares Kriterium sein, beispielsweise eine Punktzahl oder ein Rang.
A pattern immediate for reference:
Assign a helpfulness rating for the response primarily based on the corporate’s insurance policies, the place 1 is the best rating and 5 is the bottom
Diese Eingabeaufforderungsausgabe kann verwendet werden, um das Überwachungsframework auszulösen, wenn Ausgaben unerwartet sind.
Tipp: Das Beste an den jüngsten technologischen Fortschritten ist, dass Sie nicht einmal ein LLM von Grund auf aufbauen müssen. Es stehen Plug-and-Play-Lösungen wie Meta Lama zur Verfügung, die Sie herunterladen und vor Ort ausführen können.
(iv) Kontinuierliche Feinabstimmung
Für den langfristigen Erfolg eines jeden Modells ist eine kontinuierliche Feinabstimmung unerlässlich. Hier wird das Modell regelmäßig auf Genauigkeit verfeinert. Eine einfache Möglichkeit, dies zu erreichen, ist die Einführung von Reinforcement Studying mit menschlichem Suggestions, bei dem menschliche Prüfer die Ausgabe des Modells bewerten und das Modell daraus lernt. Dieser Prozess ist jedoch ressourcenintensiv. Um dies im großen Maßstab zu tun, benötigen Sie Automatisierung.
Eine gängige Feinabstimmungsmethode ist Low-Rank Adaptation (LoRA). Bei dieser Technik erstellen Sie eine separate trainierbare Ebene, die über Logik zur Optimierung verfügt. Sie können die Ausgabegenauigkeit erhöhen, ohne das Basismodell zu ändern. Sie bauen beispielsweise ein Empfehlungssystem für eine Streaming-Plattform auf und die aktuellen Empfehlungen führen nicht zu Klicks. In der LoRA-Ebene erstellen Sie eine separate Logik, in der Sie Cluster von Zuschauern mit ähnlichen Sehgewohnheiten gruppieren und die Clusterdaten verwenden, um Empfehlungen abzugeben. Mithilfe dieser Ebene können Empfehlungen abgegeben werden, bis die gewünschte Genauigkeit erreicht wird.
3. Ausgabeebene
Dies sind einige abschließende Überprüfungen, die aus Sicherheitsgründen auf der Ausgabeebene durchgeführt werden:
(i) Inhaltsfilterung nach Sprache, Schimpfwörtern und Blockierung von Schlüsselwörtern
Ähnlich wie auf der Eingabeebene wird auch auf der Ausgabeebene eine Filterung durchgeführt, um anstößige Sprache zu erkennen. Durch diese doppelte Prüfung wird sichergestellt, dass es keine negativen Erfahrungen für den Endbenutzer gibt.
(ii) Antwortvalidierung
Einige grundlegende Überprüfungen der Modellantworten können auch durch die Erstellung eines einfachen regelbasierten Frameworks durchgeführt werden. Zu diesen Prüfungen können einfache Prüfungen gehören, z. B. die Überprüfung des Ausgabeformats, akzeptabler Werte und mehr. Dies ist sowohl in Python als auch in SQL problemlos möglich.
– Easy rule-based checking to flag invalid response
choose
CASE
WHEN <condition_1> THEN ‘INVALID’
WHEN <condition_2> THEN ‘INVALID’
ELSE ‘VALID’ END as OUTPUT_STATUS
from
output_table;
(iii) Vertrauensschwelle und Human-in-Loop-Auslöser
Kein KI-Modell ist perfekt, und das ist in Ordnung, solange Sie bei Bedarf einen Menschen einbeziehen können. Es stehen KI-Instruments zur Verfügung, mit denen Sie fest programmieren können, wann Sie KI verwenden und wann Sie einen Human-in-the-Loop-Set off auslösen müssen. Es ist auch möglich, diese Aktion durch die Einführung eines Konfidenzschwellenwerts zu automatisieren. Wenn das Modell ein geringes Vertrauen in die Ausgabe zeigt, leiten Sie die Anfrage an einen Menschen weiter, um eine genaue Antwort zu erhalten.
import numpy as np
import scipy.interpolate as interpolate
# One choice to generate a confidence rating is utilizing the B-spline or its derivatives for the enter information
# scipy has interpolate.splev perform takes two primary inputs:
# 1. x: The x values at which you need to consider the spline
# 2. tck: The tuple (t, c, ok) representing the knots, coefficients, and diploma of the spline. This may be generated utilizing make_splrep (or the older perform splrep) or manually constructed
# Generate the boldness scores and take away the values exterior 0 and 1 if current
predicted_probs = np.clip(interpolate.splev(input_data, tck), 0, 1)
# Zip the rating with enter information
confidence_results = checklist(zip(input_data, predicted_probs))
# Provide you with a threshold and establish all inputs that don't meet the edge, and use it for guide verification
threshold = 0.5
filtered_results = ((i, rating) for i, rating in confidence_results if rating <= threshold)
# Information that may be routed for guide/human verification
for i, rating in filtered_results:
print(f"x: {i}, Confidence Rating: {rating}")
(iv) Kontinuierliche Überwachung und Alarmierung
Wie jede Softwareanwendung benötigen auch KI-Modelle ein Protokollierungs- und Warnsystem, das die erwarteten (und unerwarteten) Fehler erkennen kann. Mit dieser Leitplanke verfügen Sie über eine detaillierte Protokolldatei für jede Aktion und eine automatische Benachrichtigung, wenn etwas schief geht.
(v) Einhaltung gesetzlicher Vorschriften
Ein Großteil der Compliance-Abwicklung findet weit vor der Ausgabeebene statt. Rechtlich akzeptable Anwendungsfälle werden in der ersten Section der Anforderungserfassung selbst finalisiert. Alle sensiblen Daten werden in der Eingabeschicht gehasht. Darüber hinaus können regulatorische Anforderungen, wie z. B. die Verschlüsselung von Daten, in der Ausgabeschicht mit einem einfachen regelbasierten Framework durchgeführt werden.
Bringen Sie KI mit menschlichem Fachwissen in Einklang
Leitplanken helfen Ihnen, das Beste aus der KI-Automatisierung herauszuholen und gleichzeitig die Kontrolle über den Prozess zu behalten. Ich habe alle gängigen Arten von Leitplanken behandelt, die Sie möglicherweise auf verschiedenen Ebenen eines Modells festlegen müssen.
Darüber hinaus können Sie auch eine Leitplanke festlegen, wenn Sie auf einen Faktor stoßen, der sich auf die erwartete Ausgabe des Modells auswirken könnte. Bei diesem Artikel handelt es sich nicht um eine feste Formel, sondern um einen Leitfaden zur Identifizierung (und Behebung) der häufigsten Hindernisse. Am Ende muss Ihre KI-Anwendung das tun, wofür sie gedacht ist: die geschäftige Arbeit ohne Kopfschmerzen automatisieren. Und Leitplanken helfen dabei.
