ML-Problem einrahmen

Nachdem Sie überprüft haben, ob sich Ihr Problem am besten mit vorausschauendem ML oder einem generativen KI-Ansatz lösen lässt, können Sie Ihr Problem in ML-Begriffe formulieren. Sie formulieren ein Problem in ML-Begriffen, indem Sie die folgenden Aufgaben ausführen:

  • Definieren Sie das ideale Ergebnis und das Ziel des Modells.
  • Ermitteln Sie die Ausgabe des Modells.
  • Definieren Sie Erfolgsmesswerte.

Das ideale Ergebnis und das Ziel des Modells definieren

Was ist das ideale Ergebnis, unabhängig vom ML-Modell? Mit anderen Worten: Welche Aufgabe soll Ihr Produkt oder Ihre Funktion ausführen? Dies ist dieselbe Anweisung, die Sie zuvor im Abschnitt Ziel angeben definiert haben.

Verbinden Sie das Modellziel mit dem idealen Ergebnis, indem Sie explizit definieren, was das Modell tun soll. In der folgenden Tabelle sind die idealen Ergebnisse und das Ziel des Modells für hypothetische Anwendungen aufgeführt:

App-Kampagnen Ideales Ergebnis Ziel des Modells
Wetter App Berechnen Sie den Niederschlag in 6-Stunden-Schritten für eine geografische Region. Für bestimmte Regionen werden Niederschlagsmengen von sechs Stunden prognostiziert.
Mode-App Eine Vielzahl von T-Shirt-Designs entwerfen Generiere drei Varianten eines T-Shirt-Designs aus Text und einem Bild, wobei der Text den Stil und die Farbe angibt und das Bild die Art des T-Shirts (T-Shirt, Button-up, Polo).
Video-App Empfehlen Sie nützliche Videos. Vorhersagen, ob ein Nutzer auf ein Video klicken wird
E-Mail-App Spam erkennen. Sie können erkennen, ob es sich bei einer E-Mail um Spam handelt.
Finanz-App Fasse Finanzinformationen aus mehreren Nachrichtenquellen zusammen. Zusammenfassungen aus 50 Wörtern der wichtigsten Finanztrends der letzten sieben Tage.
Karten-App Reisezeit berechnen. Sie können vorhersagen, wie lange die Fahrt zwischen zwei Punkten dauern wird.
Banking-App Betrügerische Transaktionen erkennen Vorhersagen, ob vom Karteninhaber eine Transaktion durchgeführt wurde.
Restaurant-App Kennzeichnen Sie die Küche anhand der Speisekarte eines Restaurants. Die Art des Restaurants vorhersagen.
E-Commerce-Anwendung Erzeugen Sie Kundensupport-Antworten zu den Produkten des Unternehmens. Generieren Sie Antworten mithilfe der Sentimentanalyse und der Wissensdatenbank der Organisation.

Die benötigte Ausgabe identifizieren

Ihre Wahl des Modelltyps hängt vom spezifischen Kontext und den Einschränkungen des Problems ab. Die Ausgabe des Modells sollte die für das ideale Ergebnis definierte Aufgabe erfüllen. Die erste zu beantwortende Frage lautet also: „Welche Art von Ausgabe benötige ich, um mein Problem zu lösen?“

Wenn Sie etwas klassifizieren oder eine numerische Vorhersage treffen müssen, verwenden Sie wahrscheinlich prädiktives ML. Wenn Sie neue Inhalte oder Ausgaben im Zusammenhang mit Natural Language Understanding generieren müssen, verwenden Sie wahrscheinlich generative KI.

In den folgenden Tabellen sind prädiktive ML- und generative KI-Ausgaben aufgeführt:

Tabelle 1 Prognostisches ML
ML-System Beispielausgabe
Klassifizierung Binär E-Mails als „Spam“ oder „Kein Spam“ klassifizieren
Mehrere Klassen mit einem einzigen Label Tier in einem Bild klassifizieren
Mehrere Klassen mit mehreren Labels Klassifizieren Sie alle Tiere auf einem Bild.
Numerisch Eindimensionale Regression Die Anzahl der Aufrufe eines Videos vorhersagen
Mehrdimensionale Regression Zur Vorhersage von Blutdruck, Herzfrequenz und Cholesterinwerten für einzelne Personen.
Tabelle 2 Generative KI
Modelltyp Beispielausgabe
Text
einen Artikel zusammenfassen

