Generowanie tekstu na obraz to zadanie, w którym model uczenia maszynowego (ML) generuje obraz z opisu tekstowego. Celem jest wygenerowanie obrazu, który będzie ściśle odpowiadał opisowi, uchwyciwszy szczegóły i niuanse tekstu. To zadanie jest trudne, ponieważ wymaga od modelu zrozumienia semantyki i składni tekstu oraz generowania fotorealistycznych obrazów. Istnieje wiele praktycznych zastosowań generowania tekstu na obraz w fotografii AI, grafikach koncepcyjnych, architekturze budynków, modzie, grach wideo, projektowaniu graficznym i wielu innych.
Stabilna dyfuzja to model zamiany tekstu na obraz, który umożliwia tworzenie wysokiej jakości obrazów w ciągu kilku sekund. Gdy celem jest interakcja w czasie rzeczywistym z tego typu modelem, zapewnienie płynnego doświadczenia użytkownika zależy od użycia przyspieszonego sprzętu do wnioskowania, takiego jak GPU lub Inferencja AWS2, własny akcelerator wnioskowania ML firmy Amazon. Wysokie koszty związane z używaniem procesorów graficznych zwykle wymagają optymalizacji wykorzystania podstawowych mocy obliczeniowych, tym bardziej, gdy trzeba wdrożyć różne architektury lub spersonalizowane (dopracowane) modele. Amazon Sage Maker wielomodelowe punkty końcowe (MME) pomagają rozwiązać ten problem, pomagając skalować tysiące modeli w jednym punkcie końcowym. Korzystając ze współdzielonego kontenera do obsługi, możesz hostować wiele modeli w ekonomiczny i skalowalny sposób w tym samym punkcie końcowym, a nawet na tym samym GPU.
W tym poście dowiesz się o architekturach modeli stabilnej dyfuzji, różnych typach modeli stabilnej dyfuzji oraz technikach poprawiania jakości obrazu. Pokazujemy również, jak oszczędnie wdrażać modele stabilnej dyfuzji przy użyciu oprogramowania SageMaker MME i serwera wnioskowania NVIDIA Triton.
Podpowiedź: portret uroczego berneńczyka, grafika Elke Vogelsang, 8k ultrarealistyczny, zyskujący popularność na artstation, 4k | Prompt: projekt architektoniczny salonu, 8k ultrarealistyczny, 4k, hiperrealistyczny, skupiony, ekstremalne detale | Podpowiedź: panoramę Nowego Jorku nocą, 8k, długie ujęcie, silnik unreal engine 5, film, arcydzieło |
Stabilna architektura dyfuzyjna
Stabilna dyfuzja to model typu open source zamiany tekstu na obraz, którego można używać do tworzenia obrazów o różnych stylach i treściach, po prostu wyświetlając monit tekstowy. W kontekście generowania tekstu na obraz model dyfuzji jest modelem generatywnym, którego można użyć do generowania wysokiej jakości obrazów z opisów tekstowych. Modele dyfuzji to rodzaj modelu generatywnego, który może uchwycić złożone zależności między modalnościami wejściowymi i wyjściowymi, tekstem i obrazami.
Na poniższym diagramie przedstawiono architekturę wysokiego poziomu modelu stabilnej dyfuzji.
Składa się z następujących kluczowych elementów:
- Koder tekstu – CLIP to oparty na transformatorach model kodera tekstu, który pobiera tekst zachęty i konwertuje go na osadzenie tokenów, które reprezentują każde słowo w tekście. CLIP jest szkolony na zbiorze danych obrazów i ich podpisów, kombinacji kodera obrazu i kodera tekstu.
- U-Net – Model U-Net pobiera osadzanie tokenów z CLIP wraz z tablicą zaszumionych wejść i generuje odszumione dane wyjściowe. Dzieje się tak poprzez serię iteracyjnych kroków, w których każdy krok przetwarza wejściowy tensor utajony i tworzy nowy utajony tensor przestrzeni, który lepiej reprezentuje tekst wejściowy.
- Automatyczny enkoder-dekoder – Ten model tworzy ostateczne obrazy. Pobiera ostateczny odszumiony ukryty wynik z modelu U-Net i konwertuje go na obrazy reprezentujące wprowadzany tekst.
Rodzaje modeli stabilnej dyfuzji
W tym poście omawiamy następujące wstępnie wytrenowane modele Stable Diffusion opracowane przez Stability AI z centrum modeli Hugging Face.
stabilna dyfuzja-2-1-zasada
Użyj tego modelu do generowania obrazów na podstawie monitu tekstowego. Jest to podstawowa wersja modelu, na którym trenowano LAION-5B. Model został przeszkolony na podzbiorze zbioru danych na dużą skalę LAION-5B, i głównie z angielskimi napisami. Używamy StableDiffusionPipeline
z diffusers
biblioteka do generowania obrazów z monitów tekstowych. Ten model może tworzyć obrazy o wymiarach 512 x 512. Wykorzystuje następujące parametry:
- podpowiedź – Monitem może być słowo tekstowe, fraza, zdania lub akapity.
- negatywna_prompt – Można również przekazać monit negatywny, aby wykluczyć określone elementy z procesu generowania obrazu i poprawić jakość generowanych obrazów.
- skala_wskazówek – Wyższa skala prowadzenia powoduje, że obraz jest bardziej zbliżony do monitu, kosztem jakości obrazu. Jeśli określono, musi to być liczba zmiennoprzecinkowa.
stabilna-dyfuzja-2-głębokość
Ten model służy do generowania nowych obrazów z istniejących przy jednoczesnym zachowaniu kształtu i głębi obiektów w oryginalnym obrazie. Ten stable-diffusion-2-depth model
jest dostrojony od stabilna dyfuzja-2-zasada, dodatkowy kanał wejściowy do przetwarzania (względnej) prognozy głębokości. Używamy StableDiffusionDepth2ImgPipeline
z diffusers
bibliotekę, aby załadować potok i wygenerować obrazy głębi. Poniżej przedstawiono dodatkowe parametry charakterystyczne dla modelu głębokości:
- obraz – Początkowy obraz warunkujący generowanie nowych obrazów.
- liczba_kroków_wnioskowania (opcjonalne) – Liczba kroków odszumiania. Więcej kroków odszumiania zwykle prowadzi do uzyskania obrazu o wyższej jakości kosztem wolniejszego wnioskowania. Ten parametr jest modulowany przez
strength
. - siła (opcjonalnie) – Koncepcyjnie wskazuje to, jak bardzo należy przekształcić obraz referencyjny. Wartość musi mieścić się w zakresie od 0 do 1.
image
jest używany jako punkt wyjścia, dodając do niego więcej szumu, im większa siła. Liczba etapów odszumiania zależy od ilości szumu dodawanego początkowo. Gdystrength
wynosi 1, dodany szum będzie maksymalny, a proces usuwania szumów będzie przebiegał przez pełną liczbę iteracji określoną wnum_inference_steps
. Dlatego wartość 1 zasadniczo ignorujeimage
. Aby uzyskać więcej informacji, zapoznaj się z poniższymi informacjami kod.
stabilne-dyfuzyjne-2-malowanie
Możesz użyć tego modelu do przypadków użycia przywracania obrazu AI. Możesz go również użyć do tworzenia nowatorskich projektów i obrazów na podstawie podpowiedzi i dodatkowych argumentów. Ten model również wywodzi się z modelu podstawowego i ma strategię generowania masek. Określa maskę oryginalnego obrazu reprezentującą segmenty do zmiany i segmenty do pozostawienia bez zmian. Używamy StableDiffusionUpscalePipeline
z diffusers
biblioteka, aby zastosować zmiany malowania na oryginalnym obrazie. Poniższy dodatkowy parametr jest specyficzny dla modelu głębokości:
- wejście_maski – Obraz, w którym zaciemniona część pozostaje niezmieniona podczas generowania obrazu, a biała część jest zastępowana
stabilna dyfuzja-x4-upscaler
Ten model również wywodzi się z modelu podstawowego, dodatkowo trenowanego na 10M podzbiorze LAION zawierającym obrazy 2048 x 2048. Jak sama nazwa wskazuje, można go użyć do przeskalowania obrazów o niższej rozdzielczości do wyższych rozdzielczości
Omówienie przypadków użycia
W tym poście wdrażamy usługę obrazu AI z wieloma możliwościami, w tym generowaniem nowych obrazów z tekstu, zmienianiem stylów istniejących obrazów, usuwaniem niechcianych obiektów z obrazów i skalowaniem obrazów o niskiej rozdzielczości do wyższych rozdzielczości. Używając kilku wariantów modeli stabilnej dyfuzji, możesz zająć się wszystkimi tymi przypadkami użycia w jednym punkcie końcowym SageMaker. Oznacza to, że będziesz musiał hostować dużą liczbę modeli w wydajny, skalowalny i ekonomiczny sposób. W tym poście pokazujemy, jak w ekonomiczny sposób wdrożyć wiele modeli stabilnej dyfuzji przy użyciu oprogramowania SageMaker MME i serwera wnioskowania NVIDIA Triton. Dowiesz się o szczegółach implementacji, technikach optymalizacji i najlepszych praktykach pracy z modelami zamiany tekstu na obraz.
Poniższa tabela podsumowuje modele stabilnej dystrybucji, które wdrażamy w SageMaker MME.
Nazwa modelu | Rozmiar modelu w 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 |
Omówienie rozwiązania
Wdrażanie modeli Stable Diffusion w SageMaker MME obejmuje następujące kroki:
- Użyj hubu Hugging Face, aby pobrać modele Stable Diffusion do lokalnego katalogu. To się pobierze
scheduler, text_encoder, tokenizer, unet, and vae
dla każdego modelu stabilnej dystrybucji do odpowiedniego katalogu lokalnego. Używamyrevision="fp16"
wersja modelu. - Skonfiguruj repozytorium modeli NVIDIA Triton, konfiguracje modeli i logikę udostępniania modeli
model.py
. Triton używa tych artefaktów do obsługi prognoz. - Spakuj środowisko conda z dodatkowymi zależnościami i repozytorium modeli pakietów, które mają zostać wdrożone w SageMaker MME.
- Spakuj artefakty modelu w formacie specyficznym dla NVIDIA Triton i prześlij
model.tar.gz
do Usługa Amazon Simple Storage (Amazon S3). Model posłuży do generowania obrazów. - Skonfiguruj model SageMaker, konfigurację punktu końcowego i wdróż SageMaker MME.
- Uruchom wnioskowanie i wyślij monity do punktu końcowego SageMaker, aby wygenerować obrazy przy użyciu modelu stabilnej dyfuzji. Określamy
TargetModel
zmiennej i wywoływać różne modele stabilnej dyfuzji, aby wizualnie porównywać wyniki.
Opublikowaliśmy kod implementujący architekturę tego rozwiązania w środowisku GitHub repo. Postępuj zgodnie z instrukcjami README, aby rozpocząć.
Obsługuj modele za pomocą zaplecza NVIDIA Triton Inference Server w języku Python
Używamy zaplecza Triton Python do wdrożenia modelu potoku Stable Diffusion w SageMaker MME. Backend Pythona pozwala obsługiwać modele napisane w Pythonie przez Triton Inference Server. Aby korzystać z backendu Pythona, musisz utworzyć plik Pythona model.py
który ma następującą strukturę: Każdy backend Pythona może zaimplementować cztery główne funkcje w TritonPythonModel
klasa:
Każdy backend Pythona może zaimplementować cztery główne funkcje w TritonPythonModel
klasa: auto_complete_config
, initialize
, execute
, finalize
.
initialize
jest wywoływana podczas ładowania modelu. Realizowanie initialize
jest opcjonalne. initialize
umożliwia wykonanie wszelkich niezbędnych inicjalizacji przed uruchomieniem wnioskowania. w initialize
funkcji, tworzymy potok i ładujemy potoki za pomocą from_pretrained
punkty kontrolne. Konfigurujemy harmonogramy z konfiguracji harmonogramu potoku pipe.scheduler.config
. Na koniec określamy xformers
optymalizacje, aby umożliwić xformer
parametr wydajności pamięci enable_xformers_memory_efficient_attention
. Więcej szczegółów udzielamy nt xformers
później w tym poście. Możesz odwołać się do model.py każdego modelu, aby zrozumieć różne szczegóły potoku. Ten plik można znaleźć w repozytorium modelu.
Połączenia execute
funkcja jest wywoływana za każdym razem, gdy wysyłane jest żądanie wnioskowania. Każdy model Pythona musi implementować execute
funkcjonować. w execute
funkcji, otrzymasz listę InferenceRequest
obiekty. Przekazujemy monit o tekst wejściowy do potoku, aby uzyskać obraz z modelu. Obrazy są dekodowane, a wygenerowany obraz jest zwracany z tego wywołania funkcji.
Tensor wejściowy otrzymujemy od nazwy zdefiniowanej w konfiguracji modelu config.pbtxt
plik. Z żądania wnioskowania otrzymujemy prompt
, negative_prompt
, gen_args
i rozszyfrować je. Przekazujemy wszystkie argumenty do obiektu potoku modelowego. Zakoduj obraz, aby zwrócić wygenerowane prognozy obrazu. Możesz odnieść się do config.pbtxt
plik każdego modelu, aby zrozumieć różne szczegóły potoku. Ten plik można znaleźć w repozytorium modelu. Na koniec zawijamy wygenerowany obraz w InferenceResponse
i zwróć odpowiedź.
Wdrożenie finalize
jest opcjonalne. Ta funkcja pozwala na wykonanie wszelkich niezbędnych porządków przed wyładowaniem modelu z Triton Inference Server.
Podczas pracy z zapleczem Pythona obowiązkiem użytkownika jest upewnienie się, że dane wejściowe są przetwarzane w sposób wsadowy i że odpowiedzi są odpowiednio odsyłane. Aby to osiągnąć, zalecamy wykonanie następujących kroków:
- Przejrzyj wszystkie żądania w pliku
requests
sprzeciwić się utworzeniu abatched_input
. - Uruchom wnioskowanie na
batched_input
. - Podziel wyniki na wiele
InferenceResponse
obiektów i połącz je jako odpowiedzi.
Patrz: Dokumentacja zaplecza Triton Python or Hostuj modele ML w Amazon SageMaker za pomocą zaplecza Triton: Python by uzyskać więcej szczegółów.
Repozytorium i konfiguracja modelu NVIDIA Triton
Repozytorium modelu zawiera skrypt obsługujący model, artefakty modelu i artefakty tokenizera, spakowane środowisko Conda (z zależnościami potrzebnymi do wnioskowania), plik konfiguracyjny Triton oraz skrypt Pythona używany do wnioskowania. To ostatnie jest obowiązkowe, gdy używasz backendu Pythona i powinieneś używać pliku Pythona model.py
. Przyjrzyjmy się plikowi konfiguracyjnemu modelu stabilnej dyfuzji inpaint i zapoznajmy się z różnymi określonymi opcjami:
Poniższa tabela wyjaśnia różne parametry i wartości:
Klawisz | Szczegóły |
name |
Nie jest wymagane uwzględnienie właściwości nazwy konfiguracji modelu. W przypadku, gdy konfiguracja nie określa nazwy modelu, zakłada się, że jest ona identyczna z nazwą katalogu repozytorium modelu, w którym przechowywany jest model. Jeśli jednak podano nazwę, musi ona być zgodna z nazwą katalogu repozytorium modelu, w którym przechowywany jest model. sd_inpaint jest nazwą właściwości konfiguracyjnej. |
backend |
To określa ramy Triton do obsługi przewidywań modelu. Jest to parametr obowiązkowy. określamy python , ponieważ będziemy używać backendu Triton Python do hostowania modeli Stable Diffusion. |
max_batch_size |
Wskazuje maksymalny rozmiar partii obsługiwany przez model dla rodzaje dozowania które może wykorzystać Triton. |
input→ prompt |
Monit tekstowy typu string. Podaj -1, aby zaakceptować dynamiczny kształt tensora. |
input→ negative_prompt |
Monit tekstowy wykluczający typu string. Podaj -1, aby zaakceptować dynamiczny kształt tensora. |
input→ mask_image |
Zakodowany w formacie Base64 obraz maski typu string. Podaj -1, aby zaakceptować dynamiczny kształt tensora. |
input→ image |
Zakodowany w formacie Base64 obraz typu string. Podaj -1, aby zaakceptować dynamiczny kształt tensora. |
input→ gen_args |
JSON zakodował dodatkowe argumenty typu string. Podaj -1, aby zaakceptować dynamiczny kształt tensora. |
output→ generated_image |
Wygenerowany obraz typu string. Podaj -1, aby zaakceptować dynamiczny kształt tensora. |
instance_group |
Możesz użyć tego ustawienia, aby umieścić wiele uruchomień modelu na każdym GPU lub tylko na niektórych GPU. określamy KIND_GPU wykonać kopie modelu na dostępnych GPU. |
parameters |
Ustawiliśmy ścieżkę środowiska conda na EXECUTION_ENV_PATH . |
Aby uzyskać szczegółowe informacje na temat repozytorium modeli i konfiguracji innych modeli stabilnej dyfuzji, zapoznaj się z kodem w pliku GitHub repo. Każdy katalog zawiera artefakty dla określonych modeli stabilnej dystrybucji.
Spakuj środowisko conda i rozszerz kontener SageMaker Triton
Obrazy kontenerów SageMaker NVIDIA Triton nie zawierają bibliotek takich jak transformer, accelerate, and diffusers
wdrażać i obsługiwać modele stabilnej dystrybucji. Jednak Triton pozwala na wprowadzenie dodatkowych zależności za pomocą pakiet conda. Zacznijmy od utworzenia środowiska conda z niezbędnymi zależnościami opisanymi w pliku environment.yml
plik i utwórz artefakt modelu tar sd_env.tar.gz
plik zawierający środowisko conda z zainstalowanymi w nim zależnościami. Uruchom następujący plik YML, aby utworzyć plik conda-pack
artefakt i skopiuj artefakt do lokalnego katalogu, z którego zostanie przesłany do Amazon S3. Zauważ, że będziemy przesyłać artefakty conda jako jeden z modeli w MME i wywoływać ten model w celu skonfigurowania środowiska conda w instancji hostującej ML SageMaker.
Prześlij artefakty modelu do Amazon S3
SageMaker oczekuje, że plik .tar.gz zawierający repozytorium każdego modelu Triton będzie hostowany na wielomodelowym punkcie końcowym. Dlatego tworzymy artefakt tar z zawartością z repozytorium modelu Triton. Możemy użyć tego zasobnika S3 do hostowania tysięcy artefaktów modeli, a SageMaker MME użyje modeli z tej lokalizacji do dynamicznego ładowania i obsługi dużej liczby modeli. Przechowujemy wszystkie modele Stable Diffusion w tej lokalizacji Amazon S3.
Wdróż SageMaker MME
W tej sekcji przeprowadzimy Cię krok po kroku, aby wdrożyć SageMaker MME, definiując specyfikację kontenera, model SageMaker i konfiguracje punktów końcowych.
Zdefiniuj pojemnik do serwowania
W definicji kontenera zdefiniuj ModelDataUrl
aby określić katalog S3, który zawiera wszystkie modele, których SageMaker MME będzie używać do ładowania i udostępniania prognoz. Ustawić Mode
do MultiModel
aby wskazać, że SageMaker utworzy punkt końcowy ze specyfikacją kontenera MME. Ustawiliśmy kontener z obrazem, który obsługuje wdrażanie MME z GPU. Widzieć Obsługiwane algorytmy, struktury i instancje by uzyskać więcej szczegółów.
Widzimy wszystkie trzy artefakty modelu w następującym Amazon S3 ModelDataUrl
lokalizacja:
Utwórz obiekt MME
Używamy klienta SageMaker Boto3 do stworzenia modelu za pomocą utwórz_model API. Definicję kontenera przekazujemy do API tworzenia modelu wraz z ModelName
i ExecutionRoleArn
:
Zdefiniuj konfiguracje dla MME
Utwórz konfigurację MME przy użyciu pliku stwórz_konfigurację_punktu końcowego Boto3 API. Określ przyspieszoną instancję obliczeń GPU w InstanceType
(używamy tego samego typu instancji, którego używamy do hostowania naszego notatnika SageMaker). Zalecamy skonfigurowanie punktów końcowych z co najmniej dwiema instancjami z rzeczywistymi przypadkami użycia. Dzięki temu SageMaker może zapewnić wysoce dostępny zestaw prognoz w wielu strefach dostępności dla modeli.
Utwórz MME
Użyj powyższej konfiguracji punktu końcowego, aby utworzyć nowy punkt końcowy SageMaker i poczekaj na zakończenie wdrażania:
Status zmieni się na InService
gdy wdrożenie zakończy się pomyślnie.
Generuj obrazy przy użyciu różnych wersji modeli stabilnej dyfuzji
Zacznijmy od wywołania modelu podstawowego z monitem i pobrania wygenerowanego obrazu. Dane wejściowe przekazujemy do modelu podstawowego za pomocą prompt, negative_prompt, and gen_args
jako słownik. Ustawiamy typ danych i kształt każdego elementu wejściowego w słowniku i przekazujemy go jako dane wejściowe do modelu.
Podpowiedź: basen bez krawędzi na szczycie wieżowca z widokiem na Central Park
Pracując z tym obrazem, możemy go zmodyfikować za pomocą wszechstronnego modelu głębokości stabilnej dyfuzji. Na przykład możemy zmienić styl obrazu na obraz olejny lub zmienić ustawienie z Central Parku na Park Narodowy Yellowstone, po prostu przekazując oryginalny obraz wraz z monitem opisującym zmiany, które chcielibyśmy zobaczyć.
Wywołujemy model głębi poprzez określenie sd_depth.tar.gz
TargetModel
ukończenia invoke_endpoint
wywołanie funkcji. Zwróć uwagę, jak zachowana jest orientacja oryginalnego obrazu na wydrukach, ale na przykład budynki Nowego Jorku zostały przekształcone w formacje skalne o tym samym kształcie.
Oryginalny obraz | Obraz olejny | Park Yellowstone |
Kolejnym przydatnym modelem jest inpainting Stable Diffusion, za pomocą którego możemy usunąć pewne fragmenty obrazu. Załóżmy, że chcesz usunąć drzewo z poniższego przykładowego obrazu. Możemy to zrobić, wywołując model inpaint sd_inpaint.tar.gz.
Aby usunąć drzewo, musimy przejść a mask_image
, który wskazuje, które obszary obrazu powinny zostać zachowane, a które wypełnione. Część czarnego piksela obrazu maski wskazuje obszary, które powinny pozostać niezmienione, a białe piksele wskazują, co należy zastąpić.
Oryginalny obraz | Obraz maski | Pomaluj obraz |
W naszym ostatnim przykładzie zmniejszamy rozmiar oryginalnego obrazu, który został wygenerowany wcześniej, z rozdzielczości 512 x 512 do 128 x 128. Następnie wywołujemy model skalowania Stable Diffusion, aby przeskalować obraz z powrotem do 512 x 512. Używamy tego samego monitu do skalowania w górę obraz jako to, czego użyliśmy do wygenerowania obrazu początkowego. Chociaż nie jest to konieczne, podanie monitu opisującego obraz pomaga pokierować procesem skalowania i powinno prowadzić do lepszych wyników.
Obraz o niskiej rozdzielczości | Przeskalowany obraz |
Chociaż przeskalowany obraz nie jest tak szczegółowy jak oryginał, jest to wyraźna poprawa w stosunku do obrazu o niskiej rozdzielczości.
Zoptymalizuj pod kątem pamięci i szybkości
Połączenia xformers
biblioteka to sposób na przyspieszenie generowania obrazu. Ta optymalizacja jest dostępna tylko dla procesorów graficznych NVIDIA. Przyspiesza generowanie obrazu i zmniejsza zużycie pamięci VRAM. Korzystaliśmy z xformers
biblioteka zapewniająca efektywną pamięć i szybkość. Kiedy enable_xformers_memory_efficient_attention
opcja jest włączona, należy zaobserwować mniejsze zużycie pamięci GPU i potencjalne przyspieszenie w czasie wnioskowania.
Sprzątać
Postępuj zgodnie z instrukcjami zawartymi w sekcji czyszczenia notatnika, aby usunąć część tego bloga z udostępnionymi zasobami, aby uniknąć niepotrzebnych opłat. Wspominać Cennik Amazon SageMaker aby uzyskać szczegółowe informacje na temat kosztów instancji wnioskowania.
Wnioski
W tym poście omówiliśmy modele Stable Diffusion oraz sposoby efektywnego kosztowo wdrażania różnych wersji modeli Stable Diffusion przy użyciu wielomodelowych punktów końcowych SageMaker. Możesz użyć tego podejścia do zbudowania narzędzia do generowania i edytowania obrazów twórców. Sprawdź przykłady kodu w GitHub repo na początek i daj nam znać o fajnym generatywnym narzędziu sztucznej inteligencji, które tworzysz.
O autorach
Szymon Zamarin jest architektem rozwiązań AI / ML, którego głównym celem jest pomoc klientom w wydobyciu wartości z ich zasobów danych. W wolnym czasie Simon lubi spędzać czas z rodziną, czytając sci-fi i pracując nad różnymi projektami domowymi.
Vikrama Elango jest Starszym Architektem Rozwiązań Specjalistycznych AI/ML w AWS z siedzibą w Wirginii w USA. Obecnie koncentruje się na generatywnej sztucznej inteligencji, LLM, szybkiej inżynierii, optymalizacji wnioskowania dużych modeli i skalowaniu uczenia maszynowego w przedsiębiorstwach. Vikram pomaga klientom z branży finansowej i ubezpieczeniowej w projektowaniu i architekturze w celu tworzenia i wdrażania aplikacji ML na dużą skalę. W wolnym czasie lubi podróżować, wędrować, gotować i biwakować z rodziną.
Joao Moura jest Architektem Rozwiązań Specjalistycznych AI/ML w AWS z siedzibą w Hiszpanii. Pomaga klientom w szkoleniu modeli głębokiego uczenia i optymalizacji wnioskowania, a szerzej w budowaniu platform ML na dużą skalę na AWS. Jest również aktywnym orędownikiem sprzętu wyspecjalizowanego w ML i niskokodowych rozwiązań ML.
Saurabha Trikande jest starszym menedżerem produktu w firmie Amazon SageMaker Inference. Pasjonuje go praca z klientami i motywuje go cel, jakim jest demokratyzacja uczenia maszynowego. Koncentruje się na podstawowych wyzwaniach związanych z wdrażaniem złożonych aplikacji ML, wielodostępnych modeli ML, optymalizacji kosztów oraz zwiększaniem dostępności wdrażania modeli uczenia głębokiego. W wolnym czasie Saurabh lubi wędrować, poznawać innowacyjne technologie, śledzić TechCrunch i spędzać czas z rodziną.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoAiStream. Analiza danych Web3. Wiedza wzmocniona. Dostęp tutaj.
- Wybijanie przyszłości w Adryenn Ashley. Dostęp tutaj.
- Kupuj i sprzedawaj akcje spółek PRE-IPO z PREIPO®. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/create-high-quality-images-with-stable-diffusion-models-and-deploy-them-cost-efficiently-with-amazon-sagemaker/
- :ma
- :Jest
- :nie
- :Gdzie
- $W GÓRĘ
- 1
- 10
- 100
- 11
- 12
- 15%
- 17
- 22
- 23
- 24
- 30
- 7
- 8
- 8k
- 9
- a
- O nas
- przyśpieszyć
- przyśpieszony
- akcelerator
- Akceptuj
- dostępny
- odpowiednio
- Osiągać
- w poprzek
- aktywny
- w dodatku
- dodanie
- Dodatkowy
- do tego
- adres
- AI
- AI / ML
- Algorytmy
- Wszystkie kategorie
- pozwala
- wzdłuż
- również
- Amazonka
- Amazon Sage Maker
- Amazon Web Services
- ilość
- an
- i
- każdy
- api
- aplikacje
- Aplikuj
- podejście
- architektura
- SĄ
- argumenty
- Szyk
- Sztuka
- AS
- Aktywa
- At
- Uwaga
- dostępność
- dostępny
- uniknąć
- AWS
- z powrotem
- Backend
- baza
- na podstawie
- BE
- bo
- być
- zanim
- jest
- BEST
- Najlepsze praktyki
- Ulepsz Swój
- pomiędzy
- Czarny
- Blog
- plama
- ciało
- przynieść
- szeroko
- budować
- Budowanie
- ale
- by
- wezwanie
- nazywa
- CAN
- możliwości
- podpisy
- zdobyć
- Przechwytywanie
- walizka
- Etui
- centralny
- pewien
- wyzwania
- wyzwanie
- zmiana
- zmieniony
- Zmiany
- wymiana pieniędzy
- Kanał
- Opłaty
- ZOBACZ
- filmowy
- klasa
- klient
- dokładnie
- kod
- połączenie
- porównać
- kompleks
- obliczać
- computing
- pojęcie
- Koncepcyjnie
- warunek
- systemu
- zawierać
- Pojemnik
- zawiera
- zawartość
- kontekst
- Chłodny
- rdzeń
- Odpowiedni
- Koszty:
- opłacalne
- Koszty:
- Stwórz
- stworzony
- tworzy
- Tworzenie
- twórca
- Obecnie
- Klientów
- dane
- głęboko
- głęboka nauka
- zdefiniowane
- definiowanie
- Demokratyzować
- zależy
- rozwijać
- wdrażane
- wdrażanie
- Wdrożenie
- głębokość
- Pochodny
- opis
- Wnętrze
- projekty
- detal
- szczegółowe
- detale
- różne
- Transmitowanie
- Wymiary
- omówione
- DIY
- do
- Nie
- Pies
- nie
- pobieranie
- podczas
- dynamiczny
- dynamicznie
- każdy
- Wcześniej
- wydajny
- Elementy
- upoważnia
- umożliwiać
- włączony
- Punkt końcowy
- silnik
- Silnik 5
- Inżynieria
- Angielski
- wzmacniać
- zapewnić
- zapewnienie
- przedsiębiorstwa
- Środowisko
- istotnie
- Parzyste
- wydarzenie
- Każdy
- przykład
- Przede wszystkim system został opracowany
- oczekuje
- doświadczenie
- Objaśnia
- eksploatowany
- odkryj
- rozciągać się
- dodatkowy
- wyciąg
- skrajny
- Twarz
- członków Twojej rodziny
- Moda
- filet
- wypełniony
- finał
- W końcu
- budżetowy
- koniec
- pływak
- Skupiać
- koncentruje
- koncentruje
- obserwuj
- następujący
- W razie zamówieenia projektu
- Nasz formularz
- format
- znaleziono
- cztery
- Framework
- Ramy
- od
- pełny
- funkcjonować
- Funkcje
- Games
- Generować
- wygenerowane
- generuje
- generujący
- generacja
- generatywny
- generatywna sztuczna inteligencja
- otrzymać
- miejsce
- GitHub
- dany
- cel
- GPU
- GPU
- Graficzny
- poradnictwo
- poprowadzi
- dzieje
- sprzęt komputerowy
- Have
- he
- pomoc
- pomoc
- pomaga
- Wysoki
- na wysokim szczeblu
- wysokiej jakości
- wyższy
- wysoko
- jego
- gospodarz
- hostowane
- Hosting
- dom
- W jaki sposób
- How To
- Jednak
- HTML
- http
- HTTPS
- Piasta
- identiques
- if
- obraz
- zdjęcia
- wdrożenia
- realizacja
- wykonawczych
- poprawa
- in
- zawierać
- Włącznie z
- wskazać
- wskazuje
- przemysł
- Nieskończoność
- początkowy
- początkowo
- Innowacyjny
- innowacyjne technologie
- wkład
- Wejścia
- zainstalowany
- przykład
- instrukcje
- ubezpieczenie
- wzajemne oddziaływanie
- najnowszych
- zaangażowany
- IT
- iteracje
- JEGO
- jpg
- json
- Klawisz
- Uprzejmy
- Wiedzieć
- duży
- na dużą skalę
- większe
- później
- prowadzić
- Wyprowadzenia
- UCZYĆ SIĘ
- nauka
- najmniej
- Pozostawiać
- niech
- pozwala
- biblioteki
- Biblioteka
- lubić
- Lista
- życie
- załadować
- miejscowy
- lokalizacja
- logika
- długo
- niski
- niższy
- maszyna
- uczenie maszynowe
- zrobiony
- Główny
- głównie
- robić
- Dokonywanie
- kierownik
- obowiązkowe
- sposób
- wiele
- wyraźny
- maska
- Mecz
- maksymalny
- znaczy
- Pamięć
- ML
- Moda
- model
- modele
- modyfikować
- jeszcze
- zmotywowani
- dużo
- Wielomodelowy punkt końcowy
- wielokrotność
- musi
- Nazwa
- narodowy
- Park Narodowy
- niezbędny
- Potrzebować
- potrzebne
- ujemny
- Nowości
- I Love New York
- noc
- Hałas
- notatnik
- Zauważyć..
- powieść
- numer
- tępy
- Nvidia
- NYC
- przedmiot
- obiekty
- obserwować
- of
- Olej
- on
- ONE
- te
- tylko
- open source
- optymalizacja
- optymalizacji
- Option
- Opcje
- or
- oryginalny
- Inne
- ludzkiej,
- na zewnątrz
- opisane
- wydajność
- koniec
- własny
- pakiet
- pakowane
- malarstwo
- parametr
- parametry
- Park
- część
- strony
- przechodzić
- Przechodzący
- namiętny
- ścieżka
- Personalizowany
- fotografia
- Fotorealistyczne
- rurociąg
- piksel
- Miejsce
- Platformy
- plato
- Analiza danych Platona
- PlatoDane
- punkt
- basen
- część
- portret
- Post
- potencjał
- Praktyczny
- praktyki
- przepowiednia
- Przewidywania
- Problem
- wygląda tak
- Obrobiony
- procesów
- Produkt
- product manager
- projektowanie
- własność
- zwolennik
- zapewniać
- pod warunkiem,
- że
- opublikowany
- Python
- płomień
- jakość
- Czytający
- w czasie rzeczywistym
- realistyczny
- polecić
- regiony
- związane z
- pozostawać
- szczątki
- usunąć
- usuwanie
- otrzymuje
- składnica
- reprezentować
- reprezentuje
- zażądać
- wywołań
- wymagany
- Wymaga
- Rozkład
- Zasób
- odpowiedź
- Odpowiedzi
- odpowiedzialność
- przywrócenie
- Efekt
- powrót
- Rosnąć
- skała
- Pokój
- run
- bieganie
- sagemaker
- Wnioskowanie SageMakera
- taki sam
- powiedzieć
- skalowalny
- Skala
- skalowaniem
- sci-fi
- sekund
- Sekcja
- widzieć
- Segmenty
- SAMEGO SIEBIE
- semantyka
- wysłać
- senior
- wysłany
- Serie
- służyć
- usługa
- Usługi
- służąc
- zestaw
- ustawienie
- kilka
- Shape
- shared
- strzał
- powinien
- pokazać
- Targi
- Szymon, Szymek
- Prosty
- po prostu
- pojedynczy
- Rozmiar
- Niebo
- So
- rozwiązanie
- Rozwiązania
- Typ przestrzeni
- Hiszpania
- specjalista
- specyficzny
- specyfikacja
- Specyfikacje
- określony
- prędkość
- prędkości
- Spędzanie
- Stabilność
- stabilny
- początek
- rozpoczęty
- Startowy
- Rynek
- Ewolucja krok po kroku
- Cel
- przechowywanie
- sklep
- przechowywany
- Strategia
- jest determinacja.
- sznur
- Struktura
- styl
- udany
- taki
- podpory
- składnia
- stół
- trwa
- Zadanie
- TechCrunch
- Techniki
- Technologies
- że
- Połączenia
- ich
- Im
- następnie
- Tam.
- w związku z tym
- Te
- to
- chociaż?
- tysiące
- trzy
- Przez
- czas
- do
- żeton
- narzędzie
- Top
- pochodnia
- przeszkolony
- Trening
- Przekształcać
- przekształcony
- Transformatory
- Podróżowanie
- drzewo
- trendy
- Tryton
- prawdziwy
- drugiej
- rodzaj
- typy
- zazwyczaj
- Ultra
- zasadniczy
- zrozumieć
- Nierealny
- Unreal Engine
- Silnik Unreal 5
- niepożądany
- przesłanych
- Uploading
- us
- Stosowanie
- posługiwać się
- używany
- Użytkownik
- Doświadczenie użytkownika
- za pomocą
- zazwyczaj
- wartość
- Wartości
- różnorodny
- wszechstronny
- wersja
- Wideo
- gier wideo
- virginia
- czekać
- chcieć
- była
- Droga..
- we
- sieć
- usługi internetowe
- Co
- jeśli chodzi o komunikację i motywację
- ilekroć
- który
- Podczas
- biały
- którego
- będzie
- okna
- w
- w ciągu
- słowo
- Praca
- pracujący
- by
- owinąć
- napisany
- X
- york
- You
- Twój
- zefirnet
- Strefy