Projekt zakłada platformę, która może zastąpić firmę architektoniczną. Użytkownik opisuje miasto do zbudowania, a system tworzy koncepcję (np. nabrzeże, futurystyczne miasto) i prezentację dla klienta.
Obniżenie kosztów związanych z zatrudnianiem projektantów i architektów.
Wyzwania
- Wdrażanie infrastruktury: Utwórz i skonfiguruj serwer obliczeniowy do wnioskowania o modelu i szkolenia modelu.
- Konfiguracja środowiska oprogramowania: Przygotowanie i skonfigurowanie środowiska oprogramowania do wnioskowania i szkolenia modeli.
- Przygotowanie danych: Generowanie zestawów danych szkoleniowych dla ogólnych planów miasta (widok z lotu ptaka) i bliskich planów budynków, przygotowanie danych dla preferowanych stylów.
- Szkolenie i testowanie modeli: Wdrożenie podejścia LoRA do szkolenia pomocniczych sieci neuronowych, szkolenie testowych modułów LoRA na wyszkolonych danych i testowanie wydajności modułów dla różnych modeli bazowych.
- Integracja z Automatic WebUI: Integracja modeli z oprogramowaniem Automatic WebUI w celu zapewnienia przyjaznego dla użytkownika interfejsu do pracy z modelami i realizacji dodatkowych funkcji.
Rozwiązania
- Wdrożenie infrastruktury: Serwer obliczeniowy oparty na systemie Linux z kartą wideo Nvidia Tesla został wykorzystany do wnioskowania o modelach. Do trenowania modeli wykorzystano kartę wideo Nvidia Tesla.
- Konfiguracja środowiska oprogramowania: Do wnioskowania wykorzystano środowisko Python 3.11, Pytorch 2.0.0, biblioteki bitsandbytes i xformers. Oprogramowanie kohya-ss zostało użyte do implementacji szkolenia metodą LoRA. Metoda LoRA (Low-Rank Adaptation) pozwoliła nam efektywnie trenować małe pomocnicze sieci neuronowe, które są następnie podłączane do głównego modelu stabilnej dyfuzji i kierują procesem generowania. Zapewniło to elastyczność przełączania takich modułów do określonych zadań bez konieczności ponownego trenowania całego modelu. Jako interfejs do pracy z modelami wykorzystano oprogramowanie Automatic WebUI. Oprogramowanie to ma otwarty interfejs API, co pozwoliło na głęboką integrację i wdrożenie dodatkowych funkcji.
- Przygotowanie danych: Zbiory danych szkoleniowych zostały wygenerowane dla ogólnych planów miasta (widok z lotu ptaka) i bliskich planów budynków. Dane zostały przeszkolone pod kątem preferowanych stylów.
- Szkolenie i testowanie modelu: Wdrożono podejście LoRA do szkolenia pomocniczych sieci neuronowych. Wyszkolono testowe moduły LoRA dla wyszkolonych danych. Przetestowano wydajność modułów w odniesieniu do różnych modeli bazowych.
Co mamy
- Serwer obliczeniowy oparty na systemie Linux z kartą wideo Nvidia Tesla T4 lub A4000 dla modeli wnioskowania został pomyślnie skonfigurowany.
- Z powodzeniem przygotowano środowisko programistyczne oparte na Pythonie 3.11, Pytorch 2.0.0, bibliotekach bitsandbytes i xformers.
- Zbiory danych treningowych zostały wygenerowane dla ogólnych planów miasta (widok z lotu ptaka) i bliskich planów budynków.
- Testowe moduły LoRA zostały przeszkolone na danych treningowych.
- Integracja i wykorzystanie otwartego API Automatic WebUI zostało zrealizowane w celu zapewnienia przyjaznego dla użytkownika interfejsu do pracy z modelami i wdrażania dodatkowych funkcji.