Jul 29, 2021
Bei Intertec ist man sich einig, dass die Qualitätssicherung bei fast jedem Projekt durchgeführt werden sollte, unabhängig von der Domäne und dem Typ. Einige Leute sind der Meinung, dass der QS-Prozess ziemlich einfach ist und nur auf die so genannten konventionellen Anwendungen angewendet werden kann.
Um das Dilemma zu durchbrechen und zu zeigen, dass unkonventionelle Projekte besondere Aufmerksamkeit und Qualitätssicherung erfordern, haben mein QS-Kollege Gjorgji Karakolev und ich eine Sitzung mit den Mitgliedern unserer KI-Arbeitsgruppe initiiert.
Während der internen KI-Sitzung versuchten wir, die allgemeinen Merkmale eines KI-Projekts zu verstehen, wir diskutierten und beantworteten die wichtigsten Fragen, und im folgenden Artikel werden wir Ihnen die Schlussfolgerung über die Wirksamkeit der QS in der KI-Qualitätssicherung in der künstlichen Intelligenz vorstellen.
Das Hauptziel der KI besteht darin, ein künstliches Wesen (ein Modell) zu erzeugen, das mehr oder weniger Teile des menschlichen intelligenten Verhaltens ersetzen kann. Dies ist ein Konzept, das als enge KI bekannt ist. Für den Moment lassen wir das Konzept der allgemeinen KI außer Acht und konzentrieren uns auf die Modelle, die bestimmte Aufgaben erfüllen, wie z. B. die Vorhersage von Werten anhand einiger Faktoren oder die Produktion natürlicher Sprache anhand einer Reihe von Parametern.
Der Zweck des Modells besteht also darin, automatisch etwas zu tun, was den Benutzer bei einer herkömmlichen Anwendung ersetzt. Damit es richtig genutzt werden kann, muss dieses Modell hinter einer API platziert werden, die wiederum von einem Dienst oder einem Prüfsubjekt (sprich QA) genutzt werden kann.

Wenn es um die Durchführung der Qualitätssicherung geht, kann der erste Eindruck ermutigend sein. Sie ähnelt den Standard-API-Prüfungen, die nach dem Blackbox-Prinzip ablaufen: "Kümmere dich nicht darum, wie das Modell gelernt hat, sondern was es gelernt hat". Aber ist das wirklich so?

