Durchführbarkeit

Während der Ideenentwicklungs- und Planungsphase untersuchen Sie die Elemente einer ML-Lösung. Bei der Aufgabe zum Problem-Framing formulieren Sie ein Problem in Form einer ML-Lösung. Im Kurs Introduction to Machine Learning Problem Framing werden diese Schritte ausführlich behandelt. Bei der Planungsaufgabe schätzen Sie die Durchführbarkeit einer Lösung, planen Ansätze und legen Erfolgsmesswerte fest.

ML ist zwar eine theoretisch gute Lösung, aber Sie müssen dennoch seine reale Machbarkeit abschätzen. Eine Lösung kann beispielsweise technisch funktionieren, aber unpraktisch oder unmöglich zu implementieren sein. Die folgenden Faktoren beeinflussen die Durchführbarkeit eines Projekts:

  • Datenverfügbarkeit
  • Schwierigkeitsgrad des Problems
  • Vorhersagequalität
  • Technische Anforderungen
  • Kosten

Datenverfügbarkeit

ML-Modelle sind nur so gut wie die Daten, mit denen sie trainiert werden. Sie benötigen viele hochwertige Daten, um qualitativ hochwertige Vorhersagen zu treffen. Die Beantwortung der folgenden Fragen kann Ihnen helfen, einzuschätzen, ob Sie über die erforderlichen Daten zum Trainieren eines Modells verfügen:

  • Menge: Können Sie genügend hochwertige Daten erhalten, um ein Modell zu trainieren? Sind Beispiele mit Labels knapp, schwer zu erhalten oder zu teuer? So ist es beispielsweise bekanntlich schwierig, medizinische Bilder mit Labels oder Übersetzungen seltener Sprachen zu versehen. Damit Sie gute Vorhersagen treffen können, sind für Klassifizierungsmodelle zahlreiche Beispiele für jedes Label erforderlich. Wenn das Trainings-Dataset nur begrenzte Beispiele für einige Labels enthält, kann das Modell keine guten Vorhersagen treffen.

  • Verfügbarkeit der Funktionen bei der Auslieferung: Sind alle beim Training verwendeten Features zum Zeitpunkt der Bereitstellung verfügbar? Teams haben viel Zeit damit verbracht, Modelle zu trainieren, um dann zu erkennen, dass einige Features erst Tage nach der Notwendigkeit des Modells verfügbar waren.

    Angenommen, ein Modell sagt voraus, ob ein Kunde auf eine URL klicken wird, und eines der für das Training verwendeten Features enthält user_age. Wenn das Modell jedoch eine Vorhersage bereitstellt, ist user_age nicht verfügbar, möglicherweise weil der Nutzer noch kein Konto erstellt hat.

  • Verordnungen: Welche Vorschriften und rechtlichen Anforderungen gibt es für den Erwerb und Einige Anforderungen schränken beispielsweise die Speicherung und Verwendung bestimmter Datentypen ein.

Generative KI

Für vortrainierte Generative-AI-Modelle sind häufig ausgewählte Datasets erforderlich, um fachspezifische Aufgaben zu optimieren. Für die folgenden Anwendungsfälle benötigen Sie möglicherweise Datasets:

  • Prompt Engineering, Parameteroptimierung und Feinabstimmung Je nach Anwendungsfall benötigen Sie möglicherweise 10 bis 10.000 qualitativ hochwertige Beispiele, um die Ausgabe eines Modells weiter zu optimieren. Wenn ein Modell beispielsweise für eine bestimmte Aufgabe optimiert werden muss, z. B. die Beantwortung medizinischer Fragen, benötigen Sie ein hochwertiges Dataset, das repräsentativ für die Arten von Fragen ist, die gestellt werden, sowie die Arten von Antworten, mit denen es antworten sollte.

    Die folgende Tabelle enthält Schätzungen für die Anzahl der Beispiele, die zum Optimieren der Ausgabe eines Generative-AI-Modells für ein bestimmtes Verfahren erforderlich sind:

  • Verfahren Anzahl der erforderlichen Beispiele
    Zero-Shot-Prompts 0
    Wenig aufgenommene Prompts ~10 Sek. bis 100 Sek.
    Parameteroptimierung 1 Ca. 100–10.000 Sek.
    Abstimmung Ca. 1.000–10.000 Sekunden (oder mehr)
    1 Low-Rank Adaptation (LoRA) und Prompt-Abstimmung
  • Aktuelle Informationen Generative AI-Modelle haben nach dem Vorbereiten eine feste Wissensdatenbank. Wenn sich Inhalte in der Domain des Modells häufig ändern, benötigen Sie eine Strategie, um das Modell auf dem neuesten Stand zu halten, z. B.:

