Ustvarite osebni avatar z generativnim AI z uporabo Amazon SageMaker | Spletne storitve Amazon

Ustvarite osebni avatar z generativnim AI z uporabo Amazon SageMaker | Spletne storitve Amazon

Generativna umetna inteligenca je postala običajno orodje za izboljšanje in pospeševanje ustvarjalnega procesa v različnih panogah, vključno z zabavo, oglaševanjem in grafičnim oblikovanjem. Omogoča bolj prilagojene izkušnje za občinstvo in izboljša splošno kakovost končnih izdelkov.

Ena od pomembnih prednosti generativne umetne inteligence je ustvarjanje edinstvenih in prilagojenih izkušenj za uporabnike. Storitve pretakanja na primer uporabljajo generativno umetno inteligenco za ustvarjanje prilagojenih naslovov filmov in vizualnih elementov za povečanje angažiranosti gledalcev in gradnjo vizualnih elementov za naslove na podlagi uporabnikove zgodovine ogledov in preferenc. Sistem nato ustvari na tisoče različic umetniškega dela naslova in jih preizkusi, da ugotovi, katera različica najbolj pritegne pozornost uporabnika. V nekaterih primerih so personalizirane umetnine za TV-serije znatno povečale razmerje med prikazi in kliki ter stopnje ogledov v primerjavi z oddajami brez personaliziranih umetnin.

V tej objavi prikazujemo, kako lahko uporabite generativne modele umetne inteligence, kot je Stable Diffusion, da ustvarite prilagojeno rešitev za avatarje Amazon SageMaker in hkrati prihranite stroške sklepanja z večmodelnimi končnimi točkami (MME). Rešitev prikazuje, kako lahko z nalaganjem 10–12 slik sebe natančno prilagodite prilagojeni model, ki lahko nato ustvari avatarje na podlagi katerega koli besedilnega poziva, kot je prikazano na naslednjih posnetkih zaslona. Čeprav ta primer ustvarja prilagojene avatarje, lahko tehniko uporabite za katero koli ustvarjalno umetniško generacijo s fino nastavitvijo določenih predmetov ali slogov.

Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai. Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Pregled rešitev

Naslednji diagram arhitekture opisuje celovito rešitev za naš generator avatarjev.

Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Obseg te objave in primer Koda GitHub osredotočamo se le na usposabljanje modela in orkestracijo sklepanja (zeleni del v prejšnjem diagramu). Lahko se sklicujete na celotno arhitekturo rešitve in nadgrajujete primer, ki ga ponujamo.

Usposabljanje modela in sklepanje je mogoče razdeliti na štiri korake:

  1. Naloži slike v Preprosta storitev shranjevanja Amazon (Amazon S3). V tem koraku vas prosimo, da zagotovite najmanj 10 svojih slik visoke ločljivosti. Več slik, boljši je rezultat, vendar dlje bo trajalo usposabljanje.
  2. Natančno prilagodite osnovni model Stable Diffusion 2.1 z uporabo asinhronega sklepanja SageMaker. V nadaljevanju te objave razložimo razloge za uporabo končne točke sklepanja za usposabljanje. Postopek natančnega prilagajanja se začne s pripravo slik, vključno z obrezovanjem obraza, spreminjanjem ozadja in spreminjanjem velikosti modela. Nato uporabimo Low-Rank Adaptation (LoRA), parametrsko učinkovito tehniko natančnega prilagajanja za velike jezikovne modele (LLM), da natančno prilagodimo model. Na koncu v naknadni obdelavi zapakiramo natančno nastavljene uteži LoRA s skriptom sklepanja in konfiguracijskimi datotekami (tar.gz) ter jih naložimo na lokacijo vedra S3 za MME SageMaker.
  3. Gostite natančno nastavljene modele z uporabo SageMaker MME z GPE. SageMaker bo dinamično naložil in predpomnil model z lokacije Amazon S3 na podlagi prometa sklepanja za vsak model.
  4. Za sklepanje uporabite natančno nastavljen model. Po Amazon Simple notification Service (Amazon SNS), ki nakazuje, da je fina nastavitev poslana, lahko ta model takoj uporabite tako, da predložite target_model parameter, ko prikličete MME za ustvarjanje vašega avatarja.

