Ik heb vandaag Amazon Nova gebruikt en dit is mijn eerlijke beoordeling

Like
vond

Datum:

In de recente re: Vind 2024 uit evenement, Amazon bracht zijn meest geavanceerde Nova foundation-modellen uit, gebouwd om AI en contentcreatie te verbeteren. In dit artikel bespreek ik de architectuur van Nova, belicht ik de krachtige mogelijkheden ervan en test ik het vervolgens om mijn praktische ervaring met deze innovatieve technologie te delen.

Inhoudsopgave

Wat zijn de Amazon Nova Foundational Models?

Amazon Nova is de volgende evolutie in basismodellen, die state-of-the-art intelligentie levert in combinatie met ongeรซvenaarde prijs-prestatieverhouding. Exclusief verkrijgbaar via Amazon Bedrock, deze modellen maken een breed scala aan toepassingen mogelijk.

Van het verwerken van documenten met beeld- en tekstanalyse tot het schalen van marketingcontentcreatie of het bouwen van AI-assistenten die visuele data kunnen interpreteren en erop kunnen reageren, Amazon Nova biedt de intelligentie en flexibiliteit om aan uw behoeften te voldoen. De suite omvat twee gespecialiseerde modelcategorieรซn: Understanding en Creative Content Generation, die met precisie en innovatie inspelen op uiteenlopende use cases.

Typen AWS Nova-modellen

Modellen begrijpen: tekst en visuele intelligentie

Amazon Nova Micro, Nova Lite en Nova Pro zijn geavanceerde begripsmodellen die zijn ontworpen om tekst-, beeld- en video-inputs te verwerken en tekstgebaseerde outputs te leveren. Deze modellen bieden een veelzijdig scala aan mogelijkheden, waarbij nauwkeurigheid, snelheid en kosten in evenwicht worden gebracht om aan uiteenlopende operationele behoeften te voldoen. Belangrijke kenmerken zijn:

  • Efficiรซnte en kosteneffectieve inferentie over verschillende inlichtingenniveaus heen
  • State-of-the-art inzicht van tekst, afbeeldingen en video's
  • Ondersteuning voor fijnafstemming voor tekst-, beeld- en video-invoer
  • Geavanceerde multimodale retrieval-augmented generation (RAG) en agentische capaciteiten
  • Naadloze integratie met eigen gegevens en toepassingen via Amazon Bedrock
Amazon Nova basismodellen
Bron: AWS

Laten we ze eens afzonderlijk bekijken:

Amazon Nova Micro

Amazon Nova Micro is een tekst-only model dat is geoptimaliseerd voor ultra-lage latentie en kosteneffectieve prestaties. Het blinkt uit in een breed scala aan taken, waaronder taalbegrip, vertaling, redeneren, codeaanvulling, brainstormen en wiskundige probleemoplossing. Met een generatiesnelheid van meer dan 200 tokens per seconde is het perfect voor toepassingen die snelle reacties vereisen.

Belangrijkste kenmerken

  • Maximaal aantal tokens: Ondersteunt tot 128k tokens
  • talen: Compatibel met 200+ talen
  • Scherpstellen: Ondersteunt volledig de fijnafstemming met tekstinvoer

Amazon Nova Lite

Amazon Nova Lite is een ultrasnel en kosteneffectief multimodaal model dat is ontworpen om tekst-, beeld- en video-inputs te verwerken. De indrukwekkende nauwkeurigheid bij diverse taken, gecombineerd met uitzonderlijke snelheid, maakt het ideaal voor interactieve en high-volume-toepassingen waarbij kostenefficiรซntie een prioriteit is.

Belangrijkste kenmerken

  • Maximaal aantal tokens: Ondersteunt tot 300k tokens
  • talen: Compatibel met 200+ talen
  • Scherpstellen: Ondersteunt volledig de fijnafstemming met tekst-, beeld- en video-invoer

Amazon Nova Pro