Schwierigkeitsgrad des Problems

Der Schwierigkeitsgrad eines Problems ist möglicherweise schwer einzuschätzen. Was zunächst plausibel erscheint, kann sich in Wirklichkeit zu einer offenen Forschungsfrage entwickeln. Was praktisch und machbar erscheint, könnte sich als unrealistisch oder unpraktisch erweisen. Die Beantwortung der folgenden Fragen kann helfen, die Schwierigkeit eines Problems einzuschätzen:

  • Wurde ein ähnliches Problem bereits gelöst? Haben Teams in Ihrem Unternehmen beispielsweise ähnliche (oder identische) Daten zum Erstellen von Modellen verwendet? Haben Personen oder Teams außerhalb Ihrer Organisation ähnliche Probleme gelöst, beispielsweise in Kaggle oder TensorFlow Hub? Wenn ja, können Sie wahrscheinlich Teile ihres Modells für die Erstellung Ihres Modells verwenden.

  • Ist die Art des Problems schwierig? Die menschlichen Benchmarks für die Aufgabe können Aufschluss über den Schwierigkeitsgrad des Problems geben. Beispiel:

    • Der Mensch kann die Tierart in einem Bild mit einer Genauigkeit von etwa 95% klassifizieren.
    • Menschen können handschriftliche Ziffern mit einer Genauigkeit von etwa 99% klassifizieren.

    Die vorherigen Daten deuten darauf hin, dass die Erstellung eines Modells zur Klassifizierung von Tieren schwieriger als die Erstellung eines Modells zur Klassifizierung handschriftlicher Ziffern ist.

  • Gibt es potenziell böswillige Akteure? Werden die Leute aktiv versuchen, Ihr Modell auszunutzen? In diesem Fall müssen Sie das Modell ständig aktualisieren, bevor es missbraucht werden kann. Spamfilter können beispielsweise keine neuen Arten von Spam erkennen, wenn jemand das Modell für die Erstellung von legitimen E-Mails ausnutzt.

Generative KI

Modelle für Generative AI haben potenzielle Sicherheitslücken, die die Schwierigkeit eines Problems erhöhen können:

  • Eingabequelle: Woher kommt die Eingabe? Können angegriffene Prompts Trainingsdaten, Präambelmaterialien, Datenbankinhalte oder Toolinformationen offenlegen?
  • Ausgabe verwenden: Wie werden die Ausgaben verwendet? Gibt das Modell Rohdaten aus oder gibt es Zwischenschritte, mit denen die Angemessenheit getestet und überprüft wird? Beispielsweise kann die Bereitstellung der Rohausgabe für Plug-ins eine Reihe von Sicherheitsproblemen verursachen.
  • Feinabstimmung Die Feinabstimmung eines beschädigten Datasets kann sich negativ auf die Gewichtung des Modells auswirken. Diese Beschädigung würde dazu führen, dass das Modell falsche, unangemessene oder verzerrte Inhalte ausgibt. Wie bereits erwähnt, ist für die Feinabstimmung ein verifiziertes Dataset erforderlich, das hochwertige Beispiele enthält.

Vorhersagequalität

Sie müssen genau überlegen, welche Auswirkungen die Vorhersagen eines Modells auf Ihre Nutzer haben werden, und die für das Modell erforderliche Vorhersagequalität bestimmen.

Die erforderliche Vorhersagequalität hängt von der Art der Vorhersage ab. Beispielsweise ist die für ein Empfehlungssystem erforderliche Vorhersagequalität nicht dieselbe für ein Modell, das Richtlinienverstöße meldet. Eine Empfehlung des falschen Videos kann eine schlechte User Experience schaffen. Wenn ein Video jedoch fälschlicherweise als gegen die Richtlinien einer Plattform verstoßend gemeldet wird, kann es zu Supportkosten oder, noch schlimmer, zu rechtlichen Gebühren kommen.

