Kita hidup di masa yang menyenangkan, dengan pengumuman tentang teknologi mutakhir setiap minggu. OpenAI baru saja merilis model teks-ke-gambar mutakhir DALLE 2.
Hanya sedikit orang yang mendapatkan akses awal ke sistem AI baru yang dapat menghasilkan grafik realistis dari deskripsi bahasa alami. Itu masih tertutup untuk umum.
Stabilitas AI kemudian merilis Difusi Stabil model, varian sumber terbuka DALLE2. Peluncuran ini telah mengubah segalanya. Orang-orang di seluruh internet menerbitkan hasil cepat dan dikejutkan oleh seni realistik.
Apa itu Difusi Stabil?
Difusi Stabil adalah model pembelajaran mesin yang mampu membuat gambar dari teks, mengubah gambar tergantung pada teks, dan mengisi detail pada gambar beresolusi rendah atau detail rendah.
Itu dilatih pada miliaran foto dan dapat memberikan hasil yang setara dengan DALL-E2 dan Pertengahan Perjalanan. Stabilitas AI menciptakannya, dan diumumkan pada 22 Agustus 2022.
Tetapi dengan sumber daya komputasi lokal yang terbatas, model Difusi Stabil membutuhkan waktu lama untuk membuat gambar berkualitas tinggi. Menjalankan model secara online menggunakan penyedia cloud memberi kami sumber daya komputasi yang hampir tak terbatas dan memungkinkan kami memperoleh hasil luar biasa lebih cepat.
Menghosting model sebagai layanan mikro juga memungkinkan aplikasi kreatif lainnya untuk lebih mudah mengeksploitasi potensi model tanpa harus berurusan dengan kerumitan menjalankan model ML secara online.
Dalam postingan ini, kami akan mencoba mendemonstrasikan cara mengembangkan model difusi yang stabil dan menerapkannya ke AWS.
Bangun dan Terapkan Difusi Stabil
BentoML dan Amazon Web Services EC2 adalah dua opsi untuk meng-hosting model Difusi Stabil secara online. BentoML adalah kerangka kerja sumber terbuka untuk penskalaan Mesin belajar jasa. Dengan BentoML, kami akan membangun layanan dispersi yang andal dan menerapkannya ke AWS EC2.
Mempersiapkan lingkungan dan mengunduh model difusi stabil
Instal persyaratan dan klon repositori.
Anda dapat memilih dan mengunduh model Difusi Stabil. Presisi tunggal cocok untuk CPU atau GPU dengan VRAM lebih dari 10GB. Setengah presisi ideal untuk GPU dengan VRAM kurang dari 10GB.
Membangun Difusi Stabil
Kami akan membangun layanan BentoML untuk melayani model di balik a API TENANG. Contoh berikut menggunakan model presisi tunggal untuk prediksi dan modul service.py untuk menghubungkan layanan ke logika bisnis. Kita dapat mengekspos fungsi sebagai API dengan menandainya dengan @svc.api.
Selanjutnya, kita dapat menentukan tipe input dan output API dalam parameter. Titik akhir txt2img, misalnya, menerima input JSON dan menghasilkan output Gambar, sedangkan titik akhir img2img menerima input Gambar dan JSON dan mengembalikan output Gambar.
StableDiffusionRunnable mendefinisikan logika inferensi penting. Runnable bertanggung jawab menjalankan metode pipa txt2img model dan mengirimkan input yang relevan. Untuk menjalankan logika inferensi model di API, Runner kustom dibuat dari StableDiffusionRunnable.
Kemudian, gunakan perintah berikut untuk memulai layanan BentoML untuk pengujian. Menjalankan secara lokal Model Difusi Stabil inferensi pada CPU agak lamban. Setiap permintaan akan memakan waktu sekitar 5 menit untuk diproses.
Teks ke gambar
Teks ke output gambar
File bentofile.yaml mendefinisikan file dan dependensi yang diperlukan.
Gunakan perintah di bawah ini untuk membuat bento. Bento adalah format distribusi untuk layanan BentoML. Ini adalah arsip mandiri yang berisi semua data dan konfigurasi yang diperlukan untuk memulai layanan.
Bento Difusi Stabil telah selesai. Jika Anda tidak dapat membuat bento dengan benar, jangan panik; Anda dapat mengunduh model yang dibuat sebelumnya menggunakan perintah yang tercantum di bagian berikutnya.
Model Pra-bangun
Berikut ini adalah model pre-build:
Terapkan model Difusi Stabil ke EC2
Untuk menyebarkan bento ke EC2, kita akan menggunakan bentoctl. bentoctl dapat membiarkan Anda menyebarkan bento Anda ke mana saja platform cloud menggunakan Terraform. Untuk membuat dan menerapkan file Terraform, instal operator AWS EC2.
Dalam file config.yaml penerapan, penerapan telah dikonfigurasi. Silahkan edit sesuai kebutuhan Anda. Bento disebarkan secara default pada host g4dn.xlarge dengan Belajar mendalam AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI di wilayah us-west-1.
Buat file Terraform sekarang. Buat image Docker dan unggah ke AWS ECR. Bergantung pada bandwidth Anda, pengunggahan gambar mungkin memakan waktu lama. Saat menerapkan bento ke AWS EC2, gunakan file Terraform.
Untuk mengakses UI Swagger, sambungkan ke konsol EC2 dan buka alamat IP publik di browser. Terakhir, jika layanan BentoML Difusi Stabil tidak lagi diperlukan, hapus penerapan.
Kesimpulan
Anda harus dapat melihat betapa menarik dan kuatnya SD dan model pendampingnya. Waktu akan memberi tahu apakah kita akan mengulangi konsep lebih lanjut atau beralih ke pendekatan yang lebih canggih.
Namun, saat ini sedang berlangsung inisiatif untuk melatih model yang lebih besar dengan penyesuaian untuk lebih memahami lingkungan dan instruksi. Kami mencoba mengembangkan layanan Difusi Stabil menggunakan BentoML dan menerapkannya ke AWS EC2.
Kami dapat menjalankan model Difusi Stabil pada perangkat keras yang lebih kuat, membuat gambar dengan latensi rendah, dan melampaui satu komputer dengan menerapkan layanan di AWS EC2.
Tinggalkan Balasan