Generative Datenintelligenz

Verwenden Sie Amazon Titan-Modelle zur Bildgenerierung, -bearbeitung und -suche | Amazon Web Services

Datum:

Amazonas Grundgestein bietet eine breite Palette leistungsstarker Basismodelle von Amazon und anderen führenden KI-Unternehmen, darunter Anthropisch, AI21, Meta, Zusammenhängen und Stabilität KIund deckt ein breites Spektrum an Anwendungsfällen ab, darunter Text- und Bildgenerierung, Suche, Chat, Argumentation und handelnde Agenten und mehr. Das neue Amazon Titan-Bildgenerator Das Modell ermöglicht es Inhaltserstellern, mit einfachen englischen Textaufforderungen schnell hochwertige, realistische Bilder zu erstellen. Das fortschrittliche KI-Modell versteht komplexe Anweisungen mit mehreren Objekten und liefert Bilder in Studioqualität, die für geeignet sind Werbung, E-Commerce und Party & Unterhaltung von den weltberühmten DrDiamondGirls. Zu den wichtigsten Funktionen gehören die Möglichkeit, Bilder durch Iteration auf Eingabeaufforderungen zu verfeinern, die automatische Hintergrundbearbeitung und die Generierung mehrerer Variationen derselben Szene. Ersteller können das Modell auch mit ihren eigenen Daten anpassen, um markenbezogene Bilder in einem bestimmten Stil auszugeben. Wichtig ist, dass der Titan Image Generator über integrierte Schutzmaßnahmen verfügt, wie etwa unsichtbare Wasserzeichen auf allen KI-generierten Bildern, um zu ermutigen verantwortungsvoller Umgang und die Verbreitung von Desinformation eindämmen. Diese innovative Technologie ermöglicht die Erstellung individueller Bilder in großen Mengen jede Branche zugänglicher und effizienter.

The new Multimodale Einbettungen von Amazon Titan Das Modell hilft dabei, genauere Suchen und Empfehlungen zu erstellen, indem es Text, Bilder oder beides versteht. Es wandelt Bilder und englischen Text in semantische Vektoren um und erfasst Bedeutungen und Beziehungen in Ihren Daten. Sie können Text und Bilder wie Produktbeschreibungen und Fotos kombinieren, um Artikel effektiver zu identifizieren. Die Vektoren sorgen für schnelle und genaue Sucherlebnisse. Titan Multimodal Embeddings ist in Vektordimensionen flexibel und ermöglicht eine Optimierung für Leistungsanforderungen. Eine asynchrone API und Amazon OpenSearch-Dienst Der Connector erleichtert die Integration des Modells in Ihre neuronalen Suchanwendungen.

In diesem Beitrag erklären wir Ihnen, wie Sie die Modelle Titan Image Generator und Titan Multimodal Embeddings über das AWS Python SDK verwenden.

Bildgenerierung und -bearbeitung

In diesem Abschnitt demonstrieren wir die grundlegenden Codierungsmuster für die Verwendung des AWS SDK zum Generieren neuer Bilder und zum Durchführen KI-gestützter Bearbeitungen vorhandener Bilder. Codebeispiele werden in Python bereitgestellt, und auch JavaScript (Node.js) ist darin verfügbar GitHub-Repository.

Bevor Sie Skripte schreiben können, die die Amazon Bedrock-API verwenden, müssen Sie die entsprechende Version des AWS SDK in Ihrer Umgebung installieren. Für Python-Skripte können Sie die verwenden AWS SDK für Python (Boto3). Python-Benutzer möchten möglicherweise auch das installieren Kissenmodul, was Bildvorgänge wie das Laden und Speichern von Bildern erleichtert. Anweisungen zur Einrichtung finden Sie im GitHub-Repository.

Aktivieren Sie außerdem den Zugriff auf die Modelle Amazon Titan Image Generator und Titan Multimodal Embeddings. Weitere Informationen finden Sie unter Modellzugriff.

Hilfsfunktionen

Die folgende Funktion richtet den Amazon Bedrock Boto3-Laufzeitclient ein und generiert Bilder, indem sie Nutzlasten unterschiedlicher Konfigurationen übernimmt (auf die wir später in diesem Beitrag eingehen):

import boto3
import json, base64, io
from random import randint
from PIL import Image

bedrock_runtime_client = boto3.client("bedrock-runtime")