Vsak korak podrobneje razložimo v naslednjih razdelkih in se sprehodimo skozi nekaj vzorčnih izrezkov kode.

Pripravite slike

Če želite doseči najboljše rezultate pri natančnem prilagajanju stabilne difuzije za ustvarjanje slik sebe, morate običajno zagotoviti veliko količino in raznolikost svojih fotografij iz različnih zornih kotov, z različnimi izrazi in v različnih ozadjih. Z našo implementacijo pa lahko sedaj dosežete visokokakovosten rezultat že z 10 vhodnimi slikami. Dodali smo tudi avtomatizirano predhodno obdelavo za izločitev vašega obraza iz vsake fotografije. Vse kar potrebujete je, da jasno ujamete bistvo svojega videza iz več perspektiv. Vključite sprednjo fotografijo, profilni posnetek z obeh strani in fotografije iz vmesnih kotov. Vključite tudi fotografije z različnimi obraznimi izrazi, kot so nasmeh, namrščenost in nevtralen izraz. Mešanica izrazov bo modelu omogočila boljšo reprodukcijo vaših edinstvenih potez obraza. Vhodne slike narekujejo kakovost avatarja, ki ga lahko ustvarite. Da bi zagotovili, da je to opravljeno pravilno, priporočamo intuitivno izkušnjo sprednjega uporabniškega vmesnika, ki uporabnika vodi skozi postopek zajema in nalaganja slike.

Sledijo primeri selfie slik pod različnimi koti z različnimi obraznimi izrazi.

Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Natančno prilagodite model stabilne difuzije

Ko so slike naložene v Amazon S3, lahko prikličemo Asinhroni sklep SageMaker končno točko za začetek našega procesa usposabljanja. Asinhrone končne točke so namenjene primerom uporabe sklepanja z velikimi koristnimi obremenitvami (do 1 GB) in dolgimi časi obdelave (do 1 ure). Poleg drugih izvornih funkcij gostovanja SageMaker, kot je samodejno skaliranje, ponuja tudi vgrajen mehanizem čakalne vrste za postavljanje zahtev v čakalno vrsto in mehanizem obveščanja o zaključku naloge prek Amazon SNS.

Čeprav fino uravnavanje ni primer uporabe sklepanja, smo se odločili, da ga tukaj uporabimo namesto izobraževalnih opravil SageMaker zaradi njegovih vgrajenih mehanizmov za čakalno vrsto in obveščanje ter upravljano samodejno skaliranje, vključno z možnostjo zmanjšanja na 0 primerkov, ko storitev ni v uporabi. To nam omogoča enostavno prilagajanje storitve natančnega prilagajanja velikemu številu sočasnih uporabnikov in odpravlja potrebo po implementaciji in upravljanju dodatnih komponent. Vendar ima pomanjkljivost 1 GB obremenitve in 1 uro najdaljšega časa obdelave. Pri našem testiranju smo ugotovili, da je 20 minut dovolj časa za doseganje razmeroma dobrih rezultatov s približno 10 vhodnimi slikami na primerku ml.g5.2xlarge. Vendar bi bilo usposabljanje za SageMaker priporočljiv pristop za obsežnejša dela natančnega prilagajanja.

Za gostovanje asinhrone končne točke moramo opraviti več korakov. Prvi je definiranje našega modela strežnika. Za to objavo uporabljamo Velik vsebnik za sklepanje modela (LMI). LMI poganja DJL Serving, ki je visoko zmogljiva rešitev za streženje modela, ki ni odvisna od programskega jezika. To možnost smo izbrali, ker ima vsebnik sklepanja, ki ga upravlja SageMaker, že veliko izobraževalnih knjižnic, ki jih potrebujemo, kot je Hugging Face Difuzorji in Pospešite. To močno zmanjša količino dela, potrebnega za prilagajanje vsebnika za naše delo natančnega prilagajanja.

