paint-brush
Zrýchlenie modelov difúzie pomocou AI TheStage: Prípadová štúdia modelov 20B a Red Panda spoločnosti Recraftpodľa@thestage
3,951 čítania
3,951 čítania

Zrýchlenie modelov difúzie pomocou AI TheStage: Prípadová štúdia modelov 20B a Red Panda spoločnosti Recraft

podľa TheStage AI7m2024/11/26
Read on Terminal Reader

Príliš dlho; Čítať

Tento článok skúma zrýchlenie modelov šírenia textu na obrázok spoločnosti Recraft pomocou nástrojov Python TheStage AI. Skúmame výzvy optimalizácie proprietárnych modelov a vývoja efektívnych potrubí pre optimalizáciu inferencie PyTorch.
featured image - Zrýchlenie modelov difúzie pomocou AI TheStage: 
Prípadová štúdia modelov 20B a Red Panda spoločnosti Recraft
TheStage AI HackerNoon profile picture
0-item
1-item


Recraft AI je dizajnový nástroj poháňaný proprietárnymi difúznymi modelmi. Ich nový model Red Panda prekonáva všetky existujúce modely s prevodom textu na obrázok vrátane Midjourney, DALL-E 3, FLUX. Recraft spája jedinečný používateľský zážitok pre dizajnérov so špičkovými nástrojmi AI. Na podporu miliónov používateľov vyžadujú modely difúzie robustnú inferenčnú infraštruktúru – zlúčenie výkonného hardvéru s efektívnym softvérom. V tomto článku preskúmame, ako akceleračné nástroje AI TheStage pomohli inžinierom a výskumníkom AI spoločnosti Recraft dosiahnuť až dvojnásobný výkon na GPU Nvidia prostredníctvom intuitívneho rozhrania Python!

Úvod

Difúzne modely ukázali v posledných rokoch mimoriadne výsledky pri vytváraní obsahu, vrátane obrázkov, hudby, videí a 3D sietí. Tieto modely využívajú inferenčné časové výpočtové náklady na iteratívne zlepšenie výsledkov generovania, pričom mierne aktualizujú výstup v každom kroku inferencie. Teraz môžeme vidieť analógiu v LLM, ktorá využíva uvažovanie prostredníctvom viacstupňovej inferencie na poskytnutie vysoko kvalitnej odpovede.


V TheStage AI vytvárame všeobecný matematický rámec pre ľubovoľné modely PyTorch, aby sme zvládli komplikovaný tok zrýchlenia modelu plne automaticky. Náš systém automaticky detekuje existujúce optimalizácie na vašom hardvéri (kvantizácia, sparifikácia) a vyberie pre každú vrstvu správny algoritmus na dosiahnutie najlepšej kvality s požadovanou veľkosťou modelu a obmedzeniami latencie alebo nájdenie najlepšieho zrýchlenia s obmedzenými obmedzeniami kvality. Je to ťažký matematický problém, ktorý dokážeme vyriešiť vysoko efektívnym spôsobom! Tento článok skúma, ako používame tieto nástroje prostredníctvom nášho partnerstva s Recraft AI.


Pri navrhovaní našich nástrojov sme sa rozhodli rešpektovať nasledujúce zásady:


  • Prispôsobenie hardvéru. Vysokokvalitné produkty AI už majú svoju preferovanú infraštruktúru
  • Zachovanie kvality. Vysokokvalitné produkty AI nedokážu akceptovať zhoršenie kvality
  • Ochrana osobných údajov. Vysokokvalitné produkty AI chcú zachovať dôvernosť svojich technológií a pracovať s nástrojmi na vlastnej infraštruktúre
  • Ľubovoľné siete DNN. Vysokokvalitné produkty AI môžu využívať interne vyvinuté architektúry, kde verejné akceleračné nástroje pre modely s otvoreným zdrojom nedokážu zvládnuť zložité architektúry DNN na vytváranie správnych výstupov.
  • Pytorch. Najpopulárnejší a najpohodlnejší rámec pre mnoho inžinierov AI.


Vzhľadom na tieto počiatočné podmienky sme sa zamerali na vytvorenie nástrojov s nasledujúcimi funkciami:


  • Ovládateľné zrýchlenie. Optimalizáciu odvodenia chápeme ako problém obchodnej optimalizácie, čo umožňuje zákazníkom špecifikovať požadovanú veľkosť modelu, latenciu alebo kvalitu údajov.
  • Jednoduchá kompilácia. Kompilácia vyrobených modelov pre efektívne vykonávanie hardvéru vyžaduje iba jeden riadok kódu. Poskytujeme tiež jednoduché rozhranie na spracovanie zlomov grafu.
  • Rýchly studený štart. Pre dosiahnutie čo najrýchlejšieho studeného štartu umožňujeme ukladanie zostavených modelov. To je dôvod, prečo nepoužívame kompilátory JIT.
  • Jednoduché nasadenie. Nasadenie optimalizovaného modelu by malo byť rovnako jednoduché ako nasadenie pôvodného modelu.


