ჩვენ ვცხოვრობთ საინტერესო დროში, ყოველ კვირას განცხადებებით უახლესი ტექნოლოგიების შესახებ. 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. ნახევარი სიზუსტე იდეალურია 10 გბ-ზე ნაკლები VRAM-ის მქონე GPU-ებისთვის.
სტაბილური დიფუზიის აშენება
ჩვენ ავაშენებთ BentoML სერვისს, რათა მოემსახუროს მოდელს ა RESTful API. შემდეგი მაგალითი იყენებს ერთი სიზუსტის მოდელს პროგნოზირებისთვის და service.py მოდულს სერვისის ბიზნეს ლოგიკასთან დასაკავშირებლად. ჩვენ შეგვიძლია გამოვავლინოთ ფუნქციები, როგორც API, ტეგირებით @svc.api.
გარდა ამისა, ჩვენ შეგვიძლია განვსაზღვროთ API-ების შეყვანის და გამომავალი ტიპები პარამეტრებში. txt2img საბოლოო წერტილი, მაგალითად, იღებს JSON შეყვანას და აწარმოებს გამოსახულების გამოსავალს, ხოლო img2img საბოლოო წერტილი იღებს Image და JSON შეყვანას და აბრუნებს გამოსახულების გამოსავალს.
StableDiffusionRunnable განსაზღვრავს არსებითი დასკვნის ლოგიკას. Runnable პასუხისმგებელია მოდელის txt2img მილის მეთოდების გაშვებაზე და შესაბამისი შეყვანების გაგზავნაზე. მოდელის დასკვნის ლოგიკის გასაშვებად API-ებში, მორგებული Runner აგებულია StableDiffusionRunnable-დან.
შემდეგ გამოიყენეთ შემდეგი ბრძანება BentoML სერვისის შესამოწმებლად დასაწყებად. ლოკალურად გაშვებული სტაბილური დიფუზიის მოდელი CPU-ებზე დასკვნა საკმაოდ დუნეა. თითოეული მოთხოვნის დამუშავებას დაახლოებით 5 წუთი დასჭირდება.
ტექსტი სურათზე
ტექსტი სურათზე გამომავალი
bentofile.yaml ფაილი განსაზღვრავს საჭირო ფაილებს და დამოკიდებულებებს.
გამოიყენეთ ქვემოთ მოცემული ბრძანება ბენტოს ასაშენებლად. Bento არის BentoML სერვისის განაწილების ფორმატი. ეს არის დამოუკიდებელი არქივი, რომელიც შეიცავს ყველა მონაცემს და კონფიგურაციას, რომელიც საჭიროა სერვისის დასაწყებად.
სტაბილური დიფუზიის ბენტო დასრულდა. თუ თქვენ ვერ შეძელით ბენტოს სწორად გენერირება, არ ინერვიულოთ; შეგიძლიათ ჩამოტვირთოთ წინასწარ აშენებული მოდელი შემდეგ განყოფილებაში ჩამოთვლილი ბრძანებების გამოყენებით.
წინასწარ აშენებული მოდელები
შემდეგი არის წინასწარ აშენებული მოდელები:
განათავსეთ სტაბილური დიფუზიის მოდელი EC2-ზე
ბენტოს EC2-ზე გამოსაყენებლად, ჩვენ გამოვიყენებთ bentoctl-ს. bentoctl-ს შეუძლია მოგცემთ განათავსოთ თქვენი bentos ნებისმიერზე ღრუბლის პლატფორმა Terraform-ის გამოყენებით. Terraform ფაილების შესაქმნელად და გამოსაყენებლად დააინსტალირეთ AWS EC2 ოპერატორი.
განლაგების config.yaml ფაილში, განლაგება უკვე კონფიგურირებულია. გთხოვთ, თავისუფლად შეცვალოთ თქვენი მოთხოვნები. Bento განლაგებულია ნაგულისხმევად g4dn.xlarge ჰოსტზე ღრმა სწავლება AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI US-west-1 რეგიონში.
შექმენით Terraform ფაილები ახლა. შექმენით დოკერის სურათი და ატვირთეთ იგი AWS ECR-ში. თქვენი გამტარუნარიანობის მიხედვით, სურათის ატვირთვას შეიძლება დიდი დრო დასჭირდეს. Bento-ს AWS EC2-ზე განლაგებისას გამოიყენეთ Terraform ფაილები.
Swagger UI-ზე წვდომისთვის, დაუკავშირდით EC2 კონსოლს და გახსენით საჯარო IP მისამართი ბრაუზერში. და ბოლოს, თუ Stable Diffusion BentoML სერვისი აღარ არის საჭირო, წაშალეთ განლაგება.
დასკვნა
თქვენ უნდა ნახოთ, რამდენად მომხიბლავი და ძლიერია SD და მისი კომპანიონი მოდელები. დრო გვიჩვენებს, კიდევ გავიმეორებთ კონცეფციას თუ გადავალთ უფრო დახვეწილ მიდგომებზე.
თუმცა, ამჟამად მიმდინარეობს ინიციატივები უფრო დიდი მოდელების მომზადების მიზნით, კორექტირებით, რათა უკეთ გაითავისოს გარემო და ინსტრუქციები. ჩვენ შევეცადეთ შეგვემუშავებინა სტაბილური დიფუზიის სერვისი BentoML-ის გამოყენებით და განვათავსეთ იგი AWS EC2-ზე.
ჩვენ შევძელით სტაბილური დიფუზიის მოდელის გაშვება უფრო მძლავრ აპარატურაზე, შევქმენით სურათები დაბალი შეყოვნებით და გავზარდეთ ერთი კომპიუტერის ფარგლებს გარეთ AWS EC2 სერვისის განლაგებით.
დატოვე პასუხი