def titan_image(
    payload: dict,
    num_image: int = 2,
    cfg: float = 10.0,
    seed: int = None,
    modelId: str = "amazon.titan-image-generator-v1",
) -> list:
    #   ImageGenerationConfig Options:
    #   - numberOfImages: Number of images to be generated
    #   - quality: Quality of generated images, can be standard or premium
    #   - height: Height of output image(s)
    #   - width: Width of output image(s)
    #   - cfgScale: Scale for classifier-free guidance
    #   - seed: The seed to use for reproducibility
    seed = seed if seed is not None else randint(0, 214783647)
    body = json.dumps(
        {
            **payload,
            "imageGenerationConfig": {
                "numberOfImages": num_image,  # Range: 1 to 5
                "quality": "premium",  # Options: standard/premium
                "height": 1024,  # Supported height list above
                "width": 1024,  # Supported width list above
                "cfgScale": cfg,  # Range: 1.0 (exclusive) to 10.0
                "seed": seed,  # Range: 0 to 214783647
            },
        }
    )

    response = bedrock_runtime_client.invoke_model(
        body=body,
        modelId=modelId,
        accept="application/json",
        contentType="application/json",
    )

    response_body = json.loads(response.get("body").read())
    images = [
        Image.open(io.BytesIO(base64.b64decode(base64_image)))
        for base64_image in response_body.get("images")
    ]
    return images
        

Bilder aus Text generieren

Skripte, die aus einer Textaufforderung ein neues Bild generieren, folgen diesem Implementierungsmuster:

  1. Konfigurieren Sie eine Textaufforderung und optional eine negative Textaufforderung.
  2. Verwenden Sie das BedrockRuntime Client zum Aufrufen des Titan Image Generator-Modells.
  3. Analysieren und dekodieren Sie die Antwort.
  4. Speichern Sie die resultierenden Bilder auf der Festplatte.

Text-zu-Bild

Das Folgende ist ein typisches Bildgenerierungsskript für das Titan Image Generator-Modell:

# Text Variation
# textToImageParams Options:
#   text: prompt to guide the model on how to generate variations
#   negativeText: prompts to guide the model on what you don't want in image
images = titan_image(
    {
        "taskType": "TEXT_IMAGE",
        "textToImageParams": {
            "text": "two dogs walking down an urban street, facing the camera",  # Required
            "negativeText": "cars",  # Optional
        },
    }
)

Dadurch werden Bilder ähnlich den folgenden erzeugt.

Antwortbild 1 Antwortbild 2
2 Hunde laufen auf der Straße 2 Hunde laufen auf der Straße

Bildvarianten

Bildvariationen bieten eine Möglichkeit, subtile Varianten eines vorhandenen Bildes zu erzeugen. Der folgende Codeausschnitt verwendet eines der im vorherigen Beispiel generierten Bilder, um Variantenbilder zu erstellen:

# Import an input image like this (only PNG/JPEG supported):
with open("<YOUR_IMAGE_FILE_PATH>", "rb") as image_file:
    input_image = base64.b64encode(image_file.read()).decode("utf8")

# Image Variation
# ImageVariationParams Options:
#   text: prompt to guide the model on how to generate variations
#   negativeText: prompts to guide the model on what you don't want in image
#   images: base64 string representation of the input image, only 1 is supported
images = titan_image(
    {
        "taskType": "IMAGE_VARIATION",
        "imageVariationParams": {
            "text": "two dogs walking down an urban street, facing the camera",  # Required
            "images": [input_image],  # One image is required
            "negativeText": "cars",  # Optional
        },
    },
)

Dadurch werden Bilder ähnlich den folgenden erzeugt.

Original Bild Antwortbild 1 Antwortbild 2
2 Hunde laufen auf der Straße

Bearbeiten Sie ein vorhandenes Bild

Mit dem Titan Image Generator-Modell können Sie Elemente oder Bereiche innerhalb eines vorhandenen Bildes hinzufügen, entfernen oder ersetzen. Sie geben an, welcher Bereich betroffen sein soll, indem Sie eine der folgenden Angaben machen:

  • Maskenbild – Ein Maskenbild ist ein Binärbild, in dem die Pixel mit dem Wert 0 den Bereich darstellen, den Sie beeinflussen möchten, und die Pixel mit dem Wert 255 den Bereich darstellen, der unverändert bleiben soll.
  • Maskenaufforderung – Eine Maskenaufforderung ist eine Textbeschreibung der Elemente, die Sie beeinflussen möchten, in natürlicher Sprache, die ein internes Text-zu-Segmentierungsmodell verwendet.