Amazon Nova Pro is een zeer capabel multimodaal model met de beste combinatie van nauwkeurigheid, snelheid en kosten voor een breed scala aan taken. De mogelijkheden van Amazon Nova Pro, gekoppeld aan de toonaangevende snelheid en kostenefficiรซntie, maken het een aantrekkelijk model voor bijna elke taak, inclusief videosamenvatting, Q&A, wiskundig redeneren, softwareontwikkeling en AI-agenten die workflows met meerdere stappen kunnen uitvoeren. Naast de state-of-the-art nauwkeurigheid op tekst- en visuele intelligentiebenchmarks, blinkt Amazon Nova Pro uit in het volgen van instructies en agentische workflows, zoals gemeten door Comprehensive RAG Benchmark (CRAG), het Berkeley Function Calling Leaderboard en Mind2Web.

Belangrijkste kenmerken

  • Maximaal aantal tokens: 300k
  • talen: 200+ talen
  • Ondersteuning voor fijnafstemming: Ja, met tekst-, beeld- en video-invoer.

Amazon Nova Premier

Meest capabele multimodale model voor complexe redeneertaken en voor gebruik als de beste leraar voor het distilleren van aangepaste modellen. Amazon Nova Premier is nog in opleiding. Ze mikken op beschikbaarheid begin 2025.

Creatieve contentgeneratie: concepten tot leven brengen

De Amazon Nova-suite omvat twee geavanceerde modellen voor het maken van realistische multimodale content, afgestemd op een breed scala aan toepassingen, zoals reclame, marketing en entertainment:

 Amazon Nova Canvas

Een state-of-the-art model voor het genereren van afbeeldingen, ontworpen om hoogwaardige beelden te produceren met nauwkeurige controle over stijl en inhoud. Amazon Nova Canvas biedt geavanceerde functies voor creatieve flexibiliteit en blinkt uit in benchmarks zoals TIFA (Text-to-Image Faithfulness Assessment) en ImageReward.

Belangrijkste functionaliteiten

  • Tekst-naar-afbeelding genereren:
    • Genereert afbeeldingen met resoluties variรซrend van 512p tot 2K horizontale resolutie.
    • Ondersteunt flexibele beeldverhoudingen (1:4 tot 4:1) met maximaal 4.2 miljoen pixels.
    • Hiermee kunnen klanten referentiebeelden aanleveren om de stijl of het kleurenpalet van het model te bepalen of om variaties te maken.
  • Foto bewerken:
    • Biedt nauwkeurige bewerkingsmogelijkheden, zoals in- en uitschilderen met behulp van natuurlijke taalmaskerprompts om specifieke gebieden aan te wijzen voor wijziging.
    • Inclusief achtergrondverwijdering, zodat u achtergronden naadloos kunt vervangen of aanpassen, terwijl het onderwerp behouden blijft.

Amazon Nova-spoel

Een state-of-the-art videogeneratiemodel dat is ontworpen om videocontent van professionele kwaliteit te creรซren. Amazon Nova Reel overtreft bestaande modellen in menselijke evaluaties van videokwaliteit en consistentie.

Belangrijkste functionaliteiten

  • Genereer video's vanuit tekstprompts: Maakt video's van 6 seconden met een resolutie van 720p en 24 frames per seconde.
  • Genereer video's van referentie-afbeeldingen en prompts: Combineert statische afbeeldingen en tekstuele invoer om dynamische, gestuurde bewegingen te produceren.
  • Camerabewegingsregeling: Biedt meer dan 20 camerabewegingseffecten, zoals 'zoomen' en 'dolly forward', die via tekstberichten worden aangestuurd en nauwkeurige controle over de visuele dynamiek bieden.

Amazon Nova: Benchmarks en resultaten

Amazon Nova-modellen leveren uitzonderlijke prestaties in kern- en agentische tekstbenchmarks, en blinken uit in MMLU, ARC-C en GSM8K. Getest tegen toonaangevende modellen zoals GPT-4 en Claude, stelt Nova nieuwe normen in nauwkeurigheid, redenering en taakuitvoering.

Kerncapaciteit Tekst Benchmarks en Resultaten

Kwantitatieve resultaten op kerncapaciteitsbenchmarks, waaronder MMLU, ARC-C, DROP, GPQA, MATH, GSM8K, IFEval en BigBench-Hard (BBH). Tenzij anders vermeld, zijn referentiewaarden afkomstig uit de originele technische rapporten en websites voor de modellen Claude, GPT-4, Llama en Gemini. Resultaten gelabeld met M werden onafhankelijk gemeten, terwijl Claude's IFEval-scores zijn gemarkeerd met een asterisk (โˆ—) vanwege een niet-gespecificeerde scoremethode.

