paint-brush
TheStage AI көмегімен диффузиялық модельдерді жеделдету: Recraft 20B және Red Panda үлгілерінің жағдайлық зерттеуібойынша@thestage
3,954 оқулар
3,954 оқулар

TheStage AI көмегімен диффузиялық модельдерді жеделдету: Recraft 20B және Red Panda үлгілерінің жағдайлық зерттеуі

бойынша TheStage AI7m2024/11/26
Read on Terminal Reader

Тым ұзақ; Оқу

Бұл мақалада TheStage AI Python құралдарын пайдалана отырып, Recraft мәтіннен кескінге диффузиялық үлгілерінің жеделдетілуі зерттеледі. Біз меншікті үлгілерді оңтайландыру және PyTorch қорытындысын оңтайландыру үшін тиімді құбыр желілерін әзірлеу қиындықтарын қарастырамыз.
featured image - TheStage AI көмегімен диффузиялық модельдерді жеделдету: 
Recraft 20B және Red Panda үлгілерінің жағдайлық зерттеуі
TheStage AI HackerNoon profile picture
0-item
1-item


Recraft AI - меншік диффузиялық модельдермен жұмыс істейтін дизайн құралы. Олардың Red Panda жаңа моделі барлық қолданыстағы мәтіннен кескінге үлгілерден, соның ішінде Midjourney, DALL-E 3, FLUX үлгілерінен асып түседі . Recraft дизайнерлер үшін бірегей пайдаланушы тәжірибесін озық AI құралдарымен біріктіреді. Миллиондаған пайдаланушыларды қолдау үшін диффузиялық модельдер қуатты аппараттық құралдарды тиімді бағдарламалық құралмен біріктіретін сенімді қорытынды инфрақұрылымын қажет етеді. Бұл мақалада біз TheStage AI жеделдету құралдары Recraft AI инженерлері мен зерттеушілеріне Python интуитивті интерфейсі арқылы Nvidia графикалық процессорларында 2 есе өнімділікке жетуге қалай көмектескенін қарастырамыз!

Кіріспе

Диффузия модельдері соңғы жылдары мазмұнды, соның ішінде кескіндерді, музыканы, бейнелерді және 3D торларын жасау үшін ерекше нәтижелер көрсетті. Бұл модельдер шығару нәтижелерін қайталап жақсарту үшін шығару уақытын есептеу шығындарын пайдаланады, әрбір қорытынды қадамында нәтижені аздап жаңартады. Біз жоғары сапалы жауап беру үшін көп сатылы қорытынды арқылы пайымдауды қолданатын LLM-де ұқсастығын көре аламыз.


TheStage AI жүйесінде біз күрделі модельді жеделдету ағынын толығымен автоматты түрде өңдеу үшін ерікті PyTorch үлгілері үшін жалпы математикалық негіз құрастырамыз. Біздің жүйе аппараттық құралдағы бар оңтайландыруларды автоматты түрде анықтайды (кнатизация, шашыраңқылық) және қалаған үлгі өлшемімен және кідіріс шектеулерімен ең жақсы сапаға қол жеткізу немесе шектеулі сапа шектеулері бар ең жақсы үдетуді табу үшін әр қабатқа сәйкес алгоритмді таңдайды. Бұл біз өте тиімді жолмен шеше алатын қиын математикалық мәселе! Бұл мақалада Recraft AI серіктестігі арқылы осы құралдарды қалай қолданатынымыз қарастырылады.


Құралдарымызды құрастырған кезде біз келесі принциптерді сақтауды шештік:


  • Аппараттық құралдарды теңшеу. Жоғары сапалы AI өнімдері қазірдің өзінде қолайлы инфрақұрылымға ие
  • Сапаны сақтау. Жоғары сапалы AI өнімдері сапаның нашарлауын қабылдай алмайды
  • Құпиялық. Жоғары сапалы AI өнімдері өз технологияларын құпия сақтағысы келеді және өз инфрақұрылымындағы құралдармен жұмыс істегісі келеді
  • Ерікті DNN. Жоғары сапалы AI өнімдері дұрыс нәтижелерді шығару үшін ашық бастапқы үлгілерге арналған жалпы жеделдету құралдары күрделі DNN архитектураларын өңдей алмайтын үйде әзірленген архитектураларды пайдалана алады.
  • Питорх. Көптеген AI инженерлері үшін ең танымал және ыңғайлы құрылым.


