Generative Datenintelligenz

Optimieren Sie Ihr Amazon Titan Image Generator G1-Modell mithilfe der Amazon Bedrock-Modellanpassung | Amazon Web Services

Datum:

Amazon Titan Bildgenerator G1 ist ein hochmodernes Text-zu-Bild-Modell, verfügbar über Amazonas Grundgestein, das in der Lage ist, Eingabeaufforderungen zu verstehen, die mehrere Objekte in verschiedenen Kontexten beschreiben, und diese relevanten Details in den von ihm generierten Bildern erfasst. Es ist in den AWS-Regionen USA Ost (Nord-Virginia) und USA West (Oregon) verfügbar und kann erweiterte Bildbearbeitungsaufgaben wie intelligentes Zuschneiden, In-Painting und Hintergrundänderungen durchführen. Benutzer möchten das Modell jedoch an einzigartige Merkmale in benutzerdefinierten Datensätzen anpassen, für die das Modell noch nicht trainiert wurde. Benutzerdefinierte Datensätze können hochgradig proprietäre Daten enthalten, die Ihren Markenrichtlinien oder bestimmten Stilen wie einer früheren Kampagne entsprechen. Um diese Anwendungsfälle anzugehen und vollständig personalisierte Bilder zu generieren, können Sie Amazon Titan Image Generator mit Ihren eigenen Daten verfeinern maßgeschneiderte Modelle für Amazon Bedrock.

Von der Generierung von Bildern bis hin zur Bearbeitung haben Text-zu-Bild-Modelle branchenübergreifend breite Anwendungsmöglichkeiten. Sie können die Kreativität der Mitarbeiter steigern und ihnen die Möglichkeit geben, sich allein durch Textbeschreibungen neue Möglichkeiten vorzustellen. Beispielsweise kann es Architekten bei der Entwurfs- und Grundrissplanung unterstützen und eine schnellere Innovation ermöglichen, indem es die Möglichkeit bietet, verschiedene Entwürfe zu visualisieren, ohne sie manuell erstellen zu müssen. Ebenso kann es das Design in verschiedenen Branchen wie Fertigung, Modedesign im Einzelhandel und Spieledesign unterstützen, indem es die Erstellung von Grafiken und Illustrationen rationalisiert. Text-zu-Bild-Modelle verbessern auch Ihr Kundenerlebnis, indem sie personalisierte Werbung sowie interaktive und immersive visuelle Chatbots in Medien- und Unterhaltungsanwendungsfällen ermöglichen.

In diesem Beitrag führen wir Sie durch den Prozess der Feinabstimmung des Amazon Titan Image Generator-Modells, um zwei neue Kategorien kennenzulernen: Ron, der Hund, und Smila, die Katze, unsere Lieblingshaustiere. Wir besprechen, wie Sie Ihre Daten für die Modellfeinabstimmungsaufgabe vorbereiten und wie Sie einen Modellanpassungsauftrag in Amazon Bedrock erstellen. Abschließend zeigen wir Ihnen, wie Sie Ihr fein abgestimmtes Modell testen und bereitstellen Bereitgestellter Durchsatz.

Ron der Hund Smila die Katze

Bewertung der Modellfähigkeiten vor der Feinabstimmung eines Auftrags

Foundation-Modelle werden mit großen Datenmengen trainiert, daher ist es möglich, dass Ihr Modell sofort gut genug funktioniert. Aus diesem Grund empfiehlt es sich zu prüfen, ob Sie Ihr Modell tatsächlich für Ihren Anwendungsfall optimieren müssen oder ob eine schnelle Entwicklung ausreichend ist. Versuchen wir, einige Bilder von Ron, dem Hund, und Smila, der Katze, mit dem Basismodell des Amazon Titan Image Generator zu generieren, wie in den folgenden Screenshots gezeigt.

Wie erwartet kennt das Out-of-the-Box-Modell Ron und Smila noch nicht und die generierten Ausgaben zeigen verschiedene Hunde und Katzen. Mit etwas zeitnaher Planung können wir weitere Details liefern, um dem Aussehen unserer Lieblingshaustiere näher zu kommen.