Naslednji delček kode prikazuje različico vsebnika LMI, ki smo jo uporabili v našem primeru:

inference_image_uri = ( f"763104351884.dkr.ecr.{region}.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117"
)
print(f"Image going to be used is ---- > {inference_image_uri}")

Poleg tega moramo imeti a serving.properties datoteka, ki konfigurira lastnosti strežbe, vključno z mehanizmom za sklepanje, lokacijo artefakta modela in dinamičnim paketnim združevanjem. Nazadnje moramo imeti a model.py datoteka, ki naloži model v mehanizem sklepanja in pripravi vnos in izhod podatkov iz modela. V našem primeru uporabljamo model.py datoteko za pospešitev opravila natančnega prilagajanja, kar bomo podrobneje razložili v kasnejšem razdelku. Oba serving.properties in model.py datoteke so na voljo v training_service mapa.

Naslednji korak po definiranju našega modelnega strežnika je izdelava konfiguracije končne točke, ki določa, kako bo postrežen naš asinhroni sklep. Za naš primer samo definiramo največjo omejitev sočasnega klicanja in izhodno lokacijo S3. z ml.g5.2xlarge Na primer, ugotovili smo, da lahko natančno prilagodimo do dva modela hkrati, ne da bi naleteli na izjemo zmanjkanja pomnilnika (OOM), zato smo nastavili max_concurrent_invocations_per_instance na 2. To število bo morda treba prilagoditi, če uporabljamo drugačen niz parametrov za uglaševanje ali manjši tip primerka. Priporočamo, da to na začetku nastavite na 1 in spremljate uporabo pomnilnika GPE amazoncloudwatch.

# create async endpoint configuration
async_config = AsyncInferenceConfig( output_path=f"s3://{bucket}/{s3_prefix}/async_inference/output" , # Where our results will be stored max_concurrent_invocations_per_instance=2, notification_config={   "SuccessTopic": "...",   "ErrorTopic": "...", }, #  Notification configuration
)

Nazadnje ustvarimo model SageMaker, ki zapakira informacije vsebnika, datoteke modela in AWS upravljanje identitete in dostopa (IAM) v en sam objekt. Model je razporejen s konfiguracijo končne točke, ki smo jo definirali prej:

model = Model( image_uri=image_uri, model_data=model_data, role=role, env=env
) model.deploy( initial_instance_count=1, instance_type=instance_type, endpoint_name=endpoint_name, async_inference_config=async_inference_config
) predictor = sagemaker.Predictor( endpoint_name=endpoint_name, sagemaker_session=sagemaker_session
)

Ko je končna točka pripravljena, uporabimo naslednjo vzorčno kodo za priklic asinhrone končne točke in začetek postopka natančnega prilagajanja:

sm_runtime = boto3.client("sagemaker-runtime") input_s3_loc = sess.upload_data("data/jw.tar.gz", bucket, s3_prefix) response = sm_runtime.invoke_endpoint_async( EndpointName=sd_tuning.endpoint_name, InputLocation=input_s3_loc)

Za več podrobnosti o LMI na SageMakerju glejte Razmestite velike modele v Amazon SageMaker z vzporednim sklepanjem modelov DJLServing in DeepSpeed.

Po priklicu začne asinhrona končna točka postavljati naše opravilo natančnega prilagajanja v čakalno vrsto. Vsako opravilo poteka skozi naslednje korake: priprava slik, izvedba natančne nastavitve Dreambooth in LoRA ter priprava artefaktov modela. Potopimo se globlje v postopek natančne nastavitve.

Pripravite slike