Sie können auf Kundenrezensionen antworten.

Übersetzen Sie Dokumente aus dem Englischen ins Mandarin.

Verfassen Sie Produktbeschreibungen.

Analysieren Sie Rechtsdokumente.
Bild
Marketingbilder erstellen

Visuelle Effekte auf Fotos anwenden

Produktdesign-Varianten generieren
Audio
Erzeuge einen Dialog mit einem bestimmten Akzent.

Erstelle eine kurze Musikkomposition eines bestimmten Genres, z. B. Jazz.
Video
Erstelle realistisch wirkende Videos.

Analysieren Sie Videomaterial und wenden Sie visuelle Effekte an.
Multimodal Mehrere Arten von Ausgabeformaten erstellen, z. B. ein Video mit Textuntertiteln

Klassifizierung

Ein Klassifizierungsmodell sagt vorher, zu welcher Kategorie die Eingabedaten gehören, z. B. ob eine Eingabe als A, B oder C klassifiziert werden soll.

Ein Klassifizierungsmodell trifft Vorhersagen.

Abbildung 1. Ein Klassifizierungsmodell, das Vorhersagen trifft.

Ihre App trifft dann möglicherweise eine Entscheidung auf Grundlage der Vorhersage des Modells. Wenn die Vorhersage beispielsweise Kategorie A ist, mache X; wenn die Vorhersage Kategorie B ist, dann T: Y; wenn die Vorhersage Kategorie C ist, dann Z. In einigen Fällen ist die Vorhersage die Ausgabe der Anwendung.

Der Produktcode verwendet die Ausgabe des Modells, um eine Entscheidung zu treffen.

Abbildung 2. Die Ausgabe eines Klassifizierungsmodells, die im Produktcode verwendet wird, um eine Entscheidung zu treffen.

Regression

Ein Regressionsmodell sagt einen numerischen Wert vorher.

Ein Regressionsmodell trifft eine Vorhersage.

Abbildung 3. Regressionsmodell, das eine numerische Vorhersage erstellt.

Ihre App trifft dann möglicherweise eine Entscheidung auf Grundlage der Vorhersage des Modells. Wenn die Vorhersage beispielsweise in Bereich A fällt, mache X; wenn sie in Bereich B fällt, mache Y; wenn die Vorhersage in Bereich C fällt, Tue Z. In einigen Fällen ist die Vorhersage die Ausgabe der Anwendung.

Der Produktcode verwendet die Ausgabe des Modells, um eine Entscheidung zu treffen.

Abbildung 4. Die Ausgabe eines Regressionsmodells, die im Produktcode verwendet wird, um eine Entscheidung zu treffen.

Stellen Sie sich folgendes Szenario vor:

Sie möchten Videos basierend auf ihrer vorhergesagten Beliebtheit im Cache speichern. Wenn Ihr Modell also vorhersagt, dass ein Video beliebt sein wird, sollten Sie es Nutzern schnell bereitstellen. Dazu verwenden Sie den effektiveren und teureren Cache. Für andere Videos verwenden Sie einen anderen Cache. Ihre Caching-Kriterien lauten wie folgt:

  • Wenn ein Video voraussichtlich 50 oder mehr Aufrufe erhält, wird der teure Cache verwendet.
  • Wenn ein Video voraussichtlich zwischen 30 und 50 Aufrufe erzielt, verwendest du den kostengünstigen Cache.
  • Wenn das Video voraussichtlich weniger als 30 Aufrufe erzielt, wird es nicht im Cache gespeichert.

Sie denken, dass ein Regressionsmodell der richtige Ansatz ist, da Sie einen numerischen Wert vorhersagen, nämlich die Anzahl der Ansichten. Beim Training des Regressionsmodells stellen Sie jedoch fest, dass es den gleichen Verlust bei einer Vorhersage von 28 und 32 bei Videos mit 30 Aufrufen erzeugt. Mit anderen Worten: Obwohl Ihre Anwendung sich sehr unterschiedlich verhält, wenn die Vorhersage 28 oder 32 beträgt, betrachtet das Modell beide Vorhersagen als gleich gut.

