FloQast hat ein Produkt namens AutoRec, was Buchhaltern hilft, Transaktionen aus zwei verschiedenen Quellen automatisch abzugleichen. Seit etwa einem Jahr bin ich der Qualitätsingenieur des Teams, das für das verantwortlich ist passender Motor. Dies ist der Teil der AutoRec-Anwendung, der diese Transaktionen aufnimmt und versucht vorherzusagen, welche Transaktionen sich abgleichen oder „übereinstimmen“. Unter der Haube nutzen wir maschinelles Lernen, um das Matchmaking zu unterstützen. Die meisten meiner bisherigen Erfahrungen hatte ich mit traditionellen Webanwendungen gesammelt, daher erforderte das Testen des maschinellen Lernens eine neue Denkweise.

Wie anders ist es wirklich?
Das Testen eines Machine-Learning-Projekts unterscheidet sich in vielerlei Hinsicht vom Testen einer Webanwendung, vor allem aber für einen Quality Engineer:
- Wir testen nicht unbedingt Fälle, für die wir das erwartete Ergebnis kennen — wir testen, ob ein Modell bestimmte Fälle verallgemeinern kann, die es noch nie zuvor gesehen hat.
- Diese Anzahl von Fällen ist im Wesentlichen unendlich.
- Im Moment geht es uns weniger darum, jede Vorhersage richtig zu machen — wir konzentrieren uns darauf, die Genauigkeit zu messen und das Modell schrittweise zu verbessern.
Unnötig zu sagen... ich brauchte eine Minute, um mich neu zu orientieren.

Eine andere Art des Testens
Unser Team musste die Art und Weise, wie wir an das Testen dieses Projekts herangegangen sind, neu definieren. Traditionelle Pass/Fail-Tests haben hier immer noch ihren Platz. Wir benötigten jedoch Testtools, die besser für maschinelles Lernen geeignet waren — insbesondere Tools, die entwickelt wurden, um messen und analysieren.

Etiketten sammeln
Der wichtigste Teil unseres Projekts war die Entwicklung eines Tools zum Sammeln Beschriftungen. Sie können sich Bezeichnungen als eine Möglichkeit vorstellen, mit der wir kennzeichnen können, welche Vorhersagen die „richtigen“ sind. Ohne die Labels wären wir nicht in der Lage, die Genauigkeit zu messen, neue Modelle zu trainieren oder Datensätze für die Durchführung von Experimenten zu kuratieren. In unserem Fall, wenn wir die beiden Dateien haben, die wir durch die Matching-Engine laufen lassen, ist unser Tool dafür verantwortlich, Daten darüber zu sammeln, welche Zeilen der Benutzer abgleichen wollte.

Genauigkeit der Berichterstattung
Sobald wir die Labels haben, können wir mit der Analyse beginnen, wie sich das Modell insgesamt entwickelt. In unserem Fall verwenden wir gängige Genauigkeitsmetriken: Präzision und Rückruf. Kurz gesagt, Präzision verringert sich, wenn das Modell mehr falsch positive Ergebnisse liefert (sagt eine Übereinstimmung voraus, die nicht als echte Übereinstimmung gekennzeichnet ist). Rückruf verringert sich, wenn das Modell mehr falsch negative Ergebnisse liefert (es wird keine Übereinstimmung vorhergesagt, die als echte Übereinstimmung gekennzeichnet ist). Unsere Tools ermöglichen es uns, diese Metriken auf einer übergeordneten Ebene zu betrachten und die Daten für einen bestimmten Zeitraum zu aggregieren.

Oder sehen Sie sie sich auf einer niedrigen Ebene an, z. B. pro Job.

Darüber hinaus haben wir unsere Tools so konzipiert, dass wir bei der Durchführung eines Experiments auf einfache Weise die Leistung zweier verschiedener Modelle vergleichen können.

Ein robustes Diff-Tool
Die Möglichkeit, die Modellergebnisse mit den Labels zu vergleichen, erwies sich für uns als äußerst wertvoll. Manchmal erzählen die Statistiken nicht die ganze Geschichte, also brauchten wir ein Tool, das uns die Unterschiede auf Transaktionsebene vermittelte. Dies gibt uns einen Einblick in die Funktionsweise des Modells und hilft uns, neue Trainingsmethoden aufzuzeigen.

Testen treibt alles an
Die Tools, die wir zur Messung und Analyse der Modellleistung entwickelt haben, erforderten den Großteil der Aufmerksamkeit unseres Teams und bestimmen auch weiterhin den Großteil unserer Entscheidungsfindung. Die Testarbeit des Teams erstreckt sich über den gesamten Lebenszyklus eines Modells, von Experimenten in Testumgebungen bis hin zur Leistungsüberwachung in der Produktion. Die Daten, die wir von unseren Tools erhalten, helfen uns, neue Experimente zur Verbesserung des Modells zu entwickeln. Diese Experimente liefern mehr Daten, die auseinandergenommen werden müssen, und der Prozess beginnt von vorne. Unser System läuft in der Produktion munter, aber der Prozess, Daten zu sammeln, zu analysieren und iterative Änderungen vorzunehmen, ist fortlaufend und steht im Mittelpunkt dessen, was unser Team tut.
