Мо дар замонҳои ҳаяҷонбахш зиндагӣ мекунем, ки ҳар ҳафта дар бораи технологияи пешрафта эълон мекунанд. OpenAI танҳо модели муосири матн ба тасвир DALLE 2-ро баровард.
Танҳо чанд нафар ба системаи нави AI дастрасии барвақт пайдо карданд, ки метавонад аз тавсифи забони табиӣ графикаи воқеӣ тавлид кунад. Он то ҳол барои мардум баста аст.
Пас аз он Stability AI -ро нашр кард Диффузияи устувор модел, як варианти кушодаи DALLE2. Ин оғоз ҳама чизро тағир дод. Одамон дар саросари интернет натиҷаҳои зуд нашр мекарданд ва аз санъати воқеӣ ҳайрон мешуданд.
Диффузияи устувор чист?
Диффузияи устувор модели омӯзиши мошинист, ки қодир аст аз матн тасвирҳо эҷод кунад, тасвирҳоро вобаста ба матн тағир диҳад ва тафсилотро дар тасвирҳои пастсифат ё тафсилоти паст пур кунад.
Он дар миллиардҳо аксҳо таълим дода шудааст ва метавонад ба натиҷаҳои баробар мувофиқат кунад DALL-E2 ва Сафари миёна. Субот AI онро ихтироъ кард ва он 22 августи соли 2022 дастрас гардид.
Аммо бо маҳдуд будани захираҳои ҳисоббарории маҳаллӣ, модели Диффузияи устувор барои эҷоди тасвирҳои баландсифат вақти зиёдро мегирад. Иҷрои модели онлайн бо истифода аз провайдери абрӣ ба мо захираҳои қариб беохири ҳисоббарорӣ медиҳад ва ба мо имкон медиҳад, ки натиҷаҳои аълоро зудтар ба даст орем.
Ҷойгир кардани модел ҳамчун хидматрасонии хурд инчунин ба дигар барномаҳои эҷодӣ имкон медиҳад, ки потенсиали моделро бидуни сару кор бо мураккабии корбарии моделҳои ML дар онлайн ба осонӣ истифода баранд.
Дар ин паём, мо кӯшиш хоҳем кард, ки чӣ гуна як модели диффузияи устуворро таҳия кунем ва онро дар AWS ҷойгир кунем.
Диффузияи устуворро созед ва ҷойгир кунед
BentoML ва Amazon Web Services EC2 ду вариант барои ҷойгир кардани модели устувори диффузияи онлайн мебошанд. BentoML як чаҳорчӯбаи кушодаасос барои миқёс аст омӯзиши машқҳо хизматрасонй. Бо BentoML, мо як хидмати дисперсионии боэътимод бунёд мекунем ва онро дар AWS EC2 ҷойгир мекунем.
Омода кардани муҳити зист ва зеркашии модели диффузияи устувор
Талаботро насб кунед ва анборро клон кунед.
Шумо метавонед модели Диффузияи устуворро интихоб ва зеркашӣ кунед. Дақиқии ягона барои CPU ё GPU бо зиёда аз 10 ГБ VRAM мувофиқ аст. Нисфи дақиқ барои GPU-ҳои дорои VRAM камтар аз 10 ГБ беҳтарин аст.
Сохтани диффузияи устувор
Мо хидмати BentoML месозем, то ба модели паси a API асосан. Мисоли зерин модели ягонаи дақиқро барои пешгӯӣ ва модули service.py барои пайваст кардани хидмат ба мантиқи тиҷорат истифода мебарад. Мо метавонем функсияҳоро ҳамчун API бо нишон додани онҳо бо @svc.api фош кунем.
Ғайр аз он, мо метавонем намудҳои вуруд ва баромади API-ро дар параметрҳо муайян кунем. Масалан, нуқтаи ниҳоии txt2img вуруди JSON-ро қабул мекунад ва баромади тасвирро истеҳсол мекунад, дар ҳоле ки нуқтаи ниҳоии img2img тасвир ва вуруди JSON-ро қабул мекунад ва баромади тасвирро бармегардонад.
StableDiffusionRunnable мантиқи асосии хулосабарориро муайян мекунад. Иҷрошаванда барои иҷро кардани усулҳои қубури txt2img модел ва фиристодани воридоти дахлдор масъул аст. Барои иҷро кардани мантиқи хулосабарории модел дар API, як давандаи фармоишӣ аз StableDiffusionRunnable сохта шудааст.
Сипас, фармони зеринро барои оғоз кардани хидмати BentoML барои санҷиш истифода баред. Ба таври маҳаллӣ идора карда мешавад Модели диффузияи устувор хулоса дар бораи CPUs хеле суст аст. Барои коркарди ҳар як дархост тақрибан 5 дақиқа вақт лозим аст.
Матн ба тасвир
Матн ба баромади тасвир
Файли bentofile.yaml файлҳо ва вобастагии заруриро муайян мекунад.
Барои сохтани бенто фармони зерро истифода баред. Bento формати тақсимоти хидмати BentoML мебошад. Ин бойгонии мустақилест, ки тамоми маълумот ва конфигуратсияҳоеро дар бар мегирад, ки барои оғози хидмат заруранд.
Бентои диффузияи устувор анҷом ёфт. Агар шумо бенторо дуруст тавлид карда натавонистед, воҳима накунед; шумо метавонед модели қаблан сохташударо бо истифода аз фармонҳои дар фасли оянда номбаршуда зеркашӣ кунед.
Моделҳои пешакӣ сохташуда
Инҳоянд моделҳои пешакӣ сохташуда:
Модели диффузияи устуворро дар EC2 ҷойгир кунед
Барои ҷойгиркунии бенто ба EC2, мо bentoctl-ро истифода хоҳем бурд. bentoctl метавонад ба шумо имкон диҳад, ки bentos-и худро дар ҳама ҷо ҷойгир кунед платформаи абр бо истифода аз Terraform. Барои сохтан ва татбиқ кардани файлҳои Terraform, оператори AWS EC2-ро насб кунед.
Дар файли deployment config.yaml, густариш аллакай танзим шудааст. Лутфан озодона ба талаботи худ таҳрир кунед. Bento ба таври нобаёнӣ дар як мизбони g4dn.xlarge бо Омӯзиши чуқур AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI дар минтақаи us-west-1.
Ҳоло файлҳои Terraform эҷод кунед. Тасвири Docker эҷод кунед ва онро ба AWS ECR бор кунед. Вобаста ба фарохмаҷрои шумо, боркунии тасвир метавонад вақти зиёдро талаб кунад. Ҳангоми ҷойгиркунии бенто ба AWS EC2, файлҳои Terraform -ро истифода баред.
Барои дастрасӣ ба Swagger UI, ба консоли EC2 пайваст шавед ва суроғаи IP-и умумиро дар браузер кушоед. Дар ниҳоят, агар хидмати Stable Diffusion BentoML дигар талаб карда нашавад, ҷойгиркуниро хориҷ кунед.
хулоса
Шумо бояд бубинед, ки SD ва моделҳои ҳамсафари он чӣ қадар ҷолиб ва тавоноанд. Вақт нишон медиҳад, ки оё мо минбаъд консепсияро такрор мекунем ё ба равишҳои мураккабтар мегузарем.
Бо вуҷуди ин, дар айни замон ташаббусҳо оид ба омӯзиши моделҳои калонтар бо ислоҳҳо барои беҳтар фаҳмидани атроф ва дастурҳо идома доранд. Мо кӯшиш кардем, ки хидмати Stable Diffusion-ро бо истифода аз BentoML таҳия кунем ва онро дар AWS EC2 ҷойгир кунем.
Мо тавонистем модели Stable Diffusion-ро дар сахтафзорҳои пурқувваттар иҷро кунем, тасвирҳоро бо таъхири паст эҷод кунем ва тавассути ҷойгиркунии хидмат дар AWS EC2 берун аз як компютери ягона паҳн кунем.
Дин ва мазҳаб