Muss Ihr Modell eine sehr hohe Vorhersagequalität haben, da falsche Vorhersagen extrem kostspielig sind? Generell gilt: Je höher die erforderliche Vorhersagequalität, desto schwieriger wird das Problem. Leider erzielen Projekte oft weniger Erträge, wenn Sie versuchen, die Qualität zu verbessern. Wenn Sie beispielsweise die Genauigkeit eines Modells von 99,9% auf 99,99% erhöhen, könnte dies zu einer zehnfachen Erhöhung der Projektkosten führen (wenn nicht höher).

Mit steigender Vorhersagequalität steigen auch die Projektkosten.

Abbildung 2. Ein ML-Projekt erfordert in der Regel immer mehr Ressourcen, wenn die erforderliche Vorhersagequalität steigt.

Generative KI

Berücksichtigen Sie bei der Analyse der Ausgabe von generativer KI Folgendes:

  • Sachliche Richtigkeit. Obwohl Generative-AI-Modelle fließende und kohärente Inhalte produzieren können, kann nicht garantiert werden, dass sie sachlich sind. Falsche Aussagen von generativen KI-Modellen werden als Konfabulationen bezeichnet. Generative AI-Modelle können beispielsweise konfabulieren und falsche Zusammenfassungen von Texten, falsche Antworten auf mathematische Fragen oder falsche Aussagen über die Welt erzeugen. In vielen Anwendungsfällen muss die Ausgabe der generativen KI noch von Menschen geprüft werden, bevor sie in einer Produktionsumgebung verwendet werden kann, z. B. mit LLM-generiertem Code.

    Wie beim traditionellen ML gilt: Je höher die Anforderungen an sachliche Genauigkeit, desto höher sind die Entwicklungs- und Wartungskosten.

  • Ausgabequalität: Welche rechtlichen und finanziellen (oder ethischen) Folgen hat schlechtes Ergebnis, z. B. voreingenommene, plagiierte oder unangemessene Inhalte?

Technische Anforderungen

Modelle haben eine Reihe von technischen Anforderungen, die sich auf ihre Machbarkeit auswirken. Im Folgenden sind die wichtigsten technischen Anforderungen aufgeführt, die Sie erfüllen müssen, um die Durchführbarkeit Ihres Projekts zu bestimmen:

  • Latenz: Welche Latenzanforderungen bestehen? Wie schnell müssen Vorhersagen bereitgestellt werden?
  • Abfragen pro Sekunde: Was sind die Anforderungen an Abfragen pro Sekunde?
  • RAM-Nutzung: Welche RAM-Anforderungen gelten für Training und Bereitstellung?
  • Plattform: Wo wird das Modell ausgeführt: online (Abfragen an den RPC-Server), WebML (in einem Webbrowser), ODML (auf einem Smartphone oder Tablet) oder offline (Vorhersagen werden in einer Tabelle gespeichert)?
  • Interpretierbarkeit: Müssen Vorhersagen interpretierbar sein? Muss Ihr Produkt beispielsweise Fragen wie „Warum wurde ein bestimmter Inhalt als Spam markiert?“ oder „Warum wurde ein Video gegen die Plattformrichtlinien verstoßen?“ beantworten?

  • Häufigkeit des erneuten Trainings: Wenn sich die zugrunde liegenden Daten für Ihr Modell schnell ändern, kann ein häufiges oder kontinuierliches Neutraining erforderlich sein. Häufiges erneutes Training kann jedoch erhebliche Kosten verursachen, die die Vorteile einer Aktualisierung der Modellvorhersagen überwiegen.

In den meisten Fällen müssen Sie wahrscheinlich Abstriche bei der Qualität eines Modells machen, um die technischen Spezifikationen einzuhalten. In diesen Fällen müssen Sie herausfinden, ob Sie noch ein Modell erstellen können, das für die Produktion ausreichend ist.

Generative KI