Obwohl die erzeugten Bilder denen von Ron und Smila ähnlicher sind, sehen wir, dass das Modell nicht in der Lage ist, die vollständige Ähnlichkeit der beiden wiederzugeben. Beginnen wir nun mit der Feinabstimmung der Fotos von Ron und Smila, um konsistente, personalisierte Ergebnisse zu erhalten.

Feinabstimmung des Amazon Titan Image Generators

Amazon Bedrock bietet Ihnen eine serverlose Erfahrung zur Feinabstimmung Ihres Amazon Titan Image Generator-Modells. Sie müssen nur Ihre Daten vorbereiten und Ihre Hyperparameter auswählen, und AWS übernimmt die schwere Arbeit für Sie.

Wenn Sie das Amazon Titan Image Generator-Modell zur Feinabstimmung verwenden, wird eine Kopie dieses Modells im AWS-Modellentwicklungskonto erstellt, das AWS gehört und von AWS verwaltet wird, und ein Modellanpassungsauftrag wird erstellt. Dieser Job greift dann auf die Feinabstimmungsdaten von einer VPC zu und die Gewichtungen des Amazon Titan-Modells werden aktualisiert. Das neue Modell wird dann in einem gespeichert Amazon Simple Storage-Service (Amazon S3) befindet sich im selben Modellentwicklungskonto wie das vorab trainierte Modell. Es kann jetzt nur von Ihrem Konto für Rückschlüsse verwendet werden und wird nicht mit anderen AWS-Konten geteilt. Wenn Sie Inferenz ausführen, greifen Sie über a auf dieses Modell zu bereitgestellte Rechenkapazität oder direkt, mit Batch-Inferenz für Amazon Bedrock. Unabhängig von der gewählten Inferenzmodalität verbleiben Ihre Daten in Ihrem Konto und werden nicht in ein AWS-eigenes Konto kopiert oder zur Verbesserung des Amazon Titan Image Generator-Modells verwendet.

Das folgende Diagramm veranschaulicht diesen Workflow.

Datenschutz und Netzwerksicherheit

Ihre für die Feinabstimmung verwendeten Daten, einschließlich Eingabeaufforderungen, sowie die benutzerdefinierten Modelle bleiben in Ihrem AWS-Konto privat. Sie werden nicht für Modellschulungen oder Serviceverbesserungen weitergegeben oder verwendet und auch nicht an Drittanbieter von Modellen weitergegeben. Alle zur Feinabstimmung verwendeten Daten werden während der Übertragung und im Ruhezustand verschlüsselt. Die Daten bleiben in derselben Region, in der der API-Aufruf verarbeitet wird. Sie können auch verwenden AWS PrivateLink um eine private Verbindung zwischen dem AWS-Konto, in dem sich Ihre Daten befinden, und der VPC herzustellen.

Datenaufbereitung

Bevor Sie einen Modellanpassungsauftrag erstellen können, müssen Sie dies tun Bereiten Sie Ihren Trainingsdatensatz vor. Das Format Ihres Trainingsdatensatzes hängt von der Art des Anpassungsauftrags ab, den Sie erstellen (Feinabstimmung oder fortgesetztes Vortraining) und von der Modalität Ihrer Daten (Text-zu-Text, Text-zu-Bild oder Bild-zu-Bild). Einbettung). Für das Amazon Titan Image Generator-Modell müssen Sie die Bilder angeben, die Sie für die Feinabstimmung verwenden möchten, sowie eine Bildunterschrift für jedes Bild. Amazon Bedrock geht davon aus, dass Ihre Bilder auf Amazon S3 gespeichert werden und dass die Bilder- und Beschriftungspaare in einem JSONL-Format mit mehreren JSON-Zeilen bereitgestellt werden.

Jede JSON-Zeile ist ein Beispiel, das eine Bildreferenz, den S3-URI für ein Bild und eine Beschriftung enthält, die eine Textaufforderung für das Bild enthält. Ihre Bilder müssen im JPEG- oder PNG-Format vorliegen. Der folgende Code zeigt ein Beispiel für das Format:

{"image-ref": "s3://bucket/path/to/image001.png", "caption": ""} {"image-ref": "s3://bucket/path/to/image002.png", "caption": ""} {"image-ref": "s3://bucket/path/to/image003.png", "caption": ""}

Da „Ron“ und „Smila“ Namen sind, die auch in anderen Kontexten verwendet werden könnten, beispielsweise als Name einer Person, fügen wir beim Erstellen der Eingabeaufforderung zur Feinabstimmung unseres Modells die Bezeichner „Ron, der Hund“ und „Smila, die Katze“ hinzu . Obwohl dies für den Feinabstimmungs-Workflow nicht erforderlich ist, sorgen diese zusätzlichen Informationen für mehr kontextbezogene Klarheit für das Modell, wenn es für die neuen Klassen angepasst wird, und vermeiden die Verwechslung von „Ron, der Hund“ mit einer Person namens Ron und „ Smila die Katze“ mit der Stadt Smila in der Ukraine. Unter Verwendung dieser Logik zeigen die folgenden Bilder ein Beispiel unseres Trainingsdatensatzes.

Ron, der Hund, liegt auf einem weißen Hundebett Ron, der Hund, sitzt auf einem Fliesenboden Ron, der Hund, liegt auf einem Autositz
Smila, die Katze, liegt auf einer Couch Smila, die Katze, starrt in die Kamera und liegt auf einer Couch Smila, die Katze, liegt in einer Transportbox

Wenn wir unsere Daten in das vom Anpassungsauftrag erwartete Format umwandeln, erhalten wir die folgende Beispielstruktur:

{"image-ref": "/ron_01.jpg", "caption": "Ron der Hund liegt auf einem weißen Hundebett"} {"image-ref": "/ron_02.jpg", "caption": "Ron der Hund sitzt auf einem Fliesenboden"} {"image-ref": "/ron_03.jpg", "caption": "Ron der Hund liegt auf einem Autositz"} {"image-ref": "/smila_01.jpg", "caption": "Smila, die Katze, liegt auf einer Couch"} {"image-ref": "/smila_02.jpg", "caption": "Smila, die Katze, sitzt neben dem Fenster neben einer Katzenstatue"} {"image-ref": "/smila_03.jpg", "caption": "Smila, die Katze, liegt auf einer Transportbox"}

Nachdem wir unsere JSONL-Datei erstellt haben, müssen wir sie in einem S3-Bucket speichern, um unseren Anpassungsauftrag zu starten. Die Feinabstimmungsaufträge des Amazon Titan Image Generator G1 funktionieren mit 5–10,000 Bildern. Für das in diesem Beitrag besprochene Beispiel verwenden wir 60 Bilder: 30 von Ron, dem Hund, und 30 von Smila, der Katze. Im Allgemeinen verbessert die Bereitstellung weiterer Varianten des Stils oder der Klasse, die Sie lernen möchten, die Genauigkeit Ihres fein abgestimmten Modells. Je mehr Bilder Sie jedoch für die Feinabstimmung verwenden, desto mehr Zeit wird für die Feinabstimmung benötigt. Auch die Anzahl der verwendeten Bilder hat Einfluss auf die Preisgestaltung Ihres Feinauftrags. Beziehen auf Amazon Bedrock-Preise um mehr zu erfahren.

Feinabstimmung des Amazon Titan Image Generators