Ein Modell, das trainiert und sein Verlust bewertet wird.

Abbildung 5. Regressionsmodell trainieren

Regressionsmodelle kennen keine produktdefinierten Grenzwerte. Wenn sich das Verhalten Ihrer App aufgrund geringfügiger Unterschiede in den Vorhersagen eines Regressionsmodells erheblich ändert, sollten Sie daher stattdessen ein Klassifizierungsmodell implementieren.

In diesem Szenario würde ein Klassifizierungsmodell das richtige Verhalten erzeugen, da ein Klassifizierungsmodell einen höheren Verlust für eine Vorhersage von 28 als 32 erzeugen würde. Klassifizierungsmodelle erzeugen in gewisser Weise standardmäßig Schwellenwerte.

In diesem Szenario werden zwei wichtige Punkte hervorgehoben:

  • Die Entscheidung vorhersagen: Wenn möglich, sollten Sie die Entscheidung Ihrer Anwendung vorhersagen. Im Videobeispiel würde ein Klassifizierungsmodell die Entscheidung vorhersagen, wenn die Kategorien, in die Videos klassifiziert wurden, „kein Cache“, „billiger Cache“ oder „teuer Cache“ sind. Wenn Sie das Verhalten Ihrer Anwendung vor dem Modell verbergen, kann dies zu dem falschen Verhalten führen.

  • Machen Sie sich mit den Einschränkungen des Problems vertraut. Wenn Ihre App verschiedene Aktionen basierend auf unterschiedlichen Schwellenwerten ausführt, prüfen Sie, ob diese Grenzwerte fest oder dynamisch sind.

    • Dynamische Schwellenwerte: Wenn Schwellenwerte dynamisch sind, verwenden Sie ein Regressionsmodell und legen Sie die Grenzwerte im Code Ihrer Anwendung fest. Auf diese Weise können Sie die Schwellenwerte problemlos aktualisieren, während das Modell weiterhin vernünftige Vorhersagen trifft.
    • Feste Schwellenwerte: Wenn feste Schwellenwerte festgelegt sind, verwenden Sie ein Klassifizierungsmodell und kennzeichnen Sie Ihre Datasets basierend auf diesen Grenzwerten.

    Im Allgemeinen ist die Cache-Bereitstellung meistens dynamisch und die Schwellenwerte ändern sich im Laufe der Zeit. Da es sich hierbei speziell um ein Caching-Problem handelt, ist ein Regressionsmodell die beste Wahl. Bei vielen Problemen werden die Grenzwerte jedoch festgelegt, sodass ein Klassifizierungsmodell die beste Lösung ist.

Sehen wir uns ein weiteres Beispiel an. Wenn Sie eine Wetter-App erstellen, deren ideale Ergebnis es ist, Nutzern mitzuteilen, wie viel es in den nächsten sechs Stunden regnen wird, können Sie ein Regressionsmodell verwenden, das das Label precipitation_amount. vorhersagt.

Ideales Ergebnis Ideales Label
Sagen Sie den Nutzern, wie viel es in den nächsten sechs Stunden in ihrer Gegend regnen wird. precipitation_amount

In der Wetter-App bezieht sich das Label direkt auf das ideale Ergebnis. In einigen Fällen ist jedoch keine 1:1-Beziehung zwischen dem idealen Ergebnis und dem Label erkennbar. In der Video-App sollten Sie beispielsweise nützliche Videos empfehlen. Das Dataset enthält jedoch kein Label namens useful_to_user..

Ideales Ergebnis Ideales Label
Nützliche Videos empfehlen: ?

Daher müssen Sie ein Proxylabel finden.

Proxy-Labels

Proxylabels ersetzen Labels, die nicht im Dataset enthalten sind. Proxylabels sind erforderlich, wenn Sie nicht direkt messen können, was Sie vorhersagen möchten. In der Video-App können wir nicht direkt messen, ob ein Nutzer ein Video nützlich findet. Es wäre toll, wenn das Dataset ein useful-Feature hätte und Nutzer alle Videos kennzeichnen würden, die sie nützlich fanden. Da das Dataset dies nicht ist, benötigen wir jedoch ein Proxy-Label, das die Nützlichkeit ersetzt.