Lassen Sie uns die Geschichte dahinter erzählen. Die Erstellung eines Modells bezieht sich in der Regel auf eine Variante des Standard-KI-Lebenszyklus, der in den meisten Fällen auf der CRISP-DM-Pipeline basiert. Das bedeutet, dass zur Erstellung eines Modells eine geordnete Reihe von Phasen und die darin enthaltenen Prozesse in mehreren Iterationen durchgeführt werden müssen. Jeder dieser Prozesse wird normalerweise durch Codeeinheiten abgedeckt, die unabhängig voneinander ausgeführt werden können.
Es stellt sich also die folgende Frage: Muss die Qualitätssicherung auch für jede dieser Einheiten durchgeführt werden? Und was ist mit den Daten?
... und das kann einen großen Einfluss auf die Qualitätssicherung haben. Leider ist KI, so sehr wir auch versuchen, sie zu verallgemeinern, eine komplexe Disziplin, die viele verschiedene Teilbereiche, Techniken und Modelltypen umfasst. Daher kann die Prüfung eines solchen Projekts sehr unterschiedlich ausfallen.
Bei der Bewertung eines Standard-Regressionsmodells für maschinelles Lernen (ML) geht es zum Beispiel um Zahlen als relativ einfache Ausgabe. In ähnlicher Weise können ML-Klassifizierungsprobleme mit Zeichenketten umgehen, allerdings als wohldefinierte und endliche Menge. Dies gilt nicht für die KI-Typen Bild-/Videoerkennung oder Verarbeitung/Generierung natürlicher Sprache (NLP/G), da der Bewertungsprozess mit weitaus komplexeren Ausgaben verbunden ist.
Werfen wir einen Blick auf die Herausforderungen eines NLG-Projekts, die die Ingenieure des KI-Teams auf der Sitzung beschrieben.
Eine der größten Herausforderungen beim Aufbau eines funktionalen und effektiven NLG-Systems ist das Testen (im Zusammenhang mit dem Testprozess des Lebenszyklus) und die abschließende Qualitätssicherung. Wie können wir sicherstellen, dass ein NLG-System stabil und zuverlässig ist? Dies ist bei kommerziellen NLG-Systemen oft von entscheidender Bedeutung und bei einigen akademischen und Forschungs-NLG-Systemen sogar sehr wünschenswert.
Im Allgemeinen scheint die Praxis in der künstlichen Intelligenz wie folgt zu sein: Man lässt ein System auf einer Reihe von Testfällen laufen und berichtet, wie viel Prozent der Testfälle das System richtig beantwortet hat. Eine Herausforderung besteht darin, dass wir das Worst-Case-Verhalten immer noch als Durchschnittsverhalten begreifen und anerkennen wollen.
Wertvolle Qualitätssicherung für NLG erfordert:
Da es für Entwickler oft schwierig ist, ihren eigenen Code ordnungsgemäß zu testen, empfehlen wir, die Tests von engagierten Testern durchführen zu lassen.
Anforderungen sind die Muse für alle Softwareentwicklungsbemühungen, da sie die neue Funktionalität definieren, die die Beteiligten erwarten und wie sich ihre Anwendung für die Benutzer verhalten wird. Die meisten Probleme, die bei der Entwicklung und Verfeinerung eines Produkts auftreten, lassen sich direkt auf Fehler in den Anforderungen zurückführen. Eine mangelhafte Anforderungsdefinition ist oft eine direkte Folge zu vieler Änderungen, und dies ist häufig ein schwerwiegender Grund für das Scheitern von Softwareprojekten.
Durch das Testen wird sichergestellt, dass eine Anwendung in Übereinstimmung mit dem Entwurf und den üblichen Erwartungen der Benutzer funktioniert. Dies geschieht häufig durch:
Die Testsuite muss darauf abzielen, eine vollständige Abdeckung aller Pfade und jeder Form von Daten zu liefern. Dies bedeutet, dass die Benutzer- und Systemanforderungen ausreichend detailliert sein müssen, damit die Testentwickler qualitativ hochwertige Testfälle erstellen können.
Da die technologische Komplexität immer weiter zunimmt, besteht ein akuter Bedarf an einer Lösung zur automatischen Generierung von Testfällen, die die Kosten in Grenzen hält und gleichzeitig eine angemessene Abdeckung komplexer Softwareanwendungen und -systeme gewährleistet.
Betrachten wir die Diskussionspunkte aus der Sicht von QA und Entwicklern.
Wie üblich sollten Qualitätsingenieure die Prinzipien der KI-Modellierung von Grund auf verstehen, sich an die dynamischen Testdaten und den ständigen Bedarf an Aktualisierungen und Verbesserungen gewöhnen. Wenn das Testen des Front-End-Teils einer konventionellen Anwendung in Bezug auf die Erfüllung der UI/UX-Kriterien flexibel sein kann, dann ist die Durchführung der Qualitätssicherung für einen KI-Modus hinter einer API sogar noch flexibler, abhängig von der erwarteten Qualität und Leistung, was etwas anderes ist als ein fest definiertes Szenario für Standard-Back-End-API-Tests.
Ja, mit intelligenten Automatisierungstests wird die Entwicklung den manuellen Aufwand verringern, aber letztendlich sollten zumindest in einigen Fällen des Endergebnisses manuelle Prüfungen durchgeführt werden.
Natürlich nicht, QS ist ein notwendiger Bestandteil der Softwareentwicklung. Bei der QS geht es um viel mehr als nur um das Testen von Code.
Wir können nicht sagen, welche Tools oder Technologien derzeit besser sind, da dies immer von der Person, dem Team oder der Firma/Organisation abhängt, die sie einsetzt.
Die Antwort ist mehr oder weniger dieselbe wie bei der manuellen Qualitätssicherung, allerdings sollten die Nutzungsmuster innerhalb des Teams starrer sein.
Wenn wir diese Frage nach Vorschrift beantworten, dann - nein. Es gibt nämlich spezielle Stellenbeschreibungen, die für die Qualität der Daten verantwortlich sind, wie z. B. Datenanalysten oder Dateningenieure.
Die meisten Unternehmen haben jedoch nicht den Luxus, solche Experten in einem Team zu haben, das sich mit einem KI-Projekt befasst, und neigen dazu, Kompromisse einzugehen, indem sie die Qualitätssicherung oder in geringerem Maße Entwickler und Domänenexperten damit beauftragen, sich um die Datenqualität zu kümmern. Seien wir ehrlich, Leute mit diesen JDs sind wirklich schwer zu finden, und wenn man anfängt, ist Improvisation der empfohlene Weg.
So bald wie möglich. Warten Sie nicht, bis die erste Iteration des KI-Lebenszyklus abgeschlossen ist, denn es ist besser, einen Prozess oder eine Phase selbst zu verbessern, als eine unnötige Iteration zu durchlaufen, bevor Sie ein Problem entdecken. Das bedeutet, dass unmittelbar nach der Entwicklung des ersten gut definierten und testbaren Codeschnipsels eine Qualitätssicherung erfolgen muss.
Das wäre ein großer Vorteil für die QS, denn das Modell wird die Fehler nicht melden". Auch die Protokolle der Prozesse, die zur Modellerstellung führen, sollten erfasst werden. Die Verwendung eines spezialisierten Überwachungswerkzeugs wird den QA-Prozess verbessern. Voraussetzung ist vor allem ein gut strukturiertes und leicht verständliches Format, zu dem die QS stets Vorschläge und aktive Beiträge leisten und nicht alles den Entscheidungen der Entwickler und Produktmanager überlassen sollte.
Die Entwicklung einer intelligenteren Automatisierung wird dazu führen, dass die manuelle QS automatisch benachrichtigt wird, wenn etwas nicht stimmt.
Manuelle und explorative Tests hängen vollständig von einem Tester ab, um durch einen Testpfad zu navigieren. Auch wenn ein erfahrener Tester nicht in freier Form vorgeht, wird der Test nur in der Geschwindigkeit der menschlichen manuellen Ausführung fortgesetzt, und diese kann oft durch Unterbrechungen behindert werden. Manuellen Tests mangelt es in der Regel an Spezifität und Wiederholbarkeit.
Ein entscheidender Vorteil beim Testen neuer Funktionen besteht darin, dass der menschliche Tester sich in die Art des Benutzers hineinversetzen kann. Dies kann sich natürlich von einem Skript unterscheiden, das nur einen Pfad verfolgen kann. Der frustrierendste Aspekt manueller/explorativer Tests ist der hohe Kosten- und Energieaufwand, der damit verbunden ist. Da die Software immer umfangreicher und komplexer wird, scheint das Testen ohne Skripte, nun ja, Unsinn zu sein. Sie sind weitreichend und variabel, wenn auch selten unbeabsichtigt. Fragt man andererseits erfahrene Automatisierungsingenieure und QS-Fachleute nach der Rechtfertigung solcher Tests, wird man wahrscheinlich feststellen, dass geskriptete Tests im Gegensatz zu explorativen Tests eine ewige Debatte sind.
Obwohl der Charakter der NLG-Projekte dafür sorgt, dass manuelle Prüfungen unvermeidlich sind, führt die Erstellung von mehr automatisierten Tests für jeden Prozess, insbesondere für den Validierungsteil, der für die Erhöhung des Standards des Modells verantwortlich ist, zu weniger Anwendungsfällen für manuelle Tests.
Wir hoffen, dass wir zumindest einige der Barrieren und Tabus für die QS in einem KI-Projekt durchbrochen haben. Die erste Voraussetzung ist, dass derjenige, der die QS durchführt, hoch motiviert ist und keine Angst vor diesem kleinen Monster hat. Hier sind unsere zusammengefassten Tipps:
Sind Sie jemand, der auf der Suche nach einer neuen Herausforderung ist? Möchten Sie in einem Unternehmen arbeiten, in dem unkonventionelles Denken gefördert wird? Sehen Sie sich unsere aktuellen Stellenangebotean.

Kristijan Miloshevski
Vertrauen bei führenden Unternehmen weltweit




Intertec


Aneta Pejchinoska


Intertec