Benchmarks en resultaten voor agentische tekst

Kerncompetentietekstbenchmarks en resultaten

Resultaten van de Berkeley Function Calling Leaderboard (BFCL) v3 vanaf de update van 17 november 2024, met de nieuwste modelversies die op dat moment beschikbaar waren. Voor Llama 3.2 11B en 90B worden de leaderboardresultaten voor Llama 3.1 8B en 70B gebruikt vanwege de gedeelde tekst LLM.

In het volgende gedeelte laat ik zien hoe je AWS Nova kunt gebruiken. Als je problemen hebt met toegang tot AWS Nova, bekijk dan mijn gedetailleerde instructies in het artikel โ€“ Hoe krijg ik toegang tot Nova in AWS?

Amazon Nova Pro gebruiken voor documentanalyse

Om de mogelijkheden van documentanalyse te demonstreren, heb ik dit artikel gedownload van de Analytics Vidhya-blog Bouw agenten op de atomaire manier! in PDF-formaat.

Eerst navigeerde ik naar het gedeelte Modeltoegang in de Amazon Bedrock-console en vroeg om toegang tot de nieuwe Amazon Nova-modellen. Vervolgens selecteerde ik in het Playground-gedeelte de optie Chat/Text en koos het Amazon Nova Pro-model. Vervolgens uploadde ik de PDF met de beslissingsgids en vroeg:

Schrijf een samenvatting van dit document in 100 woorden. Maak vervolgens een beslissingsboom.

Output:

De uitvoer volgt mijn instructies en levert een gestructureerde beslissingsboom op. Zo krijg ik een overzicht van het document voordat ik het lees.

Amazon Nova Pro gebruiken voor documentanalyse

Amazon Nova Pro gebruiken voor videoanalyse

Nova Pro-interface

Om videoanalyse te demonstreren, zal ik รฉรฉn video invoeren in de invoer:

Amazon Nova Pro kan geรผploade video's analyseren, vroeg ik:

Wat gebeurt er in de video?

Output:

Amazon Nova Pro gebruiken voor videoanalyse
Aan het begin van de video staan โ€‹โ€‹er drie katten op een richel. Eรฉn kat is grijs en wit, รฉรฉn is bruin en wit en รฉรฉn is wit. De witte kat staat aan de rechterkant van de richel. De katten kijken in verschillende richtingen. Er staan โ€‹โ€‹wat planten en bomen op de achtergrond. Naarmate de video vordert, blijven de katten op de richel staan. De witte kat beweegt naar het midden van de richel. De katten blijven in verschillende richtingen kijken. De planten en bomen op de achtergrond blijven hetzelfde.

Nova Pro-API

Ik kan een meer gedetailleerde prompt gebruiken om specifieke informatie uit de video te halen, zoals objecten of tekst. Let op: Amazon Nova verwerkt momenteel geen audio in een video.

Ik kan ook de AWS SDK voor Python (Boto3) gebruiken om het Amazon Nova Pro-model aan te roepen met de Amazon Bedrock Converse API en de video te analyseren. Zorg ervoor dat AWS correct is geconfigureerd in uw systeem om de API te gebruiken. Controleer daarnaast of u de benodigde machtigingen hebt om de bewerkingen uit te voeren.

import boto3

AWS_REGION = "us-east-1"
MODEL_ID = "amazon.nova-pro-v1:0"
VIDEO_FILE = "/home/abhishek/Downloads/cats_sample"

bedrock_runtime = boto3.client("bedrock-runtime", region_name=AWS_REGION)
with open(VIDEO_FILE, "rb") as f:
    video = f.read()

user_message = "Describe this video."

messages = [ { "role": "user", "content": [
    {"video": {"format": "mp4", "source": {"bytes": video}}},
    {"text": user_message}
] } ]

response = bedrock_runtime.converse(
    modelId=MODEL_ID,
    messages=messages,
    inferenceConfig={"temperature": 0.0}
 )

response_text = response["output"]["message"]["content"][0]["text"]
print(response_text)

Amazon Nova Pro kan video's analyseren die zijn geรผpload met de API (zoals in de vorige code) of die zijn opgeslagen in een Amazon Simple Storage Service (Amazon S3)-bucket.

Output:

NOVA API-uitvoer

Amazon Nova Reel gebruiken voor het maken van video's

Laten we nu een video maken met Amazon Nova Reel, beginnend met een tekst-only prompt en vervolgens een referentie-afbeelding verstrekkend. Omdat het genereren van een video een paar minuten duurt, introduceerde de Amazon Bedrock API drie nieuwe bewerkingen:

  • StartAsyncInvoke: Start het maken van een video.
  • GetAsyncInvoke: Houdt de status van de creatie bij.
  • LijstAsyncInvokes: Geeft een overzicht van alle lopende of voltooide videotaken.

Amazon Nova Reel ondersteunt camerabedieningsacties zoals zoomen of de camera bewegen. Dit Python-script maakt een video van deze tekstprompt:

A colorful flower garden with roses, sunflowers, 
tulips, and lavender swaying in the sunlight. 
The camera zooms in to capture the 
intricate details of each bloom..

Na de eerste aanroep controleert het script periodiek de status totdat de creatie van de video is voltooid. Ik geef een willekeurige seed door om elke keer dat de code wordt uitgevoerd een ander resultaat te krijgen.

import random
import time

import boto3

AWS_REGION = "us-east-1"
MODEL_ID = "amazon.nova-reel-v1:0"
SLEEP_TIME = 30
S3_DESTINATION_BUCKET = "<BUCKET>"

video_prompt = "A colorful flower garden with roses, sunflowers, tulips, and lavender swaying in the sunlight. The camera zooms in to capture the intricate details of each bloom."

bedrock_runtime = boto3.client("bedrock-runtime", region_name=AWS_REGION)
model_input = {
    "taskType": "TEXT_VIDEO",
    "textToVideoParams": {"text": video_prompt},
    "videoGenerationConfig": {
        "durationSeconds": 6,
        "fps": 24,
        "dimension": "1280x720",
        "seed": random.randint(0, 2147483648)
    }
}

invocation = bedrock_runtime.start_async_invoke(
    modelId=MODEL_ID,
    modelInput=model_input,
    outputDataConfig={"s3OutputDataConfig": {"s3Uri": f"s3://{S3_DESTINATION_BUCKET}"}}
)

invocation_arn = invocation["invocationArn"]
s3_prefix = invocation_arn.split('/')[-1]
s3_location = f"s3://{S3_DESTINATION_BUCKET}/{s3_prefix}"
print(f"nS3 URI: {s3_location}")

while True:
    response = bedrock_runtime.get_async_invoke(
        invocationArn=invocation_arn
    )
    status = response["status"]
    print(f"Status: {status}")
    if status != "InProgress":
        break
    time.sleep(SLEEP_TIME)

if status == "Completed":
    print(f"nVideo is ready at {s3_location}/output.mp4")
else:
    print(f"nVideo generation status: {status}")

Output:

Na een paar minuten is het script voltooid en wordt de output Amazon Simple Storage Service (Amazon S3) locatie afgedrukt. Ik download de output video met behulp van de AWS Command Line Interface (AWS CLI) of ik kan het handmatig downloaden:

aws s3 cp s3://BUCKET/PREFIX/output.mp4 ./output-from-text.mp4

Dit is de resulterende video. Zoals gevraagd, zoomt de camera in op het onderwerp.

Amazon Nova Reel gebruiken met een referentieafbeelding

Om meer controle te hebben over het maken van de video, kan ik Amazon Nova Reel een referentieafbeelding verstrekken, zoals de volgende:

De aangeleverde afbeelding moet afmetingen hebben in de set [1280ร—720].

Amazon Nova Reel gebruiken met een referentieafbeelding

Dit script gebruikt de referentieafbeelding en een tekstprompt met een cameraactie (perspectief van een drone en bij het inzoomen een bij die op een bloem zit) om een โ€‹โ€‹video te maken:

import base64
import random
import time

import boto3

S3_DESTINATION_BUCKET = "<BUCKET>"
AWS_REGION = "us-east-1"
MODEL_ID = "amazon.nova-reel-v1:0"
SLEEP_TIME = 30
input_image_path = "seascape.png"
video_prompt = "drone view then a bee sitting on a flower when zoomed in"

bedrock_runtime = boto3.client("bedrock-runtime", region_name=AWS_REGION)

# Load the input image as a Base64 string.
with open(input_image_path, "rb") as f:
    input_image_bytes = f.read()
    input_image_base64 = base64.b64encode(input_image_bytes).decode("utf-8")

model_input = {
    "taskType": "TEXT_VIDEO",
    "textToVideoParams": {
        "text": video_prompt,
        "images": [{ "format": "png", "source": { "bytes": input_image_base64 } }]
        },
    "videoGenerationConfig": {
        "durationSeconds": 6,
        "fps": 24,
        "dimension": "1280x720",
        "seed": random.randint(0, 2147483648)
    }
}

invocation = bedrock_runtime.start_async_invoke(
    modelId=MODEL_ID,
    modelInput=model_input,
    outputDataConfig={"s3OutputDataConfig": {"s3Uri": f"s3://{S3_DESTINATION_BUCKET}"}}
)

invocation_arn = invocation["invocationArn"]
s3_prefix = invocation_arn.split('/')[-1]
s3_location = f"s3://{S3_DESTINATION_BUCKET}/{s3_prefix}"

print(f"nS3 URI: {s3_location}")

while True:
    response = bedrock_runtime.get_async_invoke(
        invocationArn=invocation_arn
    )
    status = response["status"]
    print(f"Status: {status}")
    if status != "InProgress":
        break
    time.sleep(SLEEP_TIME)
if status == "Completed":
    print(f"nVideo is ready at {s3_location}/output.mp4")
else:
    print(f"nVideo generation status: {status}")

Output:

Opnieuw download ik de uitvoer met behulp van de AWS CLI:

aws s3 cp s3://BUCKET/PREFIX/output.mp4 ./output-from-image.mp4

Dit is de resulterende video. De camera start vanaf het referentiebeeld en beweegt vooruit.

Verantwoord AI bouwen

Amazon Nova-modellen zijn ontworpen met een sterke nadruk op de veiligheid, beveiliging en het vertrouwen van de klant tijdens de ontwikkeling. Hierdoor wordt gemoedsrust en de flexibiliteit gegarandeerd die nodig is om uiteenlopende use cases te ondersteunen.

Met robuuste veiligheidsfuncties en mogelijkheden voor contentmoderatie biedt Amazon Nova u de nodige controles om AI op verantwoorde wijze te implementeren. Elke afbeelding en video die door deze modellen wordt gegenereerd, bevat digitale watermerken voor extra transparantie.

Om de geavanceerde mogelijkheden van de Amazon Nova-fundamentmodellen te evenaren, zijn er uitgebreide beschermingen aanwezig. Deze waarborgen pakken actief kritieke kwesties aan, zoals misinformatie, materiaal over seksueel misbruik van kinderen (CSAM) en risico's die verband houden met chemische, biologische, radiologische of nucleaire (CBRN) bedreigingen.

Einde opmerking

Amazon Nova heeft zich in mijn praktijkervaring bewezen als een krachtig hulpmiddel. Van het analyseren van documenten tot het maken van hoogwaardige video's, de modellen lieten indrukwekkende snelheid, nauwkeurigheid en veelzijdigheid zien. Vooral de videoanalyse viel op, met gedetailleerde en inzichtelijke outputs die mijn verwachtingen ver overtroffen.

Nu hoor ik graag van je! Heb je de kans gehad om Amazon Nova te proberen? Wat vind je van de prestaties, functies of specifieke taken waarop je het hebt getest? Laat het me weten in de comments hieronder.

Hallo, ik ben Abhishek, een Data Engineer Trainee bij Analytics Vidhya. Ik ben gepassioneerd door data engineering en videogames. Ik heb ervaring met Apache Hadoop, AWS en SQL, en ik blijf hun complexiteiten verkennen en dataworkflows optimaliseren. 

Gerelateerde artikelen

spot_img

Recente artikelen

spot_img