Осы бастапқы шарттарды ескере отырып, біз келесі мүмкіндіктері бар құралдарды жасауды мақсат еттік:


  • Басқарылатын жеделдету. Біз қорытындыны оңтайландыруды бизнесті оңтайландыру мәселесі ретінде қарастырамыз, бұл тұтынушыларға өздерінің деректері үшін қажетті үлгі өлшемін, күту уақытын немесе сапасын көрсетуге мүмкіндік береді.
  • Қарапайым компиляция. Аппараттық құралдарды тиімді орындау үшін шығарылған үлгілерді құрастыру тек бір код жолын қажет етеді. Біз сондай-ақ графикалық үзілістерді өңдеуге арналған қарапайым интерфейсті ұсынамыз.
  • Жылдам салқын бастау. Мүмкін болатын ең жылдам суық іске қол жеткізу үшін біз құрастырылған үлгілерді сақтауға мүмкіндік береміз. Сондықтан біз JIT компиляторларын қолданбаймыз.
  • Қарапайым орналастыру. Оңтайландырылған үлгіні қолдану түпнұсқаны қолдану сияқты қарапайым болуы керек.


Мәтіннен кескінге диффузиялық модельдер

Denoising Диффузия процесі қарапайым визулизация.


Диффузия процесінің әрбір итерациясында нейрондық желі Вариациялық автокодердің жасырын кеңістігіндегі кескінді денозиялайды. Жаңадан алынған кескін қайтадан шумен араласады, бірақ салмағы біртіндеп азаяды. Бастапқы итерациялар кезінде диффузиялық модель елеулі жаңартулар жасау үшін маңызды шу салмағын пайдалана отырып, негізгі көріністің сызбасын жасайды. Кейінгі итерацияларда ол жоғары жиілікті мәліметтерді нақтылайды. Бұл бақылау сапаны сақтай отырып, итерациядан итерацияға дейінгі қабаттар бойынша желілік сыйымдылықты стратегиялық бөлу арқылы нақты жеделдету құбырларын жобалауға мүмкіндік береді. Дегенмен, мұндай бөлу математикалық түсініктерді дыбыстық инженериямен біріктіретін арнайы құралдарды қажет етеді — дәл осы жерде TheStage AI айтарлықтай көмектесе алады!


Белгілі бір пішіндерге назар аудара отырып, бұлттарға қараған кезде, біздің санамыз біздің ойымызға ұқсайтын кездейсоқ пішіндерді ажырата алады. Бұл құбылыс миымыздың шудағы үлгілерді қалай анықтайтынын, психикалық контекстімізге сәйкес келетін элементтерді табатынын көрсетеді. Сол сияқты, диффузиялық модельдер қажетті кескіннің алдын ала нобайын жасау үшін шудан үлгілерді таңдай отырып, бастапқы итерация кезінде осы тұжырымдаманы пайдаланады.


Диффузия модельдері үдеу және қысу

Жеделдеткіш диффузиялық модельдерді ерікті DNN жеделдету ретінде қарастыруға болады, бірақ біз нақты қиындықтарды есепке алуымыз керек. Мысалы, әдетте айтарлықтай жеделдетуді қамтамасыз ететін статикалық кванттау белсендіру үлестірімдері итерациядан итерацияға ауысатындықтан диффузиялық модельдерде қиындық тудырады. Мұны шешу үшін не барлық итерациялар үшін оңтайлы мәндерді дұрыс бағалау керек немесе әр итерация үшін әртүрлі кванттау орнатуларын пайдалану керек.


Диффузиялық модельдерді оқыту және жоғары өнімділікке қол жеткізу қиын. Дегенмен, Recraft командасы көрсеткен нәтижелер мәтіннен кескінге дейінгі барлық заманауи үлгілерден асып түседі . Мұндай үлгілердің деградациясын тексеру қиын болуы мүмкін, бұл бастапқы мүмкіндіктің семантикасын сақтайтын жеделдету әдістерін пайдалануды өте маңызды етеді. Кванттау алгоритмдері әртүрлі белсендіру үлестірімдерінің қиындықтарын шеше алатын болса, жақсы таңдау болуы мүмкін. Келесі бөлімдерде сипаттайтын автоматты құбырларымызды қарастырайық.