Kot smo že omenili, kakovost vhodnih slik neposredno vpliva na kakovost natančno nastavljenega modela. Za primer uporabe avatarja želimo, da se model osredotoči na poteze obraza. Namesto da bi od uporabnikov zahtevali, da zagotovijo skrbno izbrane slike točne velikosti in vsebine, izvajamo korak predprocesiranja s tehnikami računalniškega vida, da ublažimo to breme. V koraku predprocesiranja najprej uporabimo model zaznavanja obrazov, da izoliramo največji obraz na vsaki sliki. Nato obrežemo in podložimo sliko na zahtevano velikost 512 x 512 slikovnih pik za naš model. Na koncu segmentiramo obraz iz ozadja in dodamo naključne različice ozadja. To pomaga poudariti poteze obraza, kar našemu modelu omogoča, da se uči iz samega obraza in ne iz ozadja. Naslednje slike prikazujejo tri korake v tem procesu.

Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai. Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai. Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
Korak 1: Zaznavanje obrazov z uporabo računalniškega vida Korak 2: Obrežite in razširite sliko na 512 x 512 slikovnih pik 3. korak (izbirno): Segmentirajte in dodajte različico ozadja

Natančna nastavitev Dreambooth in LoRA

Za fino nastavitev smo združili tehnike Dreambooth in LoRA. Dreambooth vam omogoča, da prilagodite svoj model Stable Diffusion, z vdelavo subjekta v izhodno domeno modela z uporabo edinstvenega identifikatorja in razširitvijo slovarja jezikovne vizije modela. Uporablja metodo, imenovano predhodno konzerviranje ohraniti semantično znanje modela o razredu subjekta, v tem primeru osebe, in uporabiti druge objekte v razredu za izboljšanje končnega rezultata slike. Tako lahko Dreambooth doseže visokokakovostne rezultate s samo nekaj vhodnimi slikami predmeta.

Naslednji delček kode prikazuje vnose v naš trainer.py razreda za našo rešitev za avatarje. Upoštevajte, da smo izbrali <<TOK>> kot enolični identifikator. To je narejeno namenoma, da se izognemo izbiri imena, ki je morda že v slovarju modela. Če ime že obstaja, se mora model odučiti in nato ponovno naučiti predmet, kar lahko povzroči slabe rezultate natančnega prilagajanja. Predmetni razred je nastavljen na “a photo of person”, ki omogoča predhodno ohranitev tako, da najprej ustvari fotografije ljudi, ki se dodajo kot dodatni vložki med postopkom natančnega prilagajanja. To bo pomagalo zmanjšati prekomerno opremljanje, saj poskuša model ohraniti prejšnje znanje osebe z uporabo predhodne metode ohranjanja.

status = trn.run(base_model="stabilityai/stable-diffusion-2-1-base", resolution=512, n_steps=1000, concept_prompt="photo of <<TOK>>", # << unique identifier of the subject learning_rate=1e-4, gradient_accumulation=1, fp16=True, use_8bit_adam=True, gradient_checkpointing=True, train_text_encoder=True, with_prior_preservation=True, prior_loss_weight=1.0, class_prompt="a photo of person", # << subject class num_class_images=50, class_data_dir=class_data_dir, lora_r=128, lora_alpha=1, lora_bias="none", lora_dropout=0.05, lora_text_encoder_r=64, lora_text_encoder_alpha=1, lora_text_encoder_bias="none", lora_text_encoder_dropout=0.05
)

V konfiguraciji so bile omogočene številne možnosti za varčevanje s pomnilnikom, vključno z fp16, use_8bit_adamin kopičenje gradienta. To zmanjša pomnilniški odtis na manj kot 12 GB, kar omogoča natančno nastavitev do dveh modelov hkrati na ml.g5.2xlarge na primer.

LoRA je učinkovita tehnika natančnega prilagajanja za LLM, ki zamrzne večino uteži in pritrdi majhno omrežje adapterjev na določene plasti vnaprej usposobljenega LLM, kar omogoča hitrejše usposabljanje in optimizirano shranjevanje. Za stabilno razširjanje je adapter pritrjen na kodirnik besedila in komponente U-Net inferenčnega cevovoda. Kodirnik besedila pretvori vhodni poziv v latentni prostor, ki ga razume model U-Net, model U-Net pa uporabi latentni pomen za ustvarjanje slike v nadaljnjem procesu razširjanja. Rezultat natančne nastavitve je samo text_encoder in uteži adapterjev U-Net. V času sklepanja je mogoče te uteži znova pritrditi na osnovni model stabilne difuzije za reprodukcijo rezultatov natančne nastavitve.