Ein Proxy-Label für die Nützlichkeit kann darin bestehen, ob der Nutzer das Video teilen oder mögen wird.

Ideales Ergebnis Proxy-Label
Nützliche Videos empfehlen: shared OR liked

Seien Sie bei Proxy-Labels vorsichtig, da sie nicht direkt messen, was Sie vorhersagen möchten. In der folgenden Tabelle werden beispielsweise Probleme mit potenziellen Proxylabels für Empfohlene Videos beschrieben:

Proxy-Label Problem
Vorhersagen, ob der Nutzer auf die Schaltfläche „Gefällt mir“ klicken wird Die meisten Nutzer klicken nie auf „Gefällt mir“.
Vorhersagen, ob ein Video beliebt sein wird Nicht personalisiert. Manche Nutzer mögen beliebte Videos möglicherweise nicht.
Vorhersagen, ob der Nutzer das Video teilen wird Einige Nutzer teilen keine Videos. Manchmal teilen Nutzer Videos, weil sie sie nicht mögen.
Vorhersagen, ob der Nutzer auf die Wiedergabeschaltfläche klicken wird Maximiert Clickbaiting
Vorhersagen, wie lange sie sich das Video ansehen Lange Videos werden gegenüber kurzen Videos anders bevorzugt.
Vorhersagen, wie oft sich der Nutzer das Video noch einmal ansehen wird Priorisiert Videos, die noch einmal angesehen werden können.

Kein Proxy-Label kann ein perfekter Ersatz für Ihr ideales Ergebnis sein. Alle werden potenzielle Probleme haben. Wählen Sie diejenige aus, die für Ihren Anwendungsfall die geringsten Probleme aufweist.

Verständnis überprüfen

Ein Unternehmen möchte ML in seine Gesundheits- und Fitness-App einsetzen, damit sich die Menschen besser fühlen. Glauben Sie, dass sie Proxy-Labels verwenden müssen, um ihre Ziele zu erreichen?
Ja, das Unternehmen muss Proxy-Labels finden. Kategorien wie Glück und Wohlbefinden können nicht direkt gemessen werden. Stattdessen müssen sie in Bezug auf eine andere Funktion annäherungsweise angegeben werden, z. B. die Stunden, die Sie pro Woche mit dem Training verbringen, oder die Zeit, die Sie mit Hobbys oder mit Freunden verbracht haben.
Nein, das Unternehmen muss keine Proxy-Labels verwenden. Zufriedenheit und Wohlbefinden können direkt gemessen werden.

Generierung

In den meisten Fällen werden Sie kein eigenes generatives Modell trainieren, da dafür enorme Mengen an Trainingsdaten und Rechenressourcen erforderlich sind. Stattdessen passen Sie ein vortrainiertes generatives Modell an. Damit ein generatives Modell die gewünschte Ausgabe erzeugt, müssen Sie möglicherweise eine oder mehrere der folgenden Techniken anwenden:

  • Destillation: Wenn Sie eine kleinere Version eines größeren Modells erstellen möchten, generieren Sie aus dem größeren Modell, mit dem Sie das kleinere Modell trainieren, ein synthetisches Dataset mit Label. Generative Modelle sind in der Regel gigantisch und verbrauchen erhebliche Ressourcen (wie Speicher und Strom). Durch die Destillation kann das kleinere, weniger ressourcenintensive Modell die Leistung des größeren Modells annähern.

  • Feinabstimmung oder parametersparende Abstimmung Wenn Sie die Leistung eines Modells bei einer bestimmten Aufgabe verbessern möchten, müssen Sie das Modell weiter mit einem Dataset trainieren, das Beispiele für den gewünschten Ausgabetyp enthält.

  • Prompt Engineering. Damit das Modell eine bestimmte Aufgabe ausführen oder eine Ausgabe in einem bestimmten Format erzeugen soll, teilen Sie dem Modell die gewünschte Aufgabe mit oder erklären Sie, wie die Ausgabe formatiert werden soll. Mit anderen Worten: Die Eingabeaufforderung kann Anweisungen in natürlicher Sprache zum Ausführen der Aufgabe oder anschauliche Beispiele mit den gewünschten Ausgaben enthalten.

    Wenn Sie beispielsweise kurze Zusammenfassungen von Artikeln erhalten möchten, können Sie Folgendes eingeben:

    Produce 100-word summaries for each article.
    

    Wenn Sie möchten, dass das Modell Text für eine bestimmte Lesestufe generiert, können Sie Folgendes eingeben:

    All the output should be at a reading level for a 12-year-old.
    

    Wenn Sie möchten, dass das Modell die Ausgabe in einem bestimmten Format bereitstellt, können Sie erklären, wie die Ausgabe formatiert werden soll, z. B. „Format der Ergebnisse in einer Tabelle“. Sie können die Aufgabe auch anhand von Beispielen demonstrieren. Beispielsweise könnten Sie Folgendes eingeben:

    Translate words from English to Spanish.
    
    English: Car
    Spanish: Auto
    
    English: Airplane
    Spanish: Avión
    
    English: Home
    Spanish:______
    

