Pada November 2022, kami mengumumkan yang dapat digunakan pelanggan AWS untuk menghasilkan gambar dari teks Difusi Stabil model dalam Mulai Lompatan Amazon SageMaker. Hari ini, kami mengumumkan fitur baru yang memungkinkan Anda memperbesar gambar (mengubah ukuran gambar tanpa kehilangan kualitas) dengan model Difusi Stabil di JumpStart. Gambar beresolusi rendah, buram, dan berpiksel dapat diubah menjadi gambar beresolusi tinggi yang tampak lebih halus, lebih jelas, dan lebih detail. Proses ini, disebut upscaling, dapat diterapkan pada gambar nyata dan gambar yang dihasilkan oleh model Difusi Stabil teks-ke-gambar. Ini dapat digunakan untuk meningkatkan kualitas gambar di berbagai industri seperti e-commerce dan real estate, serta untuk seniman dan fotografer. Selain itu, upscaling dapat meningkatkan kualitas visual gambar beresolusi rendah saat ditampilkan di layar beresolusi tinggi.
Difusi Stabil menggunakan algoritme AI untuk meningkatkan gambar, menghilangkan kebutuhan akan pekerjaan manual yang mungkin memerlukan pengisian celah secara manual pada gambar. Ini telah dilatih pada jutaan gambar dan dapat secara akurat memprediksi gambar beresolusi tinggi, menghasilkan peningkatan detail yang signifikan dibandingkan dengan peningkatan skala gambar tradisional. Selain itu, tidak seperti teknik non-deep-learning seperti tetangga terdekat, Stable Diffusion mempertimbangkan konteks gambar, menggunakan petunjuk tekstual untuk memandu proses peningkatan.
Dalam postingan ini, kami memberikan ikhtisar tentang cara menerapkan dan menjalankan inferensi dengan model peningkatan Difusi Stabil dalam dua cara: melalui antarmuka pengguna (UI) JumpStart di Studio Amazon SageMaker, dan secara terprogram melalui API JumpStart tersedia di SDK Python SageMaker.
Ikhtisar solusi
Gambar berikut menunjukkan contoh upscaling yang dilakukan oleh model. Di sebelah kiri adalah gambar asli beresolusi rendah yang diperbesar agar sesuai dengan ukuran gambar yang dihasilkan oleh model. Di sebelah kanan adalah gambar yang dihasilkan oleh model.
Gambar yang dihasilkan pertama adalah hasil dari gambar kucing beresolusi rendah dan perintah "kucing putih".
Gambar yang dihasilkan kedua adalah hasil gambar kupu-kupu beresolusi rendah dan perintah "kupu-kupu di atas daun hijau".
Menjalankan model besar seperti Stable Diffusion memerlukan skrip inferensi khusus. Anda harus menjalankan pengujian end-to-end untuk memastikan bahwa skrip, model, dan instance yang diinginkan bekerja sama secara efisien. JumpStart menyederhanakan proses ini dengan menyediakan skrip siap pakai yang telah diuji dengan kuat. Anda dapat mengakses skrip ini dengan satu klik melalui Studio UI atau dengan sangat sedikit baris kode melalui API JumpStart.
Bagian berikut memberikan ikhtisar tentang cara menerapkan model dan menjalankan inferensi menggunakan Studio UI atau JumpStart API.
Perhatikan bahwa dengan menggunakan model ini, Anda menyetujui Lisensi CreativeML Open RAIL++-M.
Akses JumpStart melalui UI Studio
Di bagian ini, kami mendemonstrasikan cara melatih dan menerapkan model JumpStart melalui UI Studio. Video berikut menunjukkan cara menemukan model upscaler Stable Diffusion pra-pelatihan di JumpStart dan menerapkannya. Halaman model berisi informasi berharga tentang model dan cara menggunakannya. Untuk inferensi, kami menggunakan jenis instans ml.p3.2xlarge karena memberikan akselerasi GPU yang diperlukan untuk latensi inferensi rendah pada titik harga rendah. Setelah Anda mengonfigurasi instans hosting SageMaker, pilih Menyebarkan. Diperlukan waktu 5โ10 menit hingga titik akhir aktif dan berjalan serta siap merespons permintaan inferensi.
Untuk mempercepat waktu inferensi, JumpStart menyediakan contoh notebook yang menunjukkan cara menjalankan inferensi pada titik akhir yang baru dibuat. Untuk mengakses buku catatan di Studio, pilih Buka Buku Catatan dalam Gunakan Endpoint dari Studio bagian dari halaman titik akhir model.
Gunakan JumpStart secara terprogram dengan SageMaker SDK
Anda dapat menggunakan UI JumpStart untuk menerapkan model terlatih secara interaktif hanya dengan beberapa klik. Namun, Anda juga dapat menggunakan model JumpStart secara terprogram dengan menggunakan API yang terintegrasi ke dalam SageMaker Python SDK.
Di bagian ini, kami memilih model terlatih yang sesuai di JumpStart, menerapkan model ini ke titik akhir SageMaker, dan menjalankan inferensi pada titik akhir yang diterapkan, semuanya menggunakan SageMaker Python SDK. Contoh berikut berisi cuplikan kode. Untuk kode lengkap dengan semua langkah dalam demo ini, lihat Pengantar JumpStart โ Tingkatkan kualitas gambar yang dipandu oleh prompt contoh buku catatan.
Deploy model yang telah dilatih sebelumnya
SageMaker menggunakan kontainer Docker untuk berbagai tugas build dan runtime. JumpStart menggunakan Wadah Pembelajaran Mendalam SageMaker (DLC) yang spesifik kerangka kerja. Kami pertama-tama mengambil paket tambahan apa pun, serta skrip untuk menangani pelatihan dan inferensi untuk tugas yang dipilih. Kemudian artefak model pra-pelatihan diambil secara terpisah model_uris
, yang memberikan fleksibilitas pada platform. Hal ini memungkinkan beberapa model terlatih untuk digunakan dengan satu skrip inferensi. Kode berikut mengilustrasikan proses ini:
Selanjutnya, kami menyediakan sumber daya tersebut ke dalam a Model SageMaker contoh dan gunakan titik akhir:
Setelah model kita di-deploy, kita bisa mendapatkan prediksi darinya secara real time!
Masukkan format
Titik akhir menerima gambar beresolusi rendah sebagai nilai RGB mentah atau gambar berenkode base64. Penangan inferensi menerjemahkan gambar berdasarkan content_type
:
- Untuk
content_type = โapplication/jsonโ
, payload input harus berupa kamus JSON dengan nilai RGB mentah, perintah tekstual, dan parameter opsional lainnya - Untuk
content_type = โapplication/json;jpegโ
, muatan input harus berupa kamus JSON dengan gambar berenkode base64, perintah tekstual, dan parameter opsional lainnya
Format output
Contoh kode berikut memberi Anda gambaran sekilas seperti apa keluarannya. Mirip dengan format input, titik akhir dapat merespons dengan nilai RGB mentah dari gambar atau gambar yang disandikan base64. Ini dapat ditentukan dengan pengaturan accept
ke salah satu dari dua nilai:
- Untuk
accept = โapplication/jsonโ
, titik akhir mengembalikan kamus JSON dengan nilai RGB untuk gambar - Untuk
accept = โapplication/json;jpegโ
, titik akhir mengembalikan kamus JSON dengan gambar JPEG sebagai byte yang dikodekan dengan pengkodean base64.b64
Perhatikan bahwa mengirim atau menerima muatan dengan nilai RGB mentah mungkin mencapai batas default untuk muatan input dan ukuran respons. Oleh karena itu, sebaiknya gunakan gambar yang disandikan base64 dengan pengaturan content_type = โapplication/json;jpegโ
dan accept = โapplication/json;jpegโ
.
Kode berikut adalah contoh permintaan inferensi:
Respons titik akhir adalah objek JSON yang berisi gambar yang dihasilkan dan prompt:
Parameter yang didukung
Model upscaling Difusi Stabil mendukung banyak parameter untuk pembuatan gambar:
- gambar โ Gambar beresolusi rendah.
- cepat โ Perintah untuk memandu pembuatan gambar. Itu bisa berupa string atau daftar string.
- num_inference_steps (opsional) โ Jumlah langkah denoising selama pembuatan gambar. Lebih banyak langkah menghasilkan gambar berkualitas lebih tinggi. Jika ditentukan, itu harus berupa bilangan bulat positif. Perhatikan bahwa lebih banyak langkah inferensi akan menghasilkan waktu respons yang lebih lama.
- skala_panduan (opsional) โ Skala panduan yang lebih tinggi menghasilkan gambar yang lebih dekat hubungannya dengan prompt, dengan mengorbankan kualitas gambar. Jika ditentukan, itu harus pelampung.
guidance_scale<=1
diabaikan. - negatif_prompt (opsional) โ Ini memandu pembuatan gambar melawan prompt ini. Jika ditentukan, itu harus berupa string atau daftar string dan digunakan dengan
guidance_scale
. Jikaguidance_scale
dinonaktifkan, ini juga dinonaktifkan. Selain itu, jika prompt adalah daftar string, maka negative_prompt juga harus berupa daftar string. - benih (opsional) โ Ini memperbaiki keadaan acak untuk reproduktifitas. Jika ditentukan, itu harus bilangan bulat. Setiap kali Anda menggunakan prompt yang sama dengan seed yang sama, gambar yang dihasilkan akan selalu sama.
- tingkat_kebisingan (opsional) โ Ini menambahkan noise ke vektor laten sebelum peningkatan. Jika ditentukan, itu harus bilangan bulat.
Anda dapat meningkatkan skala gambar secara rekursif dengan memanggil titik akhir berulang kali untuk mendapatkan gambar dengan kualitas yang lebih tinggi dan lebih tinggi.
Ukuran gambar dan jenis instans
Gambar yang dihasilkan oleh model dapat berukuran hingga empat kali ukuran gambar asli beresolusi rendah. Selain itu, kebutuhan memori model (memori GPU) tumbuh dengan ukuran gambar yang dihasilkan. Oleh karena itu, jika Anda meningkatkan gambar beresolusi tinggi atau meningkatkan gambar secara rekursif, pilih jenis instans dengan memori GPU yang besar. Misalnya, ml.g5.2xlarge memiliki lebih banyak memori GPU daripada jenis instans ml.p3.2xlarge yang kita gunakan sebelumnya. Untuk informasi selengkapnya tentang berbagai jenis instans, lihat Jenis Instans Amazon EC2.
Meningkatkan gambar sepotong demi sepotong
Untuk mengurangi kebutuhan memori saat memperbesar gambar besar, Anda dapat memecah gambar menjadi beberapa bagian yang lebih kecil, yang dikenal sebagai ubin, dan tingkatkan setiap ubin satu per satu. Setelah ubin ditingkatkan, mereka dapat dicampur bersama untuk membuat gambar akhir. Metode ini memerlukan penyesuaian perintah untuk setiap petak sehingga model dapat memahami konten petak dan menghindari pembuatan gambar yang aneh. Bagian gaya prompt harus tetap konsisten untuk semua petak agar pencampuran lebih mudah. Saat menggunakan pengaturan denoising yang lebih tinggi, penting untuk lebih spesifik dalam prompt karena model memiliki lebih banyak kebebasan untuk mengadaptasi gambar. Hal ini dapat menjadi tantangan saat petak hanya berisi latar belakang atau tidak terkait langsung dengan konten utama gambar.
Keterbatasan dan bias
Meskipun Stable Diffusion memiliki performa yang mengesankan dalam upscaling, ia mengalami beberapa keterbatasan dan bias. Ini termasuk tetapi tidak terbatas pada:
- Model mungkin tidak menghasilkan wajah atau anggota tubuh yang akurat karena data pelatihan tidak menyertakan gambar yang memadai dengan fitur ini
- Model dilatih di Kumpulan data LAION-5B, yang memiliki konten khusus dewasa dan mungkin tidak sesuai untuk penggunaan produk tanpa pertimbangan lebih lanjut
- Model mungkin tidak bekerja dengan baik dengan bahasa non-Inggris karena model dilatih pada teks bahasa Inggris
- Model tidak dapat menghasilkan teks yang bagus di dalam gambar
Untuk informasi lebih lanjut tentang keterbatasan dan bias, lihat Kartu model upscaler Difusi Stabil.
Membersihkan
Setelah Anda selesai menjalankan notebook, pastikan untuk menghapus semua sumber daya yang dibuat dalam proses untuk memastikan penagihan dihentikan. Kode untuk membersihkan titik akhir tersedia di terkait buku catatan.
Kesimpulan
Dalam postingan ini, kami menunjukkan cara menerapkan model upscaler Stable Diffusion pra-pelatihan menggunakan JumpStart. Kami menunjukkan cuplikan kode di pos iniโkode lengkap dengan semua langkah dalam demo ini tersedia di Pengantar JumpStart โ Tingkatkan kualitas gambar yang dipandu oleh prompt contoh buku catatan. Cobalah solusinya sendiri dan kirimkan komentar Anda kepada kami.
Untuk mempelajari lebih lanjut tentang model dan cara kerjanya, lihat sumber daya berikut:
Untuk mempelajari lebih lanjut tentang JumpStart, lihat posting blog berikut:
Tentang Penulis
Dr Vivek Madan adalah Ilmuwan Terapan dengan tim JumpStart Amazon SageMaker. Dia mendapatkan gelar PhD dari University of Illinois di Urbana-Champaign dan merupakan Peneliti Pasca Doktoral di Georgia Tech. Dia adalah peneliti aktif dalam pembelajaran mesin dan desain algoritma dan telah menerbitkan makalah di konferensi EMNLP, ICLR, COLT, FOCS, dan SODA.
Heiko Hotzo adalah Arsitek Solusi Senior untuk AI & Pembelajaran Mesin dengan fokus khusus pada Pemrosesan Bahasa Alami (NLP), Model Bahasa Besar (LLM), dan AI Generatif. Sebelum peran ini, dia adalah Kepala Ilmu Data untuk Layanan Pelanggan UE Amazon. Heiko membantu pelanggan kami agar berhasil dalam perjalanan AI/ML mereka di AWS dan telah bekerja dengan organisasi di banyak industri, termasuk Asuransi, Layanan Keuangan, Media dan Hiburan, Perawatan Kesehatan, Utilitas, dan Manufaktur. Di waktu luangnya, Heiko bepergian sebanyak mungkin.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- Platoblockchain. Intelijen Metaverse Web3. Pengetahuan Diperkuat. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/upscale-images-with-stable-diffusion-in-amazon-sagemaker-jumpstart/
- 100
- 2022
- 7
- a
- Tentang Kami
- mempercepat
- Setuju
- Menerima
- mengakses
- Akun
- tepat
- akurat
- dicapai
- aktif
- menyesuaikan
- Tambahan
- Selain itu
- Menambahkan
- Dewasa
- Setelah
- terhadap
- AI
- AI & Pembelajaran Mesin
- AI / ML
- algoritma
- Semua
- memungkinkan
- sudah
- selalu
- Amazon
- Amazon SageMaker
- Mulai Lompatan Amazon SageMaker
- dan
- Mengumumkan
- api
- Lebah
- terapan
- sesuai
- Seniman
- terkait
- secara otomatis
- tersedia
- AWS
- latar belakang
- berdasarkan
- karena
- sebelum
- makhluk
- prasangka
- penagihan
- blending
- Blog
- Posting blog
- Istirahat
- membangun
- bernama
- Bisa Dapatkan
- KUCING
- menantang
- memeriksa
- Pilih
- kelas
- lebih jelas
- rapat
- kode
- komentar
- dibandingkan
- konferensi
- konsisten
- Wadah
- Wadah
- mengandung
- Konten
- konteks
- dikonversi
- membuat
- dibuat
- membuat
- adat
- pelanggan
- Layanan Pelanggan
- pelanggan
- data
- ilmu data
- mengurangi
- mendalam
- belajar mendalam
- Default
- mendemonstrasikan
- menyebarkan
- dikerahkan
- Mendesain
- rinci
- terperinci
- berbeda
- Difusi
- langsung
- cacat
- Buruh pelabuhan
- Tidak
- selama
- setiap
- Terdahulu
- mudah
- e-commerce
- efisien
- antara
- menghilangkan
- ujung ke ujung
- Titik akhir
- Inggris
- memastikan
- Menghibur
- masuk
- perkebunan
- EU
- contoh
- contoh
- wajah
- Fitur
- Sudah diambil
- beberapa
- File
- terakhir
- keuangan
- jasa keuangan
- Menemukan
- Pertama
- cocok
- keluwesan
- Mengapung
- Fokus
- berikut
- format
- Kebebasan
- dari
- penuh
- lebih lanjut
- Selanjutnya
- menghasilkan
- dihasilkan
- generasi
- generatif
- AI generatif
- Georgia
- mendapatkan
- Memberikan
- Melihat sekilas
- baik
- GPU
- Hijau
- tumbuh
- membimbing
- Panduan
- menangani
- kepala
- kesehatan
- tinggi
- membantu
- resolusi tinggi
- lebih tinggi
- Memukul
- tuan
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTML
- HTTPS
- Illinois
- gambar
- gambar
- penting
- impresif
- memperbaiki
- in
- memasukkan
- Termasuk
- Meningkatkan
- Secara individual
- industri
- informasi
- memasukkan
- contoh
- asuransi
- terpadu
- Antarmuka
- IT
- perjalanan
- json
- dikenal
- bahasa
- Bahasa
- besar
- Latensi
- memimpin
- BELAJAR
- pengetahuan
- Lets
- keterbatasan
- Terbatas
- batas
- baris
- Daftar
- lagi
- melihat
- terlihat seperti
- kehilangan
- Rendah
- mesin
- Mesin belajar
- Utama
- membuat
- panduan
- pekerjaan manual
- manual
- pabrik
- banyak
- Cocok
- Media
- Memori
- metode
- jutaan
- menit
- ML
- model
- model
- lebih
- beberapa
- Alam
- Pengolahan Bahasa alami
- Perlu
- New
- nLP
- Kebisingan
- buku catatan
- November
- jumlah
- obyek
- ONE
- Buka
- urutan
- organisasi
- asli
- Lainnya
- ikhtisar
- sendiri
- paket
- dokumen
- parameter
- bagian
- prestasi
- gambar
- bagian
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- Titik
- positif
- mungkin
- Pos
- Posts
- kekuatan
- meramalkan
- Prediksi
- Predictor
- menyajikan
- harga pompa cor beton mini
- Sebelumnya
- proses
- pengolahan
- Produk
- memberikan
- menyediakan
- menyediakan
- diterbitkan
- Ular sanca
- kualitas
- Acak
- Mentah
- siap
- nyata
- real estate
- menerima
- sarankan
- terkait
- tinggal
- BERKALI-KALI
- permintaan
- permintaan
- membutuhkan
- kebutuhan
- Persyaratan
- membutuhkan
- peneliti
- Resolusi
- Sumber
- Menanggapi
- tanggapan
- mengakibatkan
- dihasilkan
- Hasil
- kembali
- Pengembalian
- RGB
- Peran
- Run
- berjalan
- pembuat bijak
- sama
- Skala
- Ilmu
- ilmuwan
- layar
- script
- SDK
- Kedua
- Bagian
- bagian
- benih
- terpilih
- mengirim
- senior
- layanan
- Layanan
- pengaturan
- pengaturan
- beberapa
- harus
- Menunjukkan
- Pertunjukkan
- penting
- Demikian pula
- tunggal
- Ukuran
- lebih kecil
- lebih halus
- So
- larutan
- Solusi
- khusus
- tertentu
- ditentukan
- stabil
- Negara
- Tangga
- terhenti
- studio
- gaya
- sukses
- seperti itu
- Menderita
- cukup
- mendukung
- Mengambil
- Dibutuhkan
- tugas
- tugas
- tim
- tech
- teknik
- tes
- Grafik
- mereka
- karena itu
- Melalui
- waktu
- kali
- untuk
- hari ini
- bersama
- tradisional
- Pelatihan VE
- terlatih
- Pelatihan
- perjalanan
- jenis
- ui
- memahami
- universitas
- us
- menggunakan
- Pengguna
- User Interface
- keperluan
- memanfaatkan
- Berharga
- Nilai - Nilai
- berbagai
- melalui
- Video
- cara
- Apa
- yang
- putih
- akan
- dalam
- tanpa
- Kerja
- bekerja sama
- bekerja
- bekerja
- Kamu
- Anda
- zephyrnet.dll