Nachdem wir nun unsere Trainingsdaten bereit haben, können wir mit einem neuen Anpassungsauftrag beginnen. Dieser Vorgang kann sowohl über die Amazon Bedrock-Konsole als auch über APIs erfolgen. Um die Amazon Bedrock-Konsole zu verwenden, führen Sie die folgenden Schritte aus:

  1. Wählen Sie auf der Amazon Bedrock-Konsole Kundenspezifische Modelle im Navigationsbereich.
  2. Auf dem Modell anpassen Menü, wählen Sie Feinabstimmungsauftrag erstellen.
  3. Aussichten für Fein abgestimmter ModellnameGeben Sie einen Namen für Ihr neues Modell ein.
  4. Aussichten für JobkonfigurationGeben Sie einen Namen für den Schulungsjob ein.
  5. Aussichten für EingabedatenGeben Sie den S3-Pfad der Eingabedaten ein.
  6. Im Hyperparameter Geben Sie im Abschnitt Werte für Folgendes an:
    1. Anzahl der Schritte – Die Häufigkeit, mit der das Modell jeder Charge ausgesetzt wird.
    2. Chargengröße – Die Anzahl der verarbeiteten Proben vor der Aktualisierung der Modellparameter.
    3. Lernrate – Die Rate, mit der die Modellparameter nach jedem Stapel aktualisiert werden. Die Wahl dieser Parameter hängt von einem bestimmten Datensatz ab. Als allgemeine Richtlinie empfehlen wir Ihnen, zunächst die Stapelgröße auf 8 und die Lernrate auf 1e-5 festzulegen und die Anzahl der Schritte entsprechend der Anzahl der verwendeten Bilder festzulegen, wie in der folgenden Tabelle beschrieben.
Anzahl der bereitgestellten Bilder 8 32 64 1,000 10,000
Anzahl der empfohlenen Schritte 1,000 4,000 8,000 10,000 12,000

Wenn die Ergebnisse Ihrer Feinabstimmung nicht zufriedenstellend sind, sollten Sie die Anzahl der Schritte erhöhen, wenn Sie in den generierten Bildern keine Anzeichen des Stils feststellen, und die Anzahl der Schritte verringern, wenn Sie den Stil in den generierten Bildern jedoch feststellen mit Artefakten oder Unschärfe. Wenn das fein abgestimmte Modell den eindeutigen Stil in Ihrem Datensatz auch nach 40,000 Schritten nicht erlernt, sollten Sie eine Erhöhung der Batchgröße oder der Lernrate in Betracht ziehen.

  1. Im Ausgabedaten Geben Sie im Abschnitt den S3-Ausgabepfad ein, in dem die Validierungsausgaben, einschließlich der regelmäßig aufgezeichneten Validierungsverlust- und Genauigkeitsmetriken, gespeichert werden.
  2. Im Service Zugang Abschnitt, generieren Sie einen neuen AWS Identity and Access Management and (IAM)-Rolle oder wählen Sie eine vorhandene IAM-Rolle mit den erforderlichen Berechtigungen für den Zugriff auf Ihre S3-Buckets.

Diese Autorisierung ermöglicht es Amazon Bedrock, Eingabe- und Validierungsdatensätze aus Ihrem angegebenen Bucket abzurufen und Validierungsausgaben nahtlos in Ihrem S3-Bucket zu speichern.

  1. Auswählen Feinabstimmung des Modells.

Wenn die richtigen Konfigurationen festgelegt sind, trainiert Amazon Bedrock nun Ihr benutzerdefiniertes Modell.

Stellen Sie den fein abgestimmten Amazon Titan Image Generator mit bereitgestelltem Durchsatz bereit

Nachdem Sie ein benutzerdefiniertes Modell erstellt haben, können Sie mit „Bereitgestellter Durchsatz“ dem benutzerdefinierten Modell eine vorgegebene, feste Rate an Verarbeitungskapazität zuweisen. Diese Zuweisung bietet ein konsistentes Leistungs- und Kapazitätsniveau für die Verarbeitung von Arbeitslasten, was zu einer besseren Leistung bei Produktions-Arbeitslasten führt. Der zweite Vorteil des bereitgestellten Durchsatzes ist die Kostenkontrolle, da die standardmäßige tokenbasierte Preisgestaltung mit On-Demand-Inferenzmodus im großen Maßstab schwer vorherzusagen sein kann.

Wenn die Feinabstimmung Ihres Modells abgeschlossen ist, wird dieses Modell auf der angezeigt Kundenspezifische Modelle Seite auf der Amazon Bedrock-Konsole.

Um bereitgestellten Durchsatz zu erwerben, wählen Sie das benutzerdefinierte Modell aus, das Sie gerade optimiert haben, und entscheiden Sie sich Kaufen Sie bereitgestellten Durchsatz.

