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:
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. |
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.
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.
Abbildung 2. Die Ausgabe eines Klassifizierungsmodells, die im Produktcode verwendet wird, um eine Entscheidung zu treffen.
Regression
Ein Regressionsmodell sagt einen numerischen Wert vorher.
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.
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.
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
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.