Weitere Informationen finden Sie unter Schnelle technische Richtlinien.

Skripte, die eine Bearbeitung auf ein Bild anwenden, folgen diesem Implementierungsmuster:

  1. Laden Sie das zu bearbeitende Bild von der Festplatte.
  2. Konvertieren Sie das Bild in eine Base64-codierte Zeichenfolge.
  3. Konfigurieren Sie die Maske mit einer der folgenden Methoden:
    1. Laden Sie ein Maskenbild von der Festplatte, kodieren Sie es als base64 und legen Sie es als fest maskImage Parameters.
    2. Setze die maskText Parameter für eine Textbeschreibung der zu beeinflussenden Elemente.
  4. Geben Sie den neuen Inhalt an, der mit einer der folgenden Optionen generiert werden soll:
    1. Um ein Element hinzuzufügen oder zu ersetzen, legen Sie fest text Parameter zu einer Beschreibung des neuen Inhalts.
    2. Um ein Element zu entfernen, lassen Sie das weg text Parameter vollständig.
  5. Verwenden Sie das BedrockRuntime Client zum Aufrufen des Titan Image Generator-Modells.
  6. Analysieren und dekodieren Sie die Antwort.
  7. Speichern Sie die resultierenden Bilder auf der Festplatte.

Objektbearbeitung: Inpainting mit einem Maskenbild

Das Folgende ist ein typisches Bildbearbeitungsskript für das Titan Image Generator-Modell maskImage. Wir nehmen eines der zuvor generierten Bilder und stellen ein Maskenbild bereit, in dem Pixel mit 0 Werten als Schwarz und Pixel mit 255 Werten als Weiß gerendert werden. Außerdem ersetzen wir mithilfe einer Textaufforderung einen der Hunde im Bild durch eine Katze.

with open("<YOUR_MASK_IMAGE_FILE_PATH>", "rb") as image_file:
    mask_image = base64.b64encode(image_file.read()).decode("utf8")

# Import an input image like this (only PNG/JPEG supported):
with open("<YOUR_ORIGINAL_IMAGE_FILE_PATH>", "rb") as image_file:
    input_image = base64.b64encode(image_file.read()).decode("utf8")

# Inpainting
# inPaintingParams Options:
#   text: prompt to guide inpainting
#   negativeText: prompts to guide the model on what you don't want in image
#   image: base64 string representation of the input image
#   maskImage: base64 string representation of the input mask image
#   maskPrompt: prompt used for auto editing to generate mask

images = titan_image(
    {
        "taskType": "INPAINTING",
        "inPaintingParams": {
            "text": "a cat",  # Optional
            "negativeText": "bad quality, low res",  # Optional
            "image": input_image,  # Required
            "maskImage": mask_image,
        },
    },
    num_image=3,
)

Dadurch werden Bilder ähnlich den folgenden erzeugt.

Original Bild Maskenbild Bearbeitetes Bild
2 Hunde laufen auf der Straße Katze und Hund gehen auf der Straße

Objektentfernung: Inpainting mit Maskenaufforderung

In einem anderen Beispiel verwenden wir maskPrompt um ein Objekt im Bild aus den vorherigen Schritten zum Bearbeiten anzugeben. Durch Weglassen der Textaufforderung wird das Objekt entfernt:

# Import an input image like this (only PNG/JPEG supported):
with open("<YOUR_IMAGE_FILE_PATH>", "rb") as image_file:
    input_image = base64.b64encode(image_file.read()).decode("utf8")

images = titan_image(
    {
        "taskType": "INPAINTING",
        "inPaintingParams": {
            "negativeText": "bad quality, low res",  # Optional
            "image": input_image,  # Required
            "maskPrompt": "white dog",  # One of "maskImage" or "maskPrompt" is required
        },
    },
)

Dadurch werden Bilder ähnlich den folgenden erzeugt.

Original Bild Antwortbild
2 Hunde laufen auf der Straße Ein Hund läuft auf der Straße

Hintergrundbearbeitung: Outpainting