Dadurch wird das ausgewählte Modell, für das Sie Provisioned Throughput erwerben möchten, vorab ausgefüllt. Um Ihr fein abgestimmtes Modell vor der Bereitstellung zu testen, legen Sie die Modelleinheiten auf einen Wert von 1 und die Verpflichtungsdauer auf fest Ohne Verpflichtungen. Dadurch können Sie schnell mit dem Testen Ihrer Modelle mit Ihren benutzerdefinierten Eingabeaufforderungen beginnen und prüfen, ob das Training ausreichend ist. Wenn neue, fein abgestimmte Modelle und neue Versionen verfügbar sind, können Sie außerdem den bereitgestellten Durchsatz aktualisieren, sofern Sie ihn mit anderen Versionen desselben Modells aktualisieren.

Feinabstimmung der Ergebnisse

Für unsere Aufgabe, das Modell an Ron, den Hund, und Smila, die Katze, anzupassen, zeigten Experimente, dass die besten Hyperparameter 5,000 Schritte mit einer Stapelgröße von 8 und einer Lernrate von 1e-5 waren.

Im Folgenden finden Sie einige Beispiele für die vom benutzerdefinierten Modell generierten Bilder.

Ron der Hund trägt einen Superheldenumhang Ron, der Hund auf dem Mond Ron der Hund in einem Schwimmbad mit Sonnenbrille
Smila, die Katze im Schnee Smila, die Katze in Schwarz und Weiß, starrt in die Kamera Smila, die Katze, trägt eine Weihnachtsmütze

Zusammenfassung

In diesem Beitrag haben wir besprochen, wann Sie Ihre Eingabeaufforderungen für eine bessere Bildgenerierung durch Feinabstimmung statt durch Engineering verbessern sollten. Wir haben gezeigt, wie Sie das Amazon Titan Image Generator-Modell optimieren und das benutzerdefinierte Modell auf Amazon Bedrock bereitstellen. Wir haben außerdem allgemeine Richtlinien zur Vorbereitung Ihrer Daten für die Feinabstimmung und zur Festlegung optimaler Hyperparameter für eine genauere Modellanpassung bereitgestellt.

Als nächsten Schritt können Sie Folgendes anpassen Beispiel Passend zu Ihrem Anwendungsfall, um mit Amazon Titan Image Generator hyperpersonalisierte Bilder zu generieren.


Über die Autoren

Maira Ladeira Tanke ist Senior Generative AI Data Scientist bei AWS. Mit einem Hintergrund im maschinellen Lernen verfügt sie über mehr als 10 Jahre Erfahrung in der Architektur und Erstellung von KI-Anwendungen für Kunden aus verschiedenen Branchen. Als technische Leiterin hilft sie Kunden dabei, durch generative KI-Lösungen auf Amazon Bedrock schneller einen Geschäftswert zu erzielen. In ihrer Freizeit reist Maira gerne, spielt mit ihrer Katze Smila und verbringt Zeit mit ihrer Familie an einem warmen Ort.

Daniel Mitchell ist ein KI/ML-Spezialist für Lösungsarchitekten bei Amazon Web Services. Sein Schwerpunkt liegt auf Computer-Vision-Anwendungsfällen und der Unterstützung von Kunden in der gesamten EMEA-Region bei der Beschleunigung ihrer ML-Reise.

Bharathi Srinivasan ist Data Scientist bei AWS Professional Services, wo sie gerne coole Dinge auf Amazon Bedrock baut. Sie setzt sich leidenschaftlich dafür ein, den Geschäftswert von Anwendungen für maschinelles Lernen zu steigern, wobei der Schwerpunkt auf verantwortungsvoller KI liegt. Neben der Entwicklung neuer KI-Erlebnisse für Kunden schreibt Bharathi gerne Science-Fiction und fordert sich im Ausdauersport heraus.

Achin Jain ist angewandter Wissenschaftler im Amazon Artificial General Intelligence (AGI)-Team. Er verfügt über Fachkenntnisse in Text-zu-Bild-Modellen und konzentriert sich auf die Entwicklung des Amazon Titan Image Generators.

spot_img

Neueste Intelligenz

spot_img

Chat mit uns

Hallo! Wie kann ich dir helfen?