Профильдеу

Белгілі бір деректермен берілген модельді профильдеу:


  • Әрбір параметрдің өлшемін анықтаңыз
  • Әрбір негізгі блок үшін қолданылатын кванттау, шашыраңқылау, кесу алгоритмдерін анықтаңыз
  • Әртүрлі жад орналасулары бар жеке блоктар үшін күту уақытын есептеңіз
  • ANNA (Автоматтандырылған NNs Accelerator) үшін барлық жиналған ақпаратты құрастырыңыз

Автоматты қысу және жеделдету

Профиль жасаушы барлық қажетті деректерді жинағаннан кейін, біз ANNA тақтасын іске қосып, әртүрлі оңтайландырылған модель нұсқаларын шығару үшін жүгірткіні жылжыта аламыз. Содан кейін біздің пайдаланушылар сапаға және қорытынды құнына сәйкес ең жақсы үміткерлерді таңдай алады. Біздің құралдар осы субъективті сапалы шешімдерді қарапайым жолмен шешеді.


Сахналық AI АННА. Модель өлшемін немесе кідіріс уақытын ең аз сапаның нашарлауымен реттеу үшін жүгірткіні жылжытыңыз!

Біріктіру және жинақтау операциялары

Жоғарыда айтылғандай, біз JIT компиляциясын қолданбаймыз, себебі ол жаңа түйіннің суық басталу уақытын арттырады. Біз сондай-ақ дайын компиляторларды қолданбаймыз. Оның орнына біз әртүрлі алгоритмдерді араластыра алатын өзіміздің күрделі жеделдетілген конфигурациямызды құрастырамыз. Бұған қол жеткізу үшін біз DNN-жеделдетілген қабаттарды аппараттық-агностикалық жолмен анықтау үшін өзіміздің ішкі протоколымызды жасадық. TheStage AI жеделдету құрылымының негізгі артықшылықтарының бірі - AI бағдарламалық жасақтамасы үшін кросс-платформалық үйлесімділікті шешетін аппараттық құралдардың кең ауқымы үшін бір бақылау нүктесін құрастыруға болады. Бұл мүмкіндік қолданбаларды әзірлеуде шеткі құрылғыны орналастыру үшін әсіресе маңызды болады.


DNN компиляторларының мақсаттары:


  • Графикті жеңілдету. Математикалық операцияны біріктіру арқылы орындау графигін жеңілдету, қорытынды уақытын қысқарту
  • Жадты басқару. Әрбір әрекетке қажетті жадты есептеңіз және тиімді жадты қайта пайдалану арқылы бөлуді жоспарлауды басқарыңыз
  • Оңтайлы іске асыру. Әрбір негізгі операция үшін оңтайлы іске асыруды профильдеңіз — қиын тапсырма, өйткені ең жақсы іске асыру үшін қабатаралық қосылымдарды талдауға әкелетін нақты жад орналасулары қажет болуы мүмкін.
  • Операцияларды жоспарлау. Оңтайландырылған орындау графигі үшін операциялар кестесін жасаңыз
  • Серияландыру. Үлгіні келесі іске қосуларда қайта құрастырмау үшін осы ақпараттың барлығын сақтаңыз


Біріктірілген операцияларды біріктірілген ядроға біріктіруге болады. Бірінші операцияның шығысын жаһандық жадқа көшірудің орнына, біріктірілген ядро екінші операцияны тікелей жергілікті жад регистрінде бағалайды. Бұл қорытындыны айтарлықтай жылдамдатады, себебі жадты тасымалдау көбінесе нақты есептеулерге қарағанда ұзағырақ уақыт алады. Дегенмен, барлық жұмыс ретін біріктіру мүмкін емес - кейбіреулері біріктірумен толығымен үйлеспейді. Элементтік операциялар үшін біріктірілген ядроларды автоматты түрде жасауға болады. Nvidia NVFuser құралы, мысалы, кез келген элементтік операциялар тізбегі үшін ядроларды жасай алады.