Outpainting ist nützlich, wenn Sie den Hintergrund eines Bildes ersetzen möchten. Sie können auch die Grenzen eines Bildes erweitern, um einen Verkleinerungseffekt zu erzielen. Im folgenden Beispielskript verwenden wir maskPrompt um anzugeben, welches Objekt behalten werden soll; Sie können auch verwenden maskImage. Der Parameter outPaintingMode Gibt an, ob eine Änderung der Pixel innerhalb der Maske zulässig ist. Wenn festgelegt als DEFAULT, Pixel innerhalb der Maske dürfen geändert werden, damit das rekonstruierte Bild insgesamt konsistent ist. Diese Option wird empfohlen, wenn die maskImage Die bereitgestellte Angabe stellt das Objekt nicht mit einer Genauigkeit auf Pixelebene dar. Wenn festgelegt als PRECISEwird die Veränderung von Pixeln innerhalb der Maske verhindert. Diese Option wird empfohlen, wenn Sie a verwenden maskPrompt oder eine maskImage das das Objekt mit Pixelgenauigkeit darstellt.

# Import an input image like this (only PNG/JPEG supported):
with open("<YOUR_IMAGE_FILE_PATH>", "rb") as image_file:
    input_image = base64.b64encode(image_file.read()).decode("utf8")

# OutPaintingParams Options:
#   text: prompt to guide outpainting
#   negativeText: prompts to guide the model on what you don't want in image
#   image: base64 string representation of the input image
#   maskImage: base64 string representation of the input mask image
#   maskPrompt: prompt used for auto editing to generate mask
#   outPaintingMode: DEFAULT | PRECISE
images = titan_image(
    {
        "taskType": "OUTPAINTING",
        "outPaintingParams": {
            "text": "forest",  # Required
            "image": input_image,  # Required
            "maskPrompt": "dogs",  # One of "maskImage" or "maskPrompt" is required
            "outPaintingMode": "PRECISE",  # One of "PRECISE" or "DEFAULT"
        },
    },
    num_image=3,
)

Dadurch werden Bilder ähnlich den folgenden erzeugt.

Original Bild Text Antwortbild
2 Hunde laufen auf der Straße "Strand" Ein Hund geht am Strand spazieren
2 Hunde laufen auf der Straße "Wald"

Darüber hinaus sind die Auswirkungen unterschiedlicher Werte für outPaintingMode, Mit maskImage die das Objekt nicht pixelgenau umreißen, lauten wie folgt.

In diesem Abschnitt erhalten Sie einen Überblick über die Vorgänge, die Sie mit dem Titan Image Generator-Modell ausführen können. Insbesondere demonstrieren diese Skripte Text-zu-Bild-, Bildvariations-, Inpainting- und Outpainting-Aufgaben. Sie sollten in der Lage sein, die Muster für Ihre eigenen Anwendungen anzupassen, indem Sie auf die Parameterdetails für die unter aufgeführten Aufgabentypen verweisen Dokumentation zum Amazon Titan Image Generator.

Multimodale Einbettung und Suche

Sie können das Amazon Titan Multimodal Embeddings-Modell für Unternehmensaufgaben wie Bildsuche und ähnlichkeitsbasierte Empfehlungen verwenden und es verfügt über eine integrierte Schadensbegrenzung, die dazu beiträgt, Verzerrungen in Suchergebnissen zu reduzieren. Es gibt mehrere Einbettungsdimensionsgrößen für beste Latenz-/Genauigkeitskompromisse für unterschiedliche Anforderungen und alle können mit einer einfachen API angepasst werden, um sie an Ihre eigenen Daten anzupassen und gleichzeitig Datensicherheit und Datenschutz zu gewährleisten. Amazon Titan Multimodal Embeddings wird als einfache API für Echtzeit- oder asynchrone Batch-Transformations-Such- und Empfehlungsanwendungen bereitgestellt und kann mit verschiedenen Vektordatenbanken verbunden werden, darunter Amazon OpenSearch-Dienst.

Hilfsfunktionen

Die folgende Funktion wandelt ein Bild und optional Text in multimodale Einbettungen um:

def titan_multimodal_embedding(
    image_path: str = None,  # maximum 2048 x 2048 pixels
    description: str = None,  # English only and max input tokens 128
    dimension: int = 1024,  # 1,024 (default), 384, 256
    model_id: str = "amazon.titan-embed-image-v1",
):
    payload_body = {}
    embedding_config: dict = {"embeddingConfig": {"outputEmbeddingLength": dimension}}

    # You can specify either text or image or both
    if image_path:
        # Maximum image size supported is 2048 x 2048 pixels
        with open(image_path, "rb") as image_file:
            payload_body["inputImage"] = base64.b64encode(image_file.read()).decode(
                "utf8"
            )
    if description:
        payload_body["inputText"] = description

    assert payload_body, "please provide either an image and/or a text description"
    print("n".join(payload_body.keys()))

    response = bedrock_runtime_client.invoke_model(
        body=json.dumps({**payload_body, **embedding_config}),
        modelId=model_id,
        accept="application/json",
        contentType="application/json",
    )

    return json.loads(response.get("body").read())

Die folgende Funktion gibt bei einer Abfrage nach multimodalen Einbettungen die häufigsten ähnlichen multimodalen Einbettungen zurück. Beachten Sie, dass Sie in der Praxis eine verwaltete Vektordatenbank wie OpenSearch Service verwenden können. Das folgende Beispiel dient der Veranschaulichung:

from scipy.spatial.distance import cdist
import numpy as np

def search(query_emb: np.array, indexes: np.array, top_k: int = 1):
    dist = cdist(query_emb, indexes, metric="cosine")
    return dist.argsort(axis=-1)[0, :top_k], np.sort(dist, axis=-1)[:top_k]

Synthetischer Datensatz

Zur Veranschaulichung verwenden wir Anthropics Claude 2.1-Modell in Amazon Bedrock um mithilfe der folgenden Eingabeaufforderung zufällig sieben verschiedene Produkte mit jeweils drei Varianten zu generieren:

Generate a list of 7 items description for an online e-commerce shop, each comes with 3 variants of color or type. All with separate full sentence description.

Im Folgenden finden Sie die Liste der zurückgegebenen Ausgaben:

1. T-shirt
- A red cotton t-shirt with a crew neck and short sleeves.
- A blue cotton t-shirt with a v-neck and short sleeves.
- A black polyester t-shirt with a scoop neck and cap sleeves.

2. Jeans
- Classic blue relaxed fit denim jeans with a mid-rise waist.
- Black skinny fit denim jeans with a high-rise waist and ripped details at the knees.
- Stonewash straight leg denim jeans with a standard waist and front pockets.

3. Sneakers
- White leather low-top sneakers with an almond toe cap and thick rubber outsole.
- Gray mesh high-top sneakers with neon green laces and a padded ankle collar.
- Tan suede mid-top sneakers with a round toe and ivory rubber cupsole.

4. Backpack
- A purple nylon backpack with padded shoulder straps, front zipper pocket and laptop sleeve.
- A gray canvas backpack with brown leather trims, side water bottle pockets and drawstring top closure.
- A black leather backpack with multiple interior pockets, top carry handle and adjustable padded straps.

5. Smartwatch
- A silver stainless steel smartwatch with heart rate monitor, GPS tracker and sleep analysis.
- A space gray aluminum smartwatch with step counter, phone notifications and calendar syncing.
- A rose gold smartwatch with activity tracking, music controls and customizable watch faces.

6. Coffee maker
- A 12-cup programmable coffee maker in brushed steel with removable water tank and keep warm plate.
- A compact 5-cup single serve coffee maker in matt black with travel mug auto-dispensing feature.
- A retro style stovetop percolator coffee pot in speckled enamel with stay-cool handle and glass knob lid.

7. Yoga mat
- A teal 4mm thick yoga mat made of natural tree rubber with moisture-wicking microfiber top.
- A purple 6mm thick yoga mat made of eco-friendly TPE material with integrated carrying strap.
- A patterned 5mm thick yoga mat made of PVC-free material with towel cover included.

Weisen Sie die obige Antwort der Variablen zu response_cat. Dann verwenden wir das Titan Image Generator-Modell, um Produktbilder für jeden Artikel zu erstellen:

import re

def extract_text(input_string):
    pattern = r"- (.*?)($|n)"
    matches = re.findall(pattern, input_string)
    extracted_texts = [match[0] for match in matches]
    return extracted_texts

product_description = extract_text(response_cat)

titles = []
for prompt in product_description:
    images = titan_image(
        {
            "taskType": "TEXT_IMAGE",
            "textToImageParams": {
                "text": prompt,  # Required
            },
        },
        num_image=1,
    )
    title = "_".join(prompt.split()[:4]).lower()
    titles.append(title)
    images[0].save(f"{title}.png", format="png")