Durch Destillation und Feinabstimmung werden die Parameter des Modells aktualisiert. Prompt Engineering aktualisiert die Parameter des Modells nicht. Stattdessen hilft Aufforderung Engineering dem Modell zu lernen, wie eine gewünschte Ausgabe aus dem Kontext der Aufforderung erstellt wird.

In einigen Fällen benötigen Sie auch ein Test-Dataset, um die Ausgabe eines generativen Modells anhand bekannter Werte zu bewerten. So können Sie beispielsweise prüfen, ob die Zusammenfassungen des Modells denen von Menschen ähneln, oder die Zusammenfassungen des Modells von Menschen als gut bewertet.

Generative KI kann auch verwendet werden, um eine prädiktive ML-Lösung wie Klassifizierung oder Regression zu implementieren. Zum Beispiel können Large-Language-Modelle (LLMs) aufgrund ihrer umfassenden Kenntnisse der natürlichen Sprache Textklassifizierungsaufgaben häufig besser ausführen als prädiktives ML, das für die jeweilige Aufgabe trainiert wurde.

Erfolgsmesswerte definieren

Definieren Sie die Messwerte, mit denen Sie feststellen, ob die ML-Implementierung erfolgreich ist. Mit Erfolgsmesswerten wird definiert, was Ihnen wichtig ist, z. B. Interaktionen oder Unterstützung bei der Durchführung geeigneter Aktionen, z. B. beim Ansehen von Videos, die für sie nützlich sind. Erfolgsmesswerte unterscheiden sich von den Bewertungsmesswerten des Modells, z. B. Genauigkeit, Genauigkeit, Trefferquote oder AUC.

Die Erfolgs- und Fehlermesswerte der Wetter-App können beispielsweise so definiert sein:

Erfolg Nutzer öffnen die Funktion „Wird es regnen?“ 50 % häufiger als zuvor.
Fehler Nutzer öffnen die Funktion „Wird es regnen?“ nicht häufiger als zuvor.

Die Messwerte für Video-Apps können so definiert werden:

Erfolg Nutzer verbringen durchschnittlich 20 % mehr Zeit auf der Website.
Fehler Durchschnittlich verbringen Nutzer nicht mehr Zeit auf der Website als zuvor.

Wir empfehlen, ambitionierte Erfolgsmetriken zu definieren. Hohe Ambitionen können jedoch zu einer Lücke zwischen Erfolg und Misserfolg führen. Wenn Nutzer beispielsweise durchschnittlich 10 % mehr Zeit auf der Website verbringen als zuvor, ist das weder Erfolg noch Misserfolg. Die undefinierte Lücke ist nicht wichtig.