Орналастыру және қызмет көрсету

Қорытынды серверлер мен автоматты масштабтау құбырлары кіріс сұраныстарын үнемді және тиімді өңдеуде маңызды рөл атқарады. Ол сондай-ақ автоматты масштабтауыштар үшін болжамды масштабтауды орнату үшін арнайы сұрауларды топтауды және статистикалық жинақты қамтуы мүмкін. Болашақ мақалаларымызда тиімді қорытынды серверлерін толығырақ қарастырамыз!

Нәтижелер

Барлық конвейерді қолдану арқылы біз Pytorch компиляторынан ( torch.compile ) жақсырақ өнімділікке қол жеткізе аламыз және, әрине, float16 ынталы PyTorch орындалуынан айтарлықтай жақсырақ. Сонымен қатар, PyTorch компиляторы әрбір үлгіні инициализациялауда JIT компиляция тәсілін қолданатындықтан, ол көптеген кіріс өлшемдері үшін қайта құрастыруды қажет етеді, бұл кешіктіру өте маңызды болатын практикалық қолданбалар үшін суық бастауды жеткілікті ұзақ етеді.


Іскерлік артықшылықтар

Міне, Recraft өнімі үшін жеделдетудің негізгі бизнес артықшылықтары:


  • Бірдей жабдықпен екі есе көп пайдаланушыларға қызмет көрсету арқылы инфрақұрылымдық шығындарды төмендетіңіз
  • Кескінді жасаудың жылдамырақ жауап беру уақытымен жақсартылған пайдаланушы тәжірибесі
  • Ең жоғары жүктеме кезінде бір мезгілде көбірек пайдаланушыларға қызмет көрсету мүмкіндігі
  • Тезірек қызмет көрсету арқылы бәсекелестік артықшылық


TheStage AI оңтайландыру құралдары тұтынушыларымыз үшін жақсырақ пайдаланушы тәжірибесін жасай отырып, сапаны төмендетпей, мәтіннен кескінге үлгілерді жылдамдатуға мүмкіндік береді.


Бас директор Рекрафт, Анна Вероника Дорогуш

Алғыс

Бұл нәтижелер біздің құралдарымызды және жоғары ауқымды жұмыс жүктемесі өнімдерін зерттеуді тамаша тексеруді қамтамасыз етеді. TheStage AI командасы бұдан да жоғары өнімділікке жету үшін жұмысын жалғастыруда. Осы мақсатқа жету үшін біз көрнекті серіктестермен жұмыс істейміз! Бізге шексіз ризамыз:


  • Recraft бас директоры Анна Вероника жемісті ынтымақтастық үшін. Біз олардың ең жақсы дизайн құралдарын жеткізудегі тамаша саяхатының кішкене бөлігі болғанымызға өте қуаныштымыз.
  • Recraft AI басшысы Павел Остяковқа DNNs саласындағы тәжірибесі, құралдар туралы күшті кері байланысы және ынтымақтастық жобамызға күрделі мақсаттар қойғаны үшін.
  • Осы тамаша өнімді жасау үшін Recraft AI командасы. Осы мақаладағы суреттер Recraft көмегімен жасалған!
  • Nebius командасы біздің зерттеулеріміз үшін тамаша GPU инфрақұрылымымен дәйекті қолдауы үшін.

Байланыстар / Ресурстар

Кез келген сұрақтар бойынша бізбен байланысыңыз! Біз сізге инфрақұрылымдық шығындарды азайтуға көмектесеміз!

Біздің электрондық поштамыз: [email protected]

TheStage AI негізгі беті: thestage.ai

TheStage AI қорытындысын оңтайландыру платформасы: app.thestage.ai


L O A D I N G
. . . comments & more!

About Author

TheStage AI HackerNoon profile picture
TheStage AI@thestage
A full-stack AI platform 👽 Trusted voice in AI, we grindin', no sleep ✨

ТЕГТЕРДІ АЛУ

БҰЛ МАҚАЛА БАСҚАРҒАН...