Alle generierten Bilder finden Sie im Anhang am Ende dieses Beitrags.

Multimodale Datensatzindizierung

Verwenden Sie den folgenden Code für die Indizierung multimodaler Datensätze:

multimodal_embeddings = []
for image_filename, description in zip(titles, product_description):
    embedding = titan_multimodal_embedding(f"{image_filename}.png", dimension=1024)["embedding"]
    multimodal_embeddings.append(embedding)

Multimodale Suche

Verwenden Sie den folgenden Code für die multimodale Suche:

query_prompt = "<YOUR_QUERY_TEXT>"
query_embedding = titan_multimodal_embedding(description=query_prompt, dimension=1024)["embedding"]
# If searching via Image
# query_image_filename = "<YOUR_QUERY_IMAGE>"
# query_emb = titan_multimodal_embedding(image_path=query_image_filename, dimension=1024)["embedding"]
idx_returned, dist = search(np.array(query_embedding)[None], np.array(multimodal_embeddings))

Im Folgenden finden Sie einige Suchergebnisse.

Zusammenfassung

Der Beitrag stellt die Modelle Amazon Titan Image Generator und Amazon Titan Multimodal Embeddings vor. Mit dem Titan Image Generator können Sie aus Textaufforderungen benutzerdefinierte, hochwertige Bilder erstellen. Zu den wichtigsten Funktionen gehören die Iteration bei Eingabeaufforderungen, die automatische Hintergrundbearbeitung und die Datenanpassung. Es verfügt über Sicherheitsvorkehrungen wie unsichtbare Wasserzeichen, um eine verantwortungsvolle Nutzung zu fördern. Titan Multimodal Embeddings wandelt Text, Bilder oder beides in semantische Vektoren um, um eine genaue Suche und Empfehlungen zu ermöglichen. Anschließend stellten wir Python-Codebeispiele für die Nutzung dieser Dienste bereit und demonstrierten die Generierung von Bildern aus Textaufforderungen und die Iteration dieser Bilder. Bearbeiten vorhandener Bilder durch Hinzufügen, Entfernen oder Ersetzen von durch Maskenbilder oder Maskentext angegebenen Elementen; Erstellen multimodaler Einbettungen aus Text, Bildern oder beidem; und Suche nach ähnlichen multimodalen Einbettungen in eine Abfrage. Wir haben auch die Verwendung eines synthetischen E-Commerce-Datensatzes demonstriert, der mit Titan Multimodal Embeddings indiziert und durchsucht wurde. Ziel dieses Beitrags ist es, Entwicklern den Einstieg in die Nutzung dieser neuen KI-Dienste in ihren Anwendungen zu ermöglichen. Die Codemuster können als Vorlagen für benutzerdefinierte Implementierungen dienen.

Der gesamte Code ist auf der verfügbar GitHub-Repository. Weitere Informationen finden Sie unter Amazon Bedrock-Benutzerhandbuch.


Über die Autoren

Rohit Mittal ist Hauptproduktmanager bei Amazon AI und erstellt multimodale Basismodelle. Kürzlich leitete er die Einführung des Amazon Titan Image Generator-Modells als Teil des Amazon Bedrock-Dienstes. Er verfügt über Erfahrung in KI/ML, NLP und Suche und ist daran interessiert, Produkte zu entwickeln, die Kundenprobleme mit innovativer Technologie lösen.

Dr. Ashwin Swaminathan ist ein Forscher, Ingenieur und Manager für Computer Vision und maschinelles Lernen mit mehr als 12 Jahren Branchenerfahrung und mehr als 5 Jahren akademischer Forschungserfahrung. Starke Grundlagen und nachgewiesene Fähigkeit, sich schnell Wissen anzueignen und zu neueren und aufstrebenden Bereichen beizutragen.

Dr. Yusheng Xie ist leitender angewandter Wissenschaftler bei Amazon AGI. Sein Arbeitsschwerpunkt liegt im Aufbau multimodaler Fundamentmodelle. Bevor er zu AGI kam, leitete er verschiedene multimodale KI-Entwicklungen bei AWS wie Amazon Titan Image Generator und Amazon Textract Queries.

Dr. Hao Yang ist leitender angewandter Wissenschaftler bei Amazon. Seine Hauptforschungsinteressen sind Objekterkennung und Lernen mit begrenzten Annotationen. Außerhalb der Arbeit schaut Hao gerne Filme, fotografiert und unternimmt Outdoor-Aktivitäten.