Modely šírenia textu na obrázok

Proces odšumovania Difúzny proces jednoduchá vizualizácia.


V každej iterácii procesu difúzie neurónová sieť odšumuje obraz v latentnom priestore variačného automatického kódovača. Novo získaný obraz je potom opäť zmiešaný so šumom, ale s postupne menšou hmotnosťou. Počas počiatočných iterácií model difúzie načrtáva hlavnú scénu, pričom využíva významnú hlučnosť na uskutočnenie podstatných vylepšení. V neskorších iteráciách spresňuje vysokofrekvenčné detaily. Toto pozorovanie nám umožňuje navrhnúť špecifické akceleračné potrubia strategickým prideľovaním kapacity siete medzi vrstvami od iterácie po iteráciu, pri zachovaní kvality. Takáto alokácia si však vyžaduje špecializované nástroje, ktoré kombinujú matematické poznatky so zvukovým inžinierstvom – práve tu môže TheStage AI výrazne pomôcť!


Keď sa pozeráme na oblaky a zameriavame sa na konkrétne tvary, naša myseľ dokáže rozlíšiť náhodné formy, ktoré sa podobajú našim myšlienkam. Tento jav ilustruje, ako naše mozgy identifikujú vzory hluku a nachádzajú prvky, ktoré sú v súlade s naším mentálnym kontextom. Podobne aj difúzne modely využívajú tento koncept počas svojej počiatočnej iterácie, pričom vyberajú vzory zo šumu na vytvorenie predbežného náčrtu požadovaného obrazu.


Difúzne modely zrýchlenia a kompresie

Modely urýchľovania difúzie možno považovať za urýchľujúce ľubovoľné DNN, ale musíme brať do úvahy špecifické výzvy. Napríklad statická kvantizácia, ktorá zvyčajne poskytuje významné zrýchlenie, predstavuje výzvu v modeloch difúzie, pretože distribúcia aktivácie sa mení z iterácie na iteráciu. Aby sme to vyriešili, musíme buď správne odhadnúť optimálne hodnoty pre všetky iterácie, alebo použiť rôzne nastavenia kvantizácie pre každú iteráciu.


Difúzne modely sú náročné na tréning a dosahovanie vysokého výkonu. Napriek tomu výsledky preukázané tímom Recraft prekonávajú všetky moderné modely prevodu textu na obrázok . Overenie degradácie takýchto modelov môže byť zložité, preto je nevyhnutné použiť techniky zrýchlenia, ktoré zachovávajú pôvodnú sémantiku funkcie. Kvantizačné algoritmy môžu byť dobrou voľbou, ak dokážu zvládnuť výzvu rôznych distribúcií aktivácie. Poďme sa pozrieť na naše automatické potrubia, ktoré popíšeme v nasledujúcich častiach.

Profilovanie

Profil daného modelu so špecifickými údajmi umožňuje:


  • Určite veľkosť každého parametra
  • Identifikujte použiteľné kvantizačné, rozparovacie a orezávacie algoritmy pre každý základný blok
  • Odhadnite latenciu pre jednotlivé bloky s rôznym rozložením pamäte
  • Zostavte všetky zhromaždené informácie pre ANNA (Automated NNs Accelerator)

Automatická kompresia a zrýchlenie

Potom, čo profiler zhromaždí všetky potrebné údaje, môžeme spustiť našu dosku ANNA a posunúť posúvač, aby sme vytvorili rôzne optimalizované verzie modelu. Naši používatelia si potom môžu vybrať najlepších kandidátov na základe kompromisu medzi kvalitou a odvodenými nákladmi. Naše nástroje zvládajú tieto subjektívne rozhodnutia o kvalite jednoduchým spôsobom.


TheStage AI ANNA. Posúvaním posúvača upravte veľkosť modelu alebo latenciu s minimálnym znížením kvality!

Operácie Fusion a Compilation

Ako už bolo spomenuté, nepoužívame kompiláciu JIT, pretože zvyšuje čas studeného štartu nového uzla. Nepoužívame ani bežné kompilátory. Namiesto toho zostavujeme vlastnú komplexnú zrýchlenú konfiguráciu, ktorá môže kombinovať rôzne algoritmy. Aby sme to dosiahli, vyvinuli sme vlastný interný protokol na definovanie vrstiev akcelerovaných DNN hardvérovo agnostickým spôsobom. Jednou z kľúčových výhod akceleračného rámca TheStage AI je to, že jeden kontrolný bod možno zostaviť pre širokú škálu hardvéru, čím sa rieši medziplatformová kompatibilita softvéru AI. Táto funkcia bude obzvlášť dôležitá pre nasadenie okrajových zariadení pri vývoji aplikácií.