Beachten Sie bei der Arbeit mit generativer KI die folgenden technischen Anforderungen:

  • Plattform: Viele vortrainierte Modelle sind in verschiedenen Größen verfügbar, sodass sie auf einer Vielzahl von Plattformen mit unterschiedlichen Rechenressourcen ausgeführt werden können. Vortrainierte Modelle können beispielsweise von der Rechenzentrumsskalierung bis zur Anpassung an ein Smartphone reichen. Bei der Auswahl der Modellgröße müssen Sie die Latenz-, Datenschutz- und Qualitätseinschränkungen Ihres Produkts oder Dienstes berücksichtigen. Diese Einschränkungen können häufig in Konflikt stehen. Bei Datenschutzeinschränkungen kann es beispielsweise erforderlich sein, dass Inferenzen auf dem Gerät eines Nutzers ausgeführt werden. Die Ausgabequalität kann jedoch schlecht sein, da dem Gerät nicht genügend Rechenressourcen für gute Ergebnisse zur Verfügung stehen.
  • Latenz: Die Größe der Modelleingabe und -ausgabe wirkt sich auf die Latenz aus. Insbesondere die Ausgabegröße wirkt sich stärker auf die Latenz als die Eingabegröße aus. Modelle können Eingaben zwar parallelisieren, Ausgaben jedoch nur sequenziell generieren. Mit anderen Worten, die Latenz kann bei der Aufnahme einer Eingabe aus 500 oder 10 Wörtern gleich sein, während das Generieren einer Zusammenfassung mit 500 Wörtern wesentlich länger dauert als das Generieren einer Zusammenfassung aus 10 Wörtern.
  • Verwendung von Tools und APIs: Benötigt das Modell Tools und APIs, um z. B. im Internet zu suchen, einen Rechner zu verwenden oder auf einen E-Mail-Client zuzugreifen, um eine Aufgabe auszuführen? Je mehr Tools zum Abschließen einer Aufgabe benötigt werden, desto höher ist die Wahrscheinlichkeit, dass Fehler weitergegeben und die Sicherheitslücken des Modells erhöht werden.

Kosten

Sind die Kosten für eine ML-Implementierung rentabel? Die meisten ML-Projekte werden nicht genehmigt, wenn die Implementierung und Wartung der ML-Lösung teurer ist als das Geld, das sie generiert (oder spart). ML-Projekte verursachen sowohl menschliche als auch maschinelle Kosten.

  • Menschliche Kosten. Wie viele Personen werden benötigt, um das Projekt vom Proof of Concept zur Produktion zu bringen? Mit der Weiterentwicklung von ML-Projekten steigen in der Regel die Kosten. Beispielsweise müssen bei ML-Projekten mehr Personen für die Bereitstellung und Wartung eines produktionsreifen Systems benötigt werden, als für die Erstellung eines Prototyps. Versuchen Sie, die Anzahl und Art der Rollen einzuschätzen, die das Projekt in jeder Phase benötigt.

  • Maschinenkosten: Das Trainieren, Bereitstellen und Verwalten von Modellen erfordert viel Rechenleistung und Arbeitsspeicher. Beispielsweise benötigen Sie möglicherweise ein TPU-Kontingent für Trainingsmodelle und Vorhersagen sowie die erforderliche Infrastruktur für Ihre Datenpipeline. Möglicherweise müssen Sie für Daten-Labels bezahlen oder Gebühren für Datenlizenzierung zahlen. Bevor Sie ein Modell trainieren, sollten Sie die langfristige Kostenschätzung für die Maschinenkosten für das Erstellen und Warten von ML-Features in Betracht ziehen.

  • Inferenzkosten: Muss das Modell Hunderte oder Tausende von Inferenzen erstellen, die mehr kosten als der generierte Umsatz?

Wichtig

Probleme im Zusammenhang mit einem der vorherigen Themen können die Implementierung einer ML-Lösung schwierig machen, aber enge Fristen können die Herausforderungen zusätzlich verstärken. Versuchen Sie, basierend auf der wahrgenommenen Schwierigkeit des Problems genügend Zeit zu planen und einzuplanen, und versuchen Sie dann, noch mehr Aufwand einzuplanen als bei einem Nicht-ML-Projekt.