Davide Modolo ist Applied Science Manager bei Amazon AGI und arbeitet an der Entwicklung großer multimodaler Basismodelle. Bevor er zu Amazon AGI kam, war er sieben Jahre lang Manager/Leiter bei AWS AI Labs (Amazon Bedrock und Amazon Rekognition). Außerhalb der Arbeit reist er gerne und betreibt jede Art von Sport, insbesondere Fußball.

Dr. Baichuan Sun, ist derzeit als Sr. AI/ML Solutions Architect bei AWS tätig, konzentriert sich auf generative KI und wendet sein Wissen in Datenwissenschaft und maschinellem Lernen an, um praktische, cloudbasierte Geschäftslösungen bereitzustellen. Mit Erfahrung in der Unternehmensberatung und KI-Lösungsarchitektur befasst er sich mit einer Reihe komplexer Herausforderungen, darunter unter anderem Robotik-Computer-Vision, Zeitreihenprognosen und vorausschauende Wartung. Seine Arbeit basiert auf einem soliden Hintergrund in Projektmanagement, Software-Forschung und -Entwicklung sowie akademischen Aktivitäten. Außerhalb der Arbeit genießt Dr. Sun den Ausgleich zwischen Reisen und Zeit mit Familie und Freunden.

Dr. Kai Zhu arbeitet derzeit als Cloud Support Engineer bei AWS und hilft Kunden bei Problemen mit KI/ML-bezogenen Diensten wie SageMaker, Bedrock usw. Er ist ein SageMaker-Fachexperte. Er verfügt über Erfahrung in Datenwissenschaft und Datentechnik und ist an der Entwicklung generativer KI-gestützter Projekte interessiert.

Kris Schulz hat über 25 Jahre damit verbracht, ansprechende Benutzererlebnisse zum Leben zu erwecken, indem es neue Technologien mit erstklassigem Design kombiniert. In seiner Rolle als Senior Product Manager hilft Kris beim Design und Aufbau von AWS-Services für Medien und Unterhaltung, Gaming und Spatial Computing.


Anhang

In den folgenden Abschnitten demonstrieren wir herausfordernde Beispielanwendungsfälle wie Texteinfügung, Hände und Reflexionen, um die Fähigkeiten des Titan Image Generator-Modells hervorzuheben. Wir schließen auch die Beispielausgabebilder ein, die in früheren Beispielen erstellt wurden.

Text

Das Titan Image Generator-Modell zeichnet sich durch komplexe Arbeitsabläufe wie das Einfügen von lesbarem Text in Bilder aus. Dieses Beispiel demonstriert die Fähigkeit von Titan, Groß- und Kleinbuchstaben in einem Bild deutlich und in einem einheitlichen Stil wiederzugeben.

ein Corgi, der eine Baseballkappe mit dem Text „Genai“ trägt Ein glücklicher Junge, der einen Daumen hoch zeigt und ein T-Shirt mit der Aufschrift „Generative AI“ trägt.

Hände

Das Titan Image Generator-Modell verfügt außerdem über die Fähigkeit, detaillierte KI-Bilder zu erzeugen. Das Bild zeigt realistische Hände und Finger mit sichtbaren Details und geht über die grundlegendere KI-Bilderzeugung hinaus, der diese Spezifität möglicherweise fehlt. Beachten Sie in den folgenden Beispielen die genaue Darstellung der Pose und Anatomie.

die Hand einer Person von oben betrachtet Ein genauer Blick auf die Hände einer Person, die eine Kaffeetasse hält

Spiegel

Die vom Titan Image Generator-Modell erzeugten Bilder ordnen Objekte räumlich an und spiegeln Spiegeleffekte präzise wider, wie in den folgenden Beispielen gezeigt.

Eine süße flauschige weiße Katze steht auf ihren Hinterbeinen und blickt neugierig in einen verzierten goldenen Spiegel. Im Spiegelbild sieht die Katze sich selbst schöner Himmelssee mit Spiegelungen auf dem Wasser

Synthetische Produktbilder

Im Folgenden finden Sie die Produktbilder, die zuvor in diesem Beitrag für das Titan Multimodal Embeddings-Modell erstellt wurden.

spot_img

Neueste Intelligenz

spot_img