Verbessern Sie KI/ML-Workflows mit Continuous Integration. Automatisieren Sie Tests, verbessern Sie die Codequalität und optimieren Sie die Modellentwicklung mühelos.
Die kontinuierliche Integration (Continuous Integration, CI) ist eine grundlegende Praxis der Softwareentwicklung, bei der die Entwickler ihre Codeänderungen in ein gemeinsames zentrales Repository einbringen. Anstatt in regelmäßigen Abständen umfangreiche Aktualisierungen zu integrieren, fördert CI kleine, regelmäßige Übertragungen, die automatisierte Build- und Testsequenzen auslösen. In dem dynamischen Bereich der Künstliche Intelligenz (KI) und Machine Learning (ML) ist diese Praxis ein Eckpfeiler von Machine Learning Operations (MLOps). Sie stellt sicher, dass Änderungen an Code, Daten oder Hyperparametern das bestehende System nicht oder die Leistung des Modells beeinträchtigen.
Das Hauptziel von CI ist es, Fehler so früh wie möglich detect , ein Konzept, das oft als "Failing schnell" bezeichnet wird. Dieser Prozess stützt sich stark auf Versionskontrollsysteme wie Git zur die Codebasis zu verwalten. Wenn ein Entwickler eine Änderung vornimmt, wird ein CI-Server - wie z. B. GitHub-Aktionen, GitLab CI oder Jenkins - automatisch eine neue Umgebung auf.
Für ML-Projekte werden in dieser Umgebung häufig Containerisierungswerkzeuge wie Docker, um die Konsistenz zwischen Entwicklung, Tests und Produktion zu gewährleisten. Die CI Pipeline führt dann eine Reihe von Prüfungen durch:
Ein entscheidender Aspekt der KI für ML ist die Vermeidung von "stillen Fehlern", bei denen der Code ohne Fehler läuft, aber die Intelligenz des Modells Intelligenz des Modells verschlechtert. Dies geschieht durch die Integration von Modellprüfung direkt in den CI-Workflow integriert.
Das folgende Python zeigt, wie ein CI-Skript eine YOLO11 Modell lädt und sicherstellt, dass seine Leistungsmetriken einem einem bestimmten Standard entsprechen, bevor der Code zusammengeführt werden kann.
from ultralytics import YOLO
# Load the model to be tested (e.g., a newly trained artifact)
model = YOLO("yolo11n.pt")
# Run validation on a standard dataset (e.g., coco8.yaml for quick CI checks)
results = model.val(data="coco8.yaml")
# Extract the mAP50-95 metric
map_score = results.box.map
# Assert performance meets the minimum requirement for the pipeline to pass
print(f"Current mAP: {map_score}")
if map_score < 0.30:
raise ValueError("Model performance regression detected! mAP is too low.")
Die Anwendung der kontinuierlichen Integration ist in Branchen, in denen Zuverlässigkeit nicht verhandelbar ist, unerlässlich.
Obwohl oft zusammen als CI/CD bezeichnet, ist es wichtig, Continuous Integration von Continuous Deployment zu unterscheiden. Kontinuierlicher Bereitstellung.
Zusammen bilden sie eine optimierte Pipeline, die den Lebenszyklus von Lebenszyklus von KI-Produkten beschleunigt und Teams eine schnellere Iteration und gleichzeitig hohe Qualitäts- und Sicherheitsstandards einzuhalten.