Cieľmi kompilátorov DNN sú:


  • Zjednodušenie grafu. Zjednodušte realizačný graf pomocou matematickej fúzie operácií, čím sa zníži čas odvodenia
  • Správa pamäte. Vypočítajte pamäť potrebnú pre každú operáciu a spravujte plánovanie prideľovania pomocou efektívneho opätovného použitia pamäte
  • Optimálna implementácia. Profilujte optimálnu implementáciu pre každú základnú operáciu – náročná úloha, pretože najlepšia implementácia môže vyžadovať špecifické rozloženie pamäte, čo vedie k analýze medzivrstvových spojení.
  • Plánovanie operácií. Vytvorte plán operácií pre graf optimalizovaného vykonávania
  • Serializácia. Uložte si všetky tieto informácie, aby ste predišli rekompilácii modelu v nasledujúcich behoch


Sekvenčné operácie možno kombinovať do fúzovaného jadra. Namiesto kopírovania výstupu prvej operácie do globálnej pamäte zlúčené jadro vyhodnocuje druhú operáciu priamo v registri lokálnej pamäte. To výrazne urýchľuje odvodenie, pretože prenosy pamäte často trvajú dlhšie ako skutočné výpočty. Nie všetky operačné sekvencie však môžu byť fúzované – niektoré sú úplne nezlučiteľné s fúziou. Pri operáciách po prvkoch môžu byť fúzované jadrá generované automaticky. Napríklad nástroj NVFuser od Nvidie dokáže generovať jadrá pre akúkoľvek postupnosť operácií po jednotlivých prvkoch.

Nasadenie a poskytovanie

Inferenčné servery a kanály automatického škálovania zohrávajú dôležitú úlohu pri nákladovo efektívnom a efektívnom spracovaní prichádzajúcich požiadaviek. Môže tiež zahŕňať špecifické zoskupovanie požiadaviek a zhromažďovanie štatistík na nastavenie prediktívneho škálovania pre automatické škálovače. V našich budúcich článkoch budeme podrobnejšie diskutovať o efektívnych inferenčných serveroch!

Výsledky

Aplikovaním všetkých pipeline môžeme dosiahnuť výkon, ktorý je lepší ako Pytorch kompilátor ( torch.compile ) a samozrejme výrazne lepší ako float16 dychtivé vykonávanie PyTorch. Navyše, keďže kompilátor PyTorch používa kompilačný prístup JIT pri každej inicializácii modelu, vyžaduje si rekompiláciu pre veľké množstvo vstupných veľkostí, vďaka čomu je studený štart dostatočne dlhý pre praktické aplikácie, kde je latencia veľmi dôležitá.


Obchodné výhody

Tu sú kľúčové obchodné výhody výsledného zrýchlenia pre produkt Recraft:


  • Nižšie náklady na infraštruktúru vďaka dvojnásobnému počtu používateľov s rovnakým hardvérom
  • Vylepšená používateľská skúsenosť s rýchlejšou odozvou generovania obrazu
  • Schopnosť slúžiť viacerým súbežným používateľom počas špičkového zaťaženia
  • Konkurenčná výhoda vďaka rýchlejšiemu poskytovaniu služieb


Nástroje na optimalizáciu umelej inteligencie TheStage nám umožňujú zrýchliť naše modely prevodu textu na obrázok bez zníženia kvality, čím vytvárajú lepšiu používateľskú skúsenosť pre našich zákazníkov.


CEO Recraft, Anna Veronika Dorogush

Poďakovanie

Tieto výsledky poskytujú vynikajúce overenie našich nástrojov a výskumu produktov pre veľké pracovné zaťaženie. Tím TheStage AI pokračuje v práci na poskytovaní ešte vyššieho výkonu. Aby sme to dosiahli, spolupracujeme s vynikajúcimi partnermi! Sme hlboko vďační:


  • Generálnej riaditeľke spoločnosti Recraft Anne Veronike za plodnú spoluprácu. Sme nadšení, že môžeme byť čo i len malou súčasťou ich veľkej cesty pri poskytovaní najlepších dizajnových nástrojov.
  • Recraft Head of AI Pavel Ostyakov za jeho odborné znalosti v oblasti DNN, silnú spätnú väzbu na nástroje a za stanovenie náročných cieľov pre náš projekt spolupráce.
  • Tím Recraft AI za vytvorenie tohto skvelého produktu. Obrázky v tomto článku boli vytvorené pomocou Recraft!
  • Tím Nebius za ich dôslednú podporu s vynikajúcou infraštruktúrou GPU pre náš výskum.

Kontakty / zdroje

V prípade akýchkoľvek otázok nás neváhajte kontaktovať! Môžeme vám pomôcť znížiť náklady na odvodenú infraštruktúru!

Náš e-mail: [email protected]

Hlavná stránka TheStage AI: thestage.ai

Platforma na optimalizáciu inferencie AI TheStage: app.thestage.ai