Wichtig ist, dass Ihr Modell in der Lage ist, der Erfolgsdefinition näher zu kommen oder diese zu übertreffen. Stellen Sie sich beispielsweise bei der Analyse der Modellleistung die folgende Frage: Würden Sie durch die Verbesserung des Modells Ihren definierten Erfolgskriterien näherkommen? Ein Modell kann beispielsweise hervorragende Bewertungsmesswerte haben, Sie werden jedoch nicht näher an Ihren Erfolgskriterien herangeführt, was darauf hinweist, dass Sie die von Ihnen definierten Erfolgskriterien auch mit einem perfekten Modell nicht erfüllen würden. Andererseits kann ein Modell schlechte Bewertungsmesswerte haben, aber Sie kommen Ihren Erfolgskriterien näher, was darauf hinweist, dass Sie mit einer Verbesserung des Modells dem Erfolg näherkommen.

Bei der Entscheidung, ob das Modell eine Verbesserung wert ist, sollten Sie die folgenden Dimensionen berücksichtigen:

  • Nicht gut genug, aber du kannst fortfahren. Das Modell sollte nicht in einer Produktionsumgebung verwendet werden, wird aber im Laufe der Zeit erheblich verbessert.

  • Gut genug, und fahren Sie fort. Das Modell könnte in einer Produktionsumgebung verwendet und weiter verbessert werden.

  • Gut genug, aber keine Verbesserung möglich. Das Modell befindet sich in einer Produktionsumgebung, ist aber wahrscheinlich so gut wie möglich.

  • Das ist nicht gut genug und wird es nie sein. Das Modell sollte nicht in einer Produktionsumgebung verwendet werden und mit einem langen Training werden Sie es wahrscheinlich nicht erreichen.

Bei der Entscheidung, das Modell zu verbessern, sollten Sie neu bewerten, ob die Erhöhung der Ressourcen, wie etwa Entwicklungs- und Rechenkosten, die vorhergesagte Verbesserung des Modells rechtfertigt.

Nachdem Sie die Erfolgs- und Fehlermesswerte definiert haben, müssen Sie festlegen, wie oft diese gemessen werden sollen. Sie können Ihre Erfolgsmesswerte beispielsweise sechs Tage, sechs Wochen oder sechs Monate nach der Implementierung des Systems messen.

Versuchen Sie bei der Analyse von Fehlermesswerten herauszufinden, warum das System fehlgeschlagen ist. Das Modell könnte beispielsweise vorhersehen, auf welche Videos Nutzer klicken werden, aber das Modell könnte anfangen, Clickbaiting-Titel zu empfehlen, die einen Rückgang der Nutzerinteraktionen verursachen. In der Wetter-App könnte das Modell genau vorhersagen, wann es regnen wird, aber in einer zu großen geografischen Region.

Verständnis überprüfen

Ein Modeunternehmen möchte mehr Kleidung verkaufen. Jemand schlägt vor, mithilfe von maschinellem Lernen herauszufinden, welche Kleidung das Unternehmen herstellen soll. Sie glauben, dass sie ein Model trainieren können, um festzustellen, welche Art von Kleidung in der Mode ist. Nachdem es das Modell trainiert hat, möchte es es auf seinen Katalog anwenden, um zu entscheiden, welche Kleidung es herstellen möchte.

Wie sollten sie ihr Problem in ML-Formulierungen formulieren?

Ideales Ergebnis: Legen Sie fest, welche Produkte hergestellt werden sollen.

Ziel des Modells: Vorhersage, welche Kleidungsstücke in Mode sind

Modellausgabe: Binäre Klassifizierung, in_fashion, not_in_fashion

Erfolgsmesswerte: Verkaufen Sie mindestens 70 % der hergestellten Kleidungsstücke.

Ideales Ergebnis: Bestimmen Sie, wie viel Stoff und Material bestellt werden soll.

Ziel des Modells: Sie können prognostizieren, wie viel von jedem Artikel hergestellt werden soll.

Modellausgabe: Binäre Klassifizierung, make, do_not_make

Erfolgsmesswerte: Verkaufen Sie mindestens 70 % der hergestellten Kleidungsstücke.

Das ideale Ergebnis ist nicht, zu bestimmen, wie viele Stoffe und Materialien bestellt werden müssen. Es dient der Entscheidung, ob ein Artikel hergestellt werden soll. Daher ist das Ziel des Modells auf das falsche Ziel ausgerichtet.