Het genereren van tekst naar afbeelding is een taak waarbij een machine learning (ML)-model een afbeelding genereert op basis van een tekstuele beschrijving. Het doel is om een afbeelding te genereren die nauw aansluit bij de beschrijving, waarbij de details en nuances van de tekst worden vastgelegd. Deze taak is een uitdaging omdat het model de semantiek en syntaxis van de tekst moet begrijpen en fotorealistische afbeeldingen moet genereren. Er zijn veel praktische toepassingen van het genereren van tekst naar afbeelding in AI-fotografie, conceptkunst, bouwarchitectuur, mode, videogames, grafisch ontwerp en nog veel meer.
Stabiele diffusie is een tekst-naar-afbeelding-model waarmee u binnen enkele seconden afbeeldingen van hoge kwaliteit kunt maken. Wanneer real-time interactie met dit type model het doel is, hangt het verzekeren van een soepele gebruikerservaring af van het gebruik van versnelde hardware voor inferentie, zoals GPU's of AWS Inferentie2, Amazon's eigen ML-inferentieversneller. De hoge kosten die gepaard gaan met het gebruik van GPU's vereisen meestal het optimaliseren van het gebruik van de onderliggende rekenkracht, vooral wanneer u verschillende architecturen of gepersonaliseerde (verfijnde) modellen moet implementeren. Amazon Sage Maker eindpunten met meerdere modellen (MME's) helpen u dit probleem aan te pakken door u te helpen duizenden modellen naar één eindpunt te schalen. Door een shared serving container te gebruiken, kunt u meerdere modellen op een kosteneffectieve, schaalbare manier hosten binnen hetzelfde eindpunt en zelfs dezelfde GPU.
In dit bericht leer je over Stable Diffusion-modelarchitecturen, verschillende soorten Stable Diffusion-modellen en technieken om de beeldkwaliteit te verbeteren. We laten u ook zien hoe u Stable Diffusion-modellen kosteneffectief kunt implementeren met behulp van SageMaker MME's en NVIDIA Triton Inference Server.
Prompt: portret van een schattige Berner hond, kunst door elke Vogelsang, 8k ultra realistisch, trending op artstation, 4 k | Vraag: architectuurontwerp woonkamer, 8 k ultrarealistisch, 4 k, hyperrealistisch, gefocust, extreme details | Prompt: skyline van New York 's nachts, 8k, fotografie op afstand, onwerkelijke motor 5, filmisch, meesterwerk |
Stabiele Diffusion-architectuur
Stable Diffusion is een open-sourcemodel voor tekst-naar-afbeelding dat u kunt gebruiken om afbeeldingen met verschillende stijlen en inhoud te maken door simpelweg een tekstprompt op te geven. In de context van het genereren van tekst naar afbeelding is een diffusiemodel een generatief model dat u kunt gebruiken om afbeeldingen van hoge kwaliteit te genereren op basis van tekstuele beschrijvingen. Diffusiemodellen zijn een soort generatief model dat de complexe afhankelijkheden tussen de invoer- en uitvoermodaliteiten tekst en afbeeldingen kan vastleggen.
Het volgende diagram toont een architectuur op hoog niveau van een stabiel diffusiemodel.
Het bestaat uit de volgende hoofdelementen:
- Tekst-encoder - CLIP is een op transformatoren gebaseerd tekstencodermodel dat invoerprompttekst neemt en converteert naar token-inbeddingen die elk woord in de tekst vertegenwoordigen. CLIP is getraind op een dataset van afbeeldingen en hun bijschriften, een combinatie van beeld-encoder en tekst-encoder.
- U-Net - Een U-Net-model neemt token-inbeddingen van CLIP samen met een reeks luidruchtige invoer en produceert een uitvoer zonder ruis. Dit gebeurt via een reeks iteratieve stappen, waarbij elke stap een invoer latente tensor verwerkt en een nieuwe latente ruimtetensor produceert die de invoertekst beter vertegenwoordigt.
- Automatische encoder-decoder – Dit model maakt de uiteindelijke beelden. Het neemt de uiteindelijke latente output zonder ruis van het U-Net-model en zet deze om in afbeeldingen die de tekstinvoer vertegenwoordigen.
Typen stabiele diffusiemodellen
In dit bericht verkennen we de volgende vooraf getrainde Stable Diffusion-modellen door Stability AI van de Hugging Face-modelhub.
stabiele-diffusie-2-1-basis
Gebruik dit model om afbeeldingen te genereren op basis van een tekstprompt. Dit is een basisversie van het model waarop is getraind LAION-5B. Het model is getraind op een subset van de grootschalige dataset LAION-5B, en voornamelijk met Engelse onderschriften. We gebruiken StableDiffusionPipeline
van het diffusers
bibliotheek om afbeeldingen te genereren op basis van tekstprompts. Dit model kan afbeeldingen maken met een afmeting van 512 x 512. Het gebruikt de volgende parameters:
- prompt – Een prompt kan een tekstwoord, woordgroep, zinnen of paragrafen zijn.
- negatieve_prompt – U kunt ook een negatieve prompt doorgeven om gespecificeerde elementen uit te sluiten van het proces voor het genereren van afbeeldingen en om de kwaliteit van de gegenereerde afbeeldingen te verbeteren.
- begeleiding_schaal – Een hogere begeleidingsschaal resulteert in een beeld dat nauwer verwant is aan de prompt, ten koste van de beeldkwaliteit. Indien gespecificeerd, moet het een float zijn.
stabiele-diffusie-2-diepte
Dit model wordt gebruikt om nieuwe afbeeldingen te genereren uit bestaande afbeeldingen, terwijl de vorm en diepte van de objecten in de originele afbeelding behouden blijven. Dit stable-diffusion-2-depth model
vanaf is fijn afgesteld stabiele-diffusie-2-base, een extra invoerkanaal om de (relatieve) dieptevoorspelling te verwerken. We gebruiken StableDiffusionDepth2ImgPipeline
van het diffusers
bibliotheek om de pijplijn te laden en dieptebeelden te genereren. Hieronder volgen de aanvullende parameters die specifiek zijn voor het dieptemodel:
- beeld – De eerste afbeelding om het genereren van nieuwe afbeeldingen te conditioneren.
- aantal_inferentie_stappen (Optioneel) – Het aantal denoising-stappen. Meer stappen voor het verwijderen van ruis leiden meestal tot een beeld van hogere kwaliteit ten koste van langzamere gevolgtrekkingen. Deze parameter wordt gemoduleerd door
strength
. - sterkte (optioneel) – Conceptueel geeft dit aan hoeveel het referentiebeeld moet worden getransformeerd. De waarde moet tussen 0–1 liggen.
image
wordt als uitgangspunt gebruikt, waarbij meer ruis wordt toegevoegd naarmate de sterkte groter is. Het aantal ruisonderdrukkingsstappen is afhankelijk van de hoeveelheid ruis die aanvankelijk is toegevoegd. Wanneerstrength
1 is, is de toegevoegde ruis maximaal en wordt het ruisverwijderingsproces uitgevoerd voor het volledige aantal iteraties dat is opgegeven innum_inference_steps
. Een waarde van 1 negeert daarom in wezenimage
. Raadpleeg het volgende voor meer informatie code.
stabiele diffusie-2-inschildering
U kunt dit model gebruiken voor use-cases voor het herstellen van AI-afbeeldingen. U kunt het ook gebruiken om nieuwe ontwerpen en afbeeldingen te maken op basis van de prompts en aanvullende argumenten. Dit model is ook afgeleid van het basismodel en heeft een strategie voor het genereren van maskers. Het specificeert het masker van de originele afbeelding om segmenten weer te geven die moeten worden gewijzigd en segmenten die ongewijzigd moeten blijven. We gebruiken StableDiffusionUpscalePipeline
van het diffusers
bibliotheek om inpaint-wijzigingen toe te passen op de originele afbeelding. De volgende aanvullende parameter is specifiek voor het dieptemodel:
- masker_invoer – Een beeld waarbij het zwarte gedeelte ongewijzigd blijft tijdens het genereren van het beeld en het witte gedeelte wordt vervangen
stabiele-diffusie-x4-upscaler
Dit model is ook afgeleid van het basismodel, bovendien getraind op de 10M subset van LAION met 2048 x 2048 afbeeldingen. Zoals de naam al aangeeft, kan het worden gebruikt om afbeeldingen met een lagere resolutie op te schalen naar hogere resoluties
Gebruik case-overzicht
Voor dit bericht zetten we een AI-beeldservice in met meerdere mogelijkheden, waaronder het genereren van nieuwe afbeeldingen uit tekst, het wijzigen van de stijlen van bestaande afbeeldingen, het verwijderen van ongewenste objecten uit afbeeldingen en het opschalen van afbeeldingen met een lage resolutie naar hogere resoluties. Door verschillende varianten van Stable Diffusion-modellen te gebruiken, kunt u al deze use-cases binnen één SageMaker-eindpunt aanpakken. Dit betekent dat u een groot aantal modellen op een performante, schaalbare en kostenefficiënte manier moet hosten. In dit bericht laten we zien hoe u meerdere Stable Diffusion-modellen kosteneffectief kunt implementeren met behulp van SageMaker MME's en NVIDIA Triton Inference Server. U leert over de implementatiedetails, optimalisatietechnieken en best practices voor het werken met tekst-naar-afbeelding-modellen.
De volgende tabel geeft een overzicht van de stabiele diffusiemodellen die we implementeren in een SageMaker MME.
Modelnaam | Modelgrootte in GB |
stabilityai/stable-diffusion-2-1-base |
2.5 |
stabilityai/stable-diffusion-2-depth |
2.7 |
stabilityai/stable-diffusion-2-inpainting |
2.5 |
stabilityai/stable-diffusion-x4-upscaler |
7 |
Overzicht oplossingen
De volgende stappen zijn betrokken bij het implementeren van Stable Diffusion-modellen op SageMaker MME's:
- Gebruik de Hugging Face-hub om de Stable Diffusion-modellen naar een lokale map te downloaden. Dit zal downloaden
scheduler, text_encoder, tokenizer, unet, and vae
voor elk Stable Diffusion-model in de bijbehorende lokale directory. Wij gebruiken derevision="fp16"
versie van het model. - Stel de NVIDIA Triton-modelrepository, modelconfiguraties en modelservinglogica in
model.py
. Triton gebruikt deze artefacten om voorspellingen te doen. - Verpak de conda-omgeving met aanvullende afhankelijkheden en de pakketmodelrepository die moet worden geïmplementeerd in de SageMaker MME.
- Verpak de modelartefacten in een NVIDIA Triton-specifieke indeling en upload ze
model.tar.gz
naar Amazon eenvoudige opslagservice (Amazone S3). Het model zal worden gebruikt voor het genereren van afbeeldingen. - Configureer een SageMaker-model, eindpuntconfiguratie en implementeer de SageMaker MME.
- Voer deductie uit en stuur prompts naar het SageMaker-eindpunt om afbeeldingen te genereren met behulp van het Stable Diffusion-model. Wij specificeren de
TargetModel
variabel en roep verschillende Stable Diffusion-modellen op om de resultaten visueel te vergelijken.
We hebben de code gepubliceerd om deze oplossingsarchitectuur te implementeren in de GitHub repo. Volg de README-instructies om aan de slag te gaan.
Serveer modellen met een NVIDIA Triton Inference Server Python-backend
We gebruiken een Triton Python-backend om het Stable Diffusion-pijplijnmodel te implementeren in een SageMaker MME. Met de Python-backend kunt u modellen bedienen die in Python zijn geschreven door Triton Inference Server. Om de Python-backend te gebruiken, moet u een Python-bestand maken model.py
dat heeft de volgende structuur: Elke Python-backend kan vier hoofdfuncties implementeren in het TritonPythonModel
klasse:
Elke Python-backend kan vier hoofdfuncties implementeren in de TritonPythonModel
klasse: auto_complete_config
, initialize
, execute
en finalize
.
initialize
wordt aangeroepen wanneer het model wordt geladen. Implementeren initialize
is optioneel. initialize
stelt u in staat om de nodige initialisaties uit te voeren voordat u gevolgtrekking uitvoert. In de initialize
functie, maken we een pijplijn en laden de pijplijnen met behulp van from_pretrained
controleposten. We configureren planners vanuit de configuratie van de pijplijnplanner pipe.scheduler.config
. Tot slot specificeren we xformers
optimalisaties om de xformer
geheugen efficiënte parameter enable_xformers_memory_efficient_attention
. We geven meer details over xformers
verderop in dit bericht. U kunt verwijzen naar model.py van elk model om de verschillende pijplijndetails te begrijpen. Dit bestand is te vinden in het modelarchief.
De execute
functie wordt aangeroepen wanneer een deductieverzoek wordt gedaan. Elk Python-model moet de execute
functie. In de execute
functie, krijgt u een lijst met InferenceRequest
voorwerpen. We geven de invoertekstprompt door aan de pijplijn om een afbeelding van het model te krijgen. Afbeeldingen worden gedecodeerd en de gegenereerde afbeelding wordt geretourneerd door deze functieaanroep.
We halen de invoertensor uit de naam die is gedefinieerd in de modelconfiguratie config.pbtxt
bestand. Van het gevolgtrekkingsverzoek krijgen we prompt
, negative_prompt
en gen_args
en decodeer ze. We geven alle argumenten door aan het modelpijplijnobject. Codeer de afbeelding om de gegenereerde afbeeldingsvoorspellingen te retourneren. U kunt verwijzen naar de config.pbtxt
bestand van elk model om de verschillende pijplijndetails te begrijpen. Dit bestand is te vinden in het modelarchief. Ten slotte wikkelen we de gegenereerde afbeelding in InferenceResponse
en geef het antwoord terug.
Uitvoering finalize
is optioneel. Met deze functie kunt u eventuele opschoningen uitvoeren voordat het model wordt verwijderd uit Triton Inference Server.
Wanneer u met de Python-backend werkt, is het de verantwoordelijkheid van de gebruiker om ervoor te zorgen dat de invoer batchgewijs wordt verwerkt en dat de antwoorden dienovereenkomstig worden teruggestuurd. Om dit te bereiken, raden we aan om de volgende stappen te volgen:
- Doorloop alle verzoeken in de
requests
bezwaar om een te vormenbatched_input
. - Voer inferentie uit op de
batched_input
. - Splits de resultaten op in meerdere
InferenceResponse
objecten en voeg ze samen als de antwoorden.
Verwijs naar de Triton Python-backend-documentatie or Host ML-modellen op Amazon SageMaker met Triton: Python-backend voor meer details.
NVIDIA Triton-modelrepository en configuratie
De modelrepository bevat het modelservingscript, modelartefacten en tokenizerartefacten, een verpakte conda-omgeving (met afhankelijkheden die nodig zijn voor inferentie), het Triton-configuratiebestand en het Python-script dat wordt gebruikt voor inferentie. Dit laatste is verplicht wanneer u de Python-backend gebruikt en u moet het Python-bestand gebruiken model.py
. Laten we het configuratiebestand van het inpaint Stable Diffusion-model verkennen en de verschillende gespecificeerde opties begrijpen:
In de volgende tabel worden de verschillende parameters en waarden uitgelegd:
sleutel | Details |
name |
Het is niet vereist om de eigenschap modelconfiguratienaam op te nemen. In het geval dat de configuratie de naam van het model niet specificeert, wordt aangenomen dat deze identiek is aan de naam van de modelrepository-directory waarin het model is opgeslagen. Als er echter een naam wordt opgegeven, moet deze overeenkomen met de naam van de modelopslagmap waarin het model is opgeslagen. sd_inpaint is de naam van de configuratie-eigenschap. |
backend |
Dit specificeert het Triton-raamwerk om modelvoorspellingen te dienen. Dit is een verplichte parameter. wij specificeren python , omdat we de Triton Python-backend zullen gebruiken om de Stable Diffusion-modellen te hosten. |
max_batch_size |
Dit geeft de maximale batchgrootte aan die het model ondersteunt voor de soorten batches die door Triton kunnen worden uitgebuit. |
input→ prompt |
Tekstprompt van het type tekenreeks. Geef -1 op om dynamische tensorvorm te accepteren. |
input→ negative_prompt |
Prompt voor negatieve tekst van het type tekenreeks. Geef -1 op om dynamische tensorvorm te accepteren. |
input→ mask_image |
Base64-gecodeerd maskerbeeld van het type string. Geef -1 op om dynamische tensorvorm te accepteren. |
input→ image |
Base64-gecodeerde afbeelding van het type tekenreeks. Geef -1 op om dynamische tensorvorm te accepteren. |
input→ gen_args |
JSON codeerde aanvullende argumenten van het type string. Geef -1 op om dynamische tensorvorm te accepteren. |
output→ generated_image |
Gegenereerde afbeelding van type string. Geef -1 op om dynamische tensorvorm te accepteren. |
instance_group |
U kunt deze instelling gebruiken om meerdere uitvoeringen van een model op elke GPU of alleen op bepaalde GPU's te plaatsen. wij specificeren KIND_GPU om kopieën van het model te maken op beschikbare GPU's. |
parameters |
We hebben het conda-omgevingspad ingesteld op EXECUTION_ENV_PATH . |
Voor details over de modelrepository en configuraties van andere Stable Diffusion-modellen raadpleegt u de code in de GitHub repo. Elke directory bevat artefacten voor de specifieke Stable Diffusion-modellen.
Verpak een conda-omgeving en breid de SageMaker Triton-container uit
SageMaker NVIDIA Triton-containerafbeeldingen bevatten geen bibliotheken zoals transformer, accelerate, and diffusers
om Stable Diffusion-modellen in te zetten en te bedienen. Met Triton kunt u echter extra afhankelijkheden toevoegen met behulp van conda-pakket. Laten we beginnen met het maken van de conda-omgeving met de nodige afhankelijkheden die worden beschreven in de environment.yml
-bestand en maak een tar-modelartefact sd_env.tar.gz
bestand met de conda-omgeving met daarin geïnstalleerde afhankelijkheden. Voer het volgende YML-bestand uit om een conda-pack
artefact en kopieer het artefact naar de lokale map van waaruit het naar Amazon S3 zal worden geüpload. Houd er rekening mee dat we de conda-artefacten uploaden als een van de modellen in de MME en dit model aanroepen om de conda-omgeving in te stellen in de SageMaker-hosting-ML-instantie.
Upload modelartefacten naar Amazon S3
SageMaker verwacht dat het .tar.gz-bestand dat elke Triton-modelrepository bevat, wordt gehost op het multi-model eindpunt. Daarom maken we een tar-artefact met inhoud uit de Triton-modelrepository. We kunnen deze S3-bucket gebruiken om duizenden modelartefacten te hosten, en de SageMaker MME zal modellen van deze locatie gebruiken om dynamisch een groot aantal modellen te laden en te bedienen. We slaan alle Stable Diffusion-modellen op in deze Amazon S3-locatie.
Implementeer de SageMaker MME
In deze sectie doorlopen we de stappen om de SageMaker MME te implementeren door de containerspecificatie, het SageMaker-model en de eindpuntconfiguraties te definiëren.
Definieer de serveercontainer
Definieer in de containerdefinitie de ModelDataUrl
om de S3-directory op te geven die alle modellen bevat die de SageMaker MME zal gebruiken om voorspellingen te laden en te leveren. Set Mode
naar MultiModel
om aan te geven dat SageMaker het eindpunt zal maken met de MME-containerspecificaties. We stellen de container in met een afbeelding die de implementatie van MME's met GPU ondersteunt. Zien Ondersteunde algoritmen, frameworks en instances voor meer details.
We zien alle drie de modelartefacten in de volgende Amazon S3 ModelDataUrl
locatie:
Maak een MME-object
We gebruiken de SageMaker Boto3-client om het model te maken met behulp van de maak_model API. We geven de containerdefinitie door aan de API voor het maken van een model, samen met: ModelName
en ExecutionRoleArn
:
Definieer configuraties voor de MME
Maak een MME-configuratie met behulp van de create_endpoint_config Boto3-API. Specificeer een versnelde GPU-computinginstantie in InstanceType
(we gebruiken hetzelfde instantietype dat we gebruiken om onze SageMaker-notebook te hosten). We raden aan om uw eindpunten te configureren met ten minste twee instanties met real-life use cases. Hierdoor kan SageMaker een zeer beschikbare reeks voorspellingen bieden voor meerdere beschikbaarheidszones voor de modellen.
Maak een MME
Gebruik de voorgaande eindpuntconfiguratie om een nieuw SageMaker-eindpunt te maken en wacht tot de implementatie is voltooid:
De status verandert in InService
wanneer de implementatie is gelukt.
Genereer afbeeldingen met behulp van verschillende versies van Stable Diffusion-modellen
Laten we beginnen met het aanroepen van het basismodel met een prompt en het ophalen van de gegenereerde afbeelding. We geven de invoer door aan het basismodel met prompt, negative_prompt, and gen_args
als woordenboek. We stellen het gegevenstype en de vorm van elk invoeritem in het woordenboek in en geven het als invoer door aan het model.
Prompt: overloopzwembad bovenop een hoogbouw met uitzicht op Central Park
Door met dit beeld te werken, kunnen we het aanpassen met het veelzijdige Stable Diffusion-dieptemodel. We kunnen bijvoorbeeld de stijl van de afbeelding veranderen in een olieverfschilderij, of de omgeving veranderen van Central Park in Yellowstone National Park door simpelweg de originele afbeelding door te geven samen met een prompt die de veranderingen beschrijft die we zouden willen zien.
We roepen het dieptemodel aan door te specificeren sd_depth.tar.gz
in de TargetModel
van de invoke_endpoint
functie oproep. Let in de uitvoer op hoe de oriëntatie van de originele afbeelding behouden blijft, maar bijvoorbeeld de gebouwen in NYC zijn getransformeerd in rotsformaties met dezelfde vorm.
Originele afbeelding | Olieverf | Yellowstone-park |
Een ander bruikbaar model is Stable Diffusion inpainting, waarmee we bepaalde delen van de afbeelding kunnen verwijderen. Stel dat u de boom in de volgende voorbeeldafbeelding wilt verwijderen. We kunnen dit doen door het inpaint-model aan te roepen sd_inpaint.tar.gz.
Om de boom te verwijderen, moeten we een mask_image
, wat aangeeft welke gebieden van de afbeelding moeten worden behouden en welke moeten worden ingevuld. Het zwarte pixelgedeelte van de maskerafbeelding geeft de gebieden aan die ongewijzigd moeten blijven, en de witte pixels geven aan wat moet worden vervangen.
Originele afbeelding | Masker afbeelding | Afbeelding inkleuren |
In ons laatste voorbeeld verkleinen we de originele afbeelding die eerder is gegenereerd van de resolutie van 512 x 512 naar 128 x 128. Vervolgens roepen we het Stable Diffusion upscaler-model op om de afbeelding weer op te schalen naar 512 x 512. We gebruiken dezelfde prompt om op te schalen de afbeelding als wat we gebruikten om de eerste afbeelding te genereren. Hoewel het niet nodig is, helpt het geven van een prompt die de afbeelding beschrijft, bij het begeleiden van het opschalingsproces en zou dit tot betere resultaten moeten leiden.
Afbeelding met lage resolutie | Opgeschaald beeld |
Hoewel de opgeschaalde afbeelding niet zo gedetailleerd is als het origineel, is het een duidelijke verbetering ten opzichte van de afbeelding met lage resolutie.
Optimaliseer voor geheugen en snelheid
De xformers
bibliotheek is een manier om het genereren van afbeeldingen te versnellen. Deze optimalisatie is alleen beschikbaar voor NVIDIA GPU's. Het versnelt het genereren van afbeeldingen en verlaagt het VRAM-gebruik. Wij hebben gebruik gemaakt van de xformers
bibliotheek voor geheugen-efficiënte aandacht en snelheid. Wanneer de enable_xformers_memory_efficient_attention
optie is ingeschakeld, zou u een lager GPU-geheugengebruik en een mogelijke versnelling op het moment van inferentie moeten waarnemen.
Clean Up
Volg de instructies in het opschoongedeelte van het notitieblok om het gedeelte met resources van deze blog te verwijderen om onnodige kosten te voorkomen. Refereren Amazon SageMaker-prijzen voor meer informatie over de kosten van de inferentie-exemplaren.
Conclusie
In dit bericht hebben we Stable Diffusion-modellen besproken en hoe u verschillende versies van Stable Diffusion-modellen kosteneffectief kunt implementeren met behulp van SageMaker-eindpunten met meerdere modellen. U kunt deze benadering gebruiken om een tool voor het genereren en bewerken van afbeeldingen voor makers te bouwen. Bekijk de codevoorbeelden in de GitHub repo om aan de slag te gaan en ons te laten weten over de coole generatieve AI-tool die je bouwt.
Over de auteurs
Simon Zamarin is een AI / ML Solutions Architect die zich voornamelijk richt op het helpen van klanten om waarde uit hun data-assets te halen. In zijn vrije tijd brengt Simon graag tijd door met familie, leest hij sci-fi en werkt hij aan verschillende doe-het-zelfprojecten.
Vikram Elango is Sr. AI/ML Specialist Solutions Architect bij AWS, gevestigd in Virginia, VS. Hij richt zich momenteel op generatieve AI, LLM's, prompt engineering, optimalisatie van grote modellen en het opschalen van ML binnen ondernemingen. Vikram helpt klanten uit de financiële en verzekeringssector met ontwerp en architectuur om ML-applicaties op schaal te bouwen en te implementeren. In zijn vrije tijd houdt hij van reizen, wandelen, koken en kamperen met zijn gezin.
Joao Moura is een AI/ML Specialist Solutions Architect bij AWS, gevestigd in Spanje. Hij helpt klanten met deep learning modeltraining en inferentie-optimalisatie, en meer in het algemeen bij het bouwen van grootschalige ML-platforms op AWS. Hij is ook een actief voorstander van ML-gespecialiseerde hardware en low-code ML-oplossingen.
Saurabh Trikande is Senior Product Manager voor Amazon SageMaker Inference. Hij heeft een passie voor het werken met klanten en wordt gemotiveerd door het doel om machine learning te democratiseren. Hij richt zich op kernuitdagingen met betrekking tot het inzetten van complexe ML-applicaties, multi-tenant ML-modellen, kostenoptimalisaties en het toegankelijker maken van de inzet van deep learning-modellen. In zijn vrije tijd houdt Saurabh van wandelen, leren over innovatieve technologieën, TechCrunch volgen en tijd doorbrengen met zijn gezin.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoAiStream. Web3 gegevensintelligentie. Kennis versterkt. Toegang hier.
- De toekomst slaan met Adryenn Ashley. Toegang hier.
- Koop en verkoop aandelen in PRE-IPO-bedrijven met PREIPO®. Toegang hier.
- Bron: https://aws.amazon.com/blogs/machine-learning/create-high-quality-images-with-stable-diffusion-models-and-deploy-them-cost-efficiently-with-amazon-sagemaker/