Kita hidup dalam masa yang menggembirakan, dengan pengumuman tentang teknologi canggih setiap minggu. OpenAI baru sahaja mengeluarkan model teks-ke-imej termaju DALLE 2.
Hanya beberapa orang yang mendapat akses awal kepada sistem AI baharu yang boleh menjana grafik realistik daripada huraian bahasa semula jadi. Ia masih ditutup kepada orang ramai.
Kestabilan AI kemudian mengeluarkan Resapan Stabil model, varian sumber terbuka DALLE2. Pelancaran ini telah mengubah segala-galanya. Orang ramai di seluruh internet telah menerbitkan hasil carian pantas dan terkejut dengan seni yang realistik.
Apakah Resapan Stabil?
Resapan Stabil ialah model pembelajaran mesin yang mampu mencipta imej daripada teks, menukar imej bergantung pada teks dan mengisi butiran pada imej resolusi rendah atau terperinci rendah.
Ia telah dilatih mengenai berbilion-bilion foto dan boleh memberikan hasil yang setara dengannya DALL-E2 and MidJourney. Kestabilan AI menciptanya, dan ia telah diumumkan pada 22 Ogos 2022.
Tetapi dengan sumber pengiraan tempatan yang terhad, model Stable Diffusion mengambil masa yang lama untuk mencipta gambar berkualiti tinggi. Menjalankan model dalam talian menggunakan pembekal awan memberikan kami sumber pengiraan yang hampir tidak terhingga dan membolehkan kami memperoleh hasil yang cemerlang dengan lebih pantas.
Mengehos model sebagai perkhidmatan mikro juga membolehkan apl kreatif lain untuk lebih mudah mengeksploitasi potensi model tanpa perlu menangani kerumitan menjalankan model ML dalam talian.
Dalam siaran ini, kami akan cuba menunjukkan cara membangunkan model resapan yang stabil dan menggunakannya ke AWS.
Bina dan Gunakan Resapan Stabil
BentoML dan Amazon Web Services EC2 ialah dua pilihan untuk mengehos model Stable Diffusion dalam talian. BentoML ialah rangka kerja sumber terbuka untuk penskalaan pembelajaran mesin perkhidmatan. Dengan BentoML, kami akan membina perkhidmatan penyebaran yang boleh dipercayai dan menggunakannya ke AWS EC2.
Menyediakan persekitaran dan muat turun model resapan stabil
Pasang keperluan dan klon repositori.
Anda boleh memilih dan memuat turun model Stable Diffusion. Ketepatan tunggal sesuai untuk CPU atau GPU dengan lebih daripada 10GB VRAM. Ketepatan separuh sesuai untuk GPU dengan VRAM kurang daripada 10GB.
Membina Resapan Stabil
Kami akan membina perkhidmatan BentoML untuk menyediakan model di sebalik a API RESTful. Contoh berikut menggunakan model ketepatan tunggal untuk ramalan dan modul service.py untuk menyambungkan perkhidmatan kepada logik perniagaan. Kita boleh mendedahkan fungsi sebagai API dengan menandainya dengan @svc.api.
Tambahan pula, kita boleh menentukan jenis input dan output API dalam parameter. Titik akhir txt2img, sebagai contoh, menerima input JSON dan menghasilkan output Imej, manakala titik akhir img2img menerima input Imej dan JSON dan mengembalikan output Imej.
StableDiffusionRunnable mentakrifkan logik inferens penting. Runnable bertanggungjawab menjalankan kaedah paip txt2img model dan menghantar input yang berkaitan. Untuk menjalankan logik inferens model dalam API, Runner tersuai dibina daripada StableDiffusionRunnable.
Kemudian, gunakan arahan berikut untuk memulakan perkhidmatan BentoML untuk ujian. Secara tempatan menjalankan Model Resapan Stabil inferens pada CPU agak lembap. Setiap permintaan akan mengambil masa kira-kira 5 minit untuk diproses.
Teks kepada imej
Teks kepada output imej
Fail bentofile.yaml mentakrifkan fail dan kebergantungan yang diperlukan.
Gunakan arahan di bawah untuk membina bento. Bento ialah format pengedaran untuk perkhidmatan BentoML. Ia adalah arkib serba lengkap yang mengandungi semua data dan konfigurasi yang diperlukan untuk memulakan perkhidmatan.
Bento Stable Diffusion telah siap. Jika anda tidak dapat menjana bento dengan betul, jangan panik; anda boleh memuat turun model pra-bina menggunakan arahan yang disenaraikan dalam bahagian seterusnya.
Model Pra-binaan
Berikut ialah model pra-bina:
Gunakan model Resapan Stabil kepada EC2
Untuk menggunakan bento ke EC2, kami akan menggunakan bentoctl. bentoctl boleh membenarkan anda menggunakan bentos anda ke mana-mana platform awan menggunakan Terraform. Untuk membina dan menggunakan fail Terraform, pasang operator AWS EC2.
Dalam fail config.yaml deployment, deployment telah dikonfigurasikan. Sila berasa bebas untuk mengedit mengikut keperluan anda. Bento digunakan secara lalai pada hos g4dn.xlarge dengan Pembelajaran Deep AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI di rantau us-west-1.
Buat fail Terraform sekarang. Cipta imej Docker dan muat naik ke AWS ECR. Bergantung pada lebar jalur anda, muat naik imej mungkin mengambil masa yang lama. Semasa menggunakan bento ke AWS EC2, gunakan fail Terraform.
Untuk mengakses UI Swagger, sambung ke konsol EC2 dan buka alamat IP awam dalam penyemak imbas. Akhir sekali, jika perkhidmatan Stable Diffusion BentoML tidak lagi diperlukan, alih keluar penggunaan.
Kesimpulan
Anda sepatutnya dapat melihat betapa menarik dan berkuasanya SD serta model pasangannya. Masa akan menentukan sama ada kita akan mengulangi konsep itu dengan lebih lanjut atau beralih kepada pendekatan yang lebih canggih.
Walau bagaimanapun, pada masa ini terdapat inisiatif sedang dijalankan untuk melatih model yang lebih besar dengan pelarasan untuk memahami persekitaran dan arahan dengan lebih baik. Kami cuba membangunkan perkhidmatan Stable Diffusion menggunakan BentoML dan mengerahkannya ke AWS EC2.
Kami dapat menjalankan model Stable Diffusion pada perkakasan yang lebih berkuasa, mencipta gambar dengan kependaman rendah dan melangkaui satu komputer dengan menggunakan perkhidmatan pada AWS EC2.
Sila tinggalkan balasan anda