Spodnje slike so podroben diagram natančnega prilagajanja LoRA, ki ga je zagotovil izvirni avtor: Cheng-Han Chiang, Yung-Sung Chuang, Hung-yi Lee, »AACL_2022_tutorial_PLMs«, 2022

Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai. Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

S kombinacijo obeh metod smo lahko ustvarili personaliziran model, medtem ko smo prilagodili za velikostni red manj parametrov. To je povzročilo veliko hitrejši čas usposabljanja in zmanjšano uporabo GPE. Poleg tega je bil shramba optimizirana s težo adapterja le 70 MB v primerjavi s 6 GB za polni model Stable Diffusion, kar predstavlja 99-odstotno zmanjšanje velikosti.

Pripravite artefakte modela

Ko je fina nastavitev končana, bo korak naknadne obdelave TAR uteži LoRA z ostalimi datotekami za streženje modela za NVIDIA Triton. Uporabljamo zaledje Python, kar pomeni, da sta potrebna konfiguracijska datoteka Triton in skript Python, uporabljen za sklepanje. Upoštevajte, da mora biti skript Python poimenovan model.py. Datoteka TAR končnega modela mora imeti naslednjo strukturo datotek:

|--sd_lora |--config.pbtxt |--1 |--model.py |--output #LoRA weights |--text_encoder |--unet |--train.sh

Gostite natančno nastavljene modele z uporabo SageMaker MME z GPE

Ko so modeli natančno nastavljeni, z uporabo SageMaker MME gostimo prilagojene modele Stable Diffusion. SageMaker MME je zmogljiva funkcija uvajanja, ki omogoča gostovanje več modelov v enem vsebniku za eno končno točko. Samodejno upravlja promet in usmerjanje do vaših modelov, da optimizira uporabo virov, prihrani stroške in minimizira operativno breme upravljanja na tisoče končnih točk. V našem primeru delujemo na instancah GPU, SageMaker MME pa podpirajo GPU s strežnikom Triton. To vam omogoča izvajanje več modelov na eni napravi GPE in izkoriščanje prednosti pospešenega računanja. Za več podrobnosti o tem, kako gostiti Stable Diffusion na SageMaker MME, glejte Ustvarite visokokakovostne slike z modeli Stable Diffusion in jih stroškovno učinkovito uvedite z Amazon SageMaker.

Za naš primer smo naredili dodatno optimizacijo za hitrejše nalaganje natančno nastavljenih modelov med situacijami hladnega zagona. To je mogoče zaradi zasnove adapterja LoRA. Ker so uteži osnovnega modela in okolja Conda enaki za vse natančno nastavljene modele, lahko te skupne vire delimo tako, da jih vnaprej naložimo v vsebnik gostovanja. Tako ostane samo konfiguracijska datoteka Triton, Python backend (model.py), in uteži adapterja LoRA, ki se dinamično naložijo iz Amazona S3 po prvem priklicu. Naslednji diagram prikazuje vzporedno primerjavo.

Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

To bistveno zmanjša datoteko modela TAR s približno 6 GB na 70 MB, zato jo je veliko hitreje naložiti in razpakirati. Za izvedbo prednalaganja v našem primeru smo ustvarili pomožni zaledni model Python models/model_setup. Skript preprosto prekopira osnovni model Stable Diffusion in okolje Conda iz Amazon S3 na skupno lokacijo za skupno rabo med vsemi natančno nastavljenimi modeli. Sledi delček kode, ki izvede nalogo:

def initialize(self, args): #conda env setup self.conda_pack_path = Path(args['model_repository']) / "sd_env.tar.gz" self.conda_target_path = Path("/tmp/conda") self.conda_env_path = self.conda_target_path / "sd_env.tar.gz" if not self.conda_env_path.exists(): self.conda_env_path.parent.mkdir(parents=True, exist_ok=True) shutil.copy(self.conda_pack_path, self.conda_env_path) #base diffusion model setup self.base_model_path = Path(args['model_repository']) / "stable_diff.tar.gz" try: with tarfile.open(self.base_model_path) as tar: tar.extractall('/tmp') self.response_message = "Model env setup successful." except Exception as e: # print the exception message print(f"Caught an exception: {e}") self.response_message = f"Caught an exception: {e}"

Nato bo vsak natančno nastavljen model pokazal na skupno lokacijo na vsebniku. Okolje Conda je navedeno v config.pbtxt.

name: "pipeline_0"
backend: "python"
max_batch_size: 1 ... parameters: { key: "EXECUTION_ENV_PATH", value: {string_value: "/tmp/conda/sd_env.tar.gz"}
}

Osnovni model Stable Diffusion se naloži iz initialize() funkcijo vsakega model.py mapa. Nato uporabimo prilagojene uteži LoRA na unet in text_encoder model za reprodukcijo vsakega natančno nastavljenega modela:

... class TritonPythonModel: def initialize(self, args): self.output_dtype = pb_utils.triton_string_to_numpy( pb_utils.get_output_config_by_name(json.loads(args["model_config"]), "generated_image")["data_type"]) self.model_dir = args['model_repository'] device='cuda' self.pipe = StableDiffusionPipeline.from_pretrained('/tmp/stable_diff', torch_dtype=torch.float16, revision="fp16").to(device) # Load the LoRA weights self.pipe.unet = PeftModel.from_pretrained(self.pipe.unet, unet_sub_dir) if os.path.exists(text_encoder_sub_dir): self.pipe.text_encoder = PeftModel.from_pretrained(self.pipe.text_encoder, text_encoder_sub_dir)

Za sklepanje uporabite natančno nastavljen model

Zdaj lahko preizkusimo naš natančno nastavljen model s priklicem končne točke MME. Vhodni parametri, ki smo jih izpostavili v našem primeru, vključujejo prompt, negative_promptin gen_args, kot je prikazano v naslednjem delčku kode. Nastavimo vrsto podatkov in obliko vsake vnosne postavke v slovarju in ju pretvorimo v niz JSON. Končno koristni niz in TargetModel se posredujejo v zahtevo za ustvarjanje slike vašega avatarja.

import random prompt = """<<TOK>> epic portrait, zoomed out, blurred background cityscape, bokeh, perfect symmetry, by artgem, artstation ,concept art,cinematic lighting, highly detailed, octane, concept art, sharp focus, rockstar games, post processing, picture of the day, ambient lighting, epic composition""" negative_prompt = """
beard, goatee, ugly, tiling, poorly drawn hands, poorly drawn feet, poorly drawn face, out of frame, extra limbs, disfigured, deformed, body out of frame, blurry, bad anatomy, blurred, watermark, grainy, signature, cut off, draft, amateur, multiple, gross, weird, uneven, furnishing, decorating, decoration, furniture, text, poor, low, basic, worst, juvenile, unprofessional, failure, crayon, oil, label, thousand hands """ seed = random.randint(1, 1000000000) gen_args = json.dumps(dict(num_inference_steps=50, guidance_scale=7, seed=seed)) inputs = dict(prompt = prompt, negative_prompt = negative_prompt, gen_args = gen_args) payload = { "inputs": [{"name": name, "shape": [1,1], "datatype": "BYTES", "data": [data]} for name, data in inputs.items()]
} response = sm_runtime.invoke_endpoint( EndpointName=endpoint_name, ContentType="application/octet-stream", Body=json.dumps(payload), TargetModel="sd_lora.tar.gz",
)
output = json.loads(response["Body"].read().decode("utf8"))["outputs"]
original_image = decode_image(output[0]["data"][0])
original_image

Čiščenje

Sledite navodilom v razdelku o čiščenju zvezka, da izbrišete vire, ki so na voljo kot del te objave, da se izognete nepotrebnim stroškom. Nanašati se na Cene Amazon SageMaker za podrobnosti o stroških primerov sklepanja.

zaključek

V tej objavi smo pokazali, kako ustvariti prilagojeno rešitev za avatar z uporabo Stable Diffusion na SageMaker. S fino nastavitvijo vnaprej usposobljenega modela z le nekaj slikami lahko ustvarimo avatarje, ki odražajo individualnost in osebnost vsakega uporabnika. To je samo eden od mnogih primerov, kako lahko uporabimo generativno umetno inteligenco za ustvarjanje prilagojenih in edinstvenih izkušenj za uporabnike. Možnosti so neskončne in spodbujamo vas, da preizkusite to tehnologijo in raziščete njen potencial za izboljšanje ustvarjalnega procesa. Upamo, da je bila ta objava informativna in navdihujoča. Spodbujamo vas, da preizkusite primer in delite svoje stvaritve z nami z uporabo hashtagov #sagemaker #mme #genai na družbenih platformah. Radi bi videli, kaj naredite.

Poleg Stable Diffusion so na voljo številni drugi generativni modeli AI Amazon SageMaker JumpStart. Nanašati se na Kako začeti z Amazon SageMaker JumpStart da raziščejo svoje zmožnosti.


O avtorjih

Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.James Wu je višji specialist za AI/ML rešitve pri AWS. pomoč strankam pri načrtovanju in izdelavi rešitev AI/ML. Jamesovo delo pokriva širok spekter primerov uporabe ML, s primarnim zanimanjem za računalniški vid, globoko učenje in razširjanje ML v podjetju. Preden se je pridružil podjetju AWS, je bil James več kot 10 let arhitekt, razvijalec in tehnološki vodja, od tega 6 let v inženiringu in 4 leta v trženju in oglaševalski industriji.

Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Simon Zamarin je arhitekt rešitev AI / ML, katerega glavni poudarek je pomagati strankam izvleči vrednost iz njihovih podatkovnih sredstev. V prostem času Simon rad preživlja čas z družino, bere znanstvene fantastike in dela na različnih hišnih projektih.

Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Vikram Elango je specialist za rešitve AI/ML pri Amazon Web Services s sedežem v Virginiji, ZDA. Vikram pomaga strankam v finančni in zavarovalniški industriji z oblikovanjem, miselnim vodstvom za izdelavo in uvajanje aplikacij strojnega učenja v velikem obsegu. Trenutno je osredotočen na obdelavo naravnega jezika, odgovorno umetno inteligenco, optimizacijo sklepanja in skaliranje ML v podjetju. V prostem času uživa v potovanjih, pohodništvu, kuhanju in kampiranju z družino.

Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Lana Zhang je višji arhitekt rešitev pri AWS WWSO AI Services team, specializiran za AI in ML za moderiranje vsebine, računalniški vid in obdelavo naravnega jezika. S svojim strokovnim znanjem je predana promociji rešitev AWS AI/ML in pomoči strankam pri preoblikovanju njihovih poslovnih rešitev v različnih panogah, vključno z družbenimi mediji, igrami, e-trgovino ter oglaševanjem in trženjem.

Build a personalized avatar with generative AI using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Saurabh Trikande je višji produktni vodja za Amazon SageMaker Inference. Navdušen je nad delom s strankami in ga motivira cilj demokratizacije strojnega učenja. Osredotoča se na ključne izzive, povezane z uvajanjem kompleksnih aplikacij ML, modelov ML z več najemniki, optimizacijo stroškov in zagotavljanjem dostopnosti uvajanja modelov globokega učenja. V prostem času Saurabh uživa v pohodništvu, spoznavanju inovativnih tehnologij, spremlja TechCrunch in preživlja čas s svojo družino.

Časovni žig:

Več od Strojno učenje AWS