Terapkan layanan open source Kohya_ss pada EAS untuk melatih model LoRA dan mengintegrasikannya ke Stable Diffusion guna meningkatkan generasi Seni AI.
Prasyarat
-
Aktifkan EAS dan buat ruang kerja default. Untuk informasi selengkapnya, lihat Aktifkan PAI dan buat ruang kerja default.
-
Jika menggunakan pengguna Resource Access Management (RAM) untuk menerapkan model, berikan izin kepada pengguna RAM tersebut untuk mengelola EAS. Untuk informasi selengkapnya, lihat Ketergantungan dan izin produk cloud: EAS.
-
Buat bucket Object Storage Service (OSS) dan folder di wilayah yang sama untuk menyimpan materi pelatihan, file model output, dan log. Untuk informasi tentang cara mengunggah file, lihat Unggah file.
Persiapan
-
Masuk ke Konsol OSS dan navigasikan ke path bucket di wilayah yang sama. Contohnya,
oss://kohya-demo/kohya/. -
Di path bucket saat ini, buat folder proyek baru. Contohnya,
KaraDetroit_loar. Di folder proyek ini, buat tiga folder bernamaImage,Log, danModel. Secara opsional, unggah file konfigurasi JSON ke folder proyek ini.
-
Image: Menyimpan file sumber untuk materi pelatihan.
-
Model: Menyimpan file model setelah pelatihan selesai.
-
Log: Menyimpan log.
-
SS_config.json: File JSON untuk konfigurasi batch parameter. File ini bersifat opsional. Ubah parameter seperti path folder dan nama model output dalam file JSON tersebut. Untuk informasi lebih lanjut tentang konfigurasi, lihat GitHub. Untuk contoh file, lihat SS_config.json.
-
-
Unggah gambar yang telah disiapkan ke folder
Image. Topik ini menggunakan paket sampel yang berisi gambar dan file deskripsi: 100_pic.zip. Unduh dan ekstrak file tersebut, lalu unggah folder hasil ekstraksi ke OSS. Hasilnya ditunjukkan pada gambar berikut.
Penting-
Format gambar yang didukung adalah
.png,.jpg,.jpeg,.webp, dan.bmp. -
Setiap gambar harus memiliki file deskripsi dengan nama yang sama dan ekstensi file
.txt. Deskripsi harus berada di baris pertama file tersebut. Jika sebuah gambar memiliki beberapa deskripsi, pisahkan dengan koma. -
Nama folder gambar harus mengikuti format: angka_nama. Contohnya, 100_pic. Nama tersebut dapat berupa string apa pun yang mematuhi aturan penamaan file OSS. Angka tersebut menunjukkan jumlah kali setiap gambar dilatih secara berulang. Nilai ini biasanya 100 atau lebih besar. Total jumlah iterasi pelatihan umumnya lebih dari 1.500.
-
Jika folder berisi 10 gambar, setiap gambar dilatih sebanyak
1500/10=150kali. Angka dalam nama folder gambar dapat berupa "150". -
Jika folder berisi 20 gambar, setiap gambar dilatih sebanyak
1500/20=75 (<100)kali. Angka dalam nama folder gambar dapat berupa "100".
-
-
Terapkan layanan Kohya_ss
-
Masuk ke Konsol PAI. Pilih wilayah di bagian atas halaman. Kemudian, pilih ruang kerja yang diinginkan dan klik Elastic Algorithm Service (EAS).
-
Klik Deploy Service. Di bagian Custom Model Deployment, klik Custom Deployment.
-
Di halaman Custom Deployment, konfigurasikan parameter menggunakan formulir atau dengan menentukan konfigurasi JSON.
Konfigurasi parameter dengan formulir
Parameter
Deskripsi
Basic Information
Service Name
Nama layanan kustom. Topik ini menggunakan kohya_ss_demo sebagai contoh.
Environment Information
Deployment Method
Pilih Image-based Deployment dan pilih Enable Web App.
Image Configuration
Dalam daftar Alibaba Cloud Image, pilih kohya_ss > kohya_ss:2.2.
CatatanVersi berkembang pesat. Pilih versi citra terbaru saat penerapan.
Storage Mount
Pilih OSS sebagai tipe mount dan konfigurasikan parameter berikut:
-
Uri: Pilih path OSS di wilayah yang sama. Topik ini menggunakan
oss://kohya-demo/kohya/. -
Mount Path: Sesuaikan path-nya. Topik ini menggunakan
/workspace.PentingMatikan sakelar Read-Only. Jika tidak, file model tidak dapat ditulis ke OSS.
Command to Run
Sistem secara otomatis mengonfigurasi perintah run setelah Anda memilih runtime image. Topik ini menggunakan
python -u kohya_gui.py --listen=0.0.0.0 --server_port=8000 --headless.-
--listen: Mengikat program ke alamat IP lokal yang ditentukan untuk menerima dan memproses permintaan eksternal. -
--server_port: Nomor port pendengar.
Resource Information
Resource Type
Pilih Public Resources.
Deployment
Untuk spesifikasi resource, GPU ml.gu7i.c16m60.1-gu30 direkomendasikan karena memberikan efektivitas biaya terbaik. Topik ini menggunakan spesifikasi minimum saat ini, ml.gu7i.c8m30.1-gu30.
Konfigurasi parameter dengan JSON
Di bagian Service Configurations, klik Edit dan masukkan konfigurasi dalam format JSON.
Berikut adalah contoh konfigurasi JSON.
PentingPada contoh berikut, ubah konfigurasi pada baris 4 ("name") dan baris 18 ("oss") sesuai kebutuhan.
{ "metadata": { "name": "kohya_ss_demo", "instance": 1, "enable_webservice": true }, "cloud": { "computing": { "instance_type": "ecs.gn6e-c12g1.12xlarge", "instances": null } }, "storage": [ { "oss": { "path": "oss://kohya-demo/kohya/", "readOnly": false }, "properties": { "resource_type": "model" }, "mount_path": "/workspace" }], "containers": [ { "image": "eas-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-eas/kohya_ss:1.2", "script": "python -u kohya_gui.py --listen=0.0.0.0 --server_port=8000 --headless", "port": 8000 }] } -
-
Tinjau konfigurasi dan klik Deploy. Penerapan model memerlukan waktu beberapa menit. Layanan berhasil diterapkan ketika Service Status berubah menjadi Running.
Latih model LoRA
-
Di halaman Overview layanan, klik Web applications untuk membuka halaman layanan Kohya_ss.
-
Pilih LoRA (LoRA).

-
Atur Configuration file. Langkah ini bersifat opsional. Jika file
SS_config.jsontidak tersedia, lewati langkah ini.
CatatanPath file konfigurasi terdiri dari Mount Path dari bagian Konfigurasi Parameter dengan Formulir, path folder yang dibuat di OSS, dan SS_config.json. Dalam topik ini, path-nya adalah
/workspace/KaraDetroit_loar/SS_config.json. -
Atur SourceModel. Topik ini menggunakan safetensors, yang menawarkan keamanan lebih baik daripada checkpoint.

-
Atur parameter Folders. Masukkan path untuk folder
Image,Log, danModelyang dibuat di OSS dan tentukan nama file output.
Parameter
Deskripsi
Image folder
Path ke folder yang berisi gambar untuk pelatihan. Atur ke Mount Path dari bagian Konfigurasi parameter dengan formulir, digabungkan dengan path
Imageyang dibuat di OSS. Dalam topik ini, path-nya adalah/workspace/KaraDetroit_loar/Image.Logging folder
Path ke folder untuk output log. Atur ke Mount Path dari bagian Konfigurasi parameter dengan formulir, digabungkan dengan path
Logyang dibuat di OSS. Dalam topik ini, path-nya adalah/workspace/KaraDetroit_loar/Log.Output folder
Path ke folder untuk output model. Atur ke Mount Path dari bagian Konfigurasi parameter dengan formulir, digabungkan dengan path
Modelyang dibuat di OSS. Dalam topik ini, path-nya adalah/workspace/KaraDetroit_loar/Model.Model output name
Nama output untuk model. Contohnya, my_model.
-
Atur Parameters. Untuk informasi tentang nilai contoh, lihat isi file
SS_config.jsonpada langkah Persiapan.Parameter
Deskripsi
LoRA Type
Tipe LoRA:
-
LoCON: Dapat menyesuaikan setiap lapisan SD, sepertiRes,Block, danTransformer. -
LoHA: Memproses lebih banyak informasi dengan ukuran yang sama.
LoRA network weights
Bobot jaringan LoRA. Jika melanjutkan pelatihan, pilih LoRA yang terakhir dilatih. Parameter ini bersifat opsional.
Train batch size
Ukuran batch pelatihan. Nilai yang lebih besar memerlukan VRAM lebih banyak.
Epoch
Jumlah epoch pelatihan. Satu epoch adalah satu siklus penuh melalui semua data pelatihan. Hitung nilai ini secara manual. Secara umum:
-
Total iterasi pelatihan di Kohya = Jumlah gambar pelatihan × Pengulangan × Jumlah epoch / Ukuran batch pelatihan. -
Total iterasi pelatihan di WebUI = Jumlah gambar pelatihan × Pengulangan.
Saat menggunakan class images, total jumlah iterasi pelatihan menjadi dua kali lipat baik di Kohya maupun WebUI. Jumlah penyimpanan model di Kohya menjadi separuhnya.
Save every N epochs
Menyimpan model setiap N epoch. Misalnya, jika diatur ke 2, hasil pelatihan disimpan setiap 2 epoch.
Caption Extension
Ekstensi nama file untuk file caption, misalnya .txt. Parameter ini bersifat opsional.
Mixed precision
Precision campuran. Bergantung pada performa kartu grafis. Opsi default adalah no, fp16, dan bf16. Untuk kartu grafis dengan VRAM lebih dari 30 GB, atur ke bf16.
Save precision
Precision penyimpanan. Sama seperti di atas.
Number of CPU threads per core
Jumlah thread CPU per core. Terutama memengaruhi VRAM. Sesuaikan berdasarkan instans yang dibeli dan kebutuhan.
Learning rate
Laju pembelajaran. Default-nya adalah 0.0001.
LR Scheduler
Penjadwal laju pembelajaran. Pilih fungsi seperti
cosineataucosine with restartsesuai kebutuhan.LR Warmup (% of steps)
Atur jumlah langkah pra-ambil. Sesuaikan nilai ini sesuai kebutuhan. Default-nya adalah 10. Jika pra-ambil tidak diperlukan, pilih 0.
Optimizer
Optimizer. Pilih sesuai kebutuhan. Default-nya adalah
AdamW8bit.DAdaptationmerepresentasikan operasi otomatis.Max Resolution
Resolusi maksimum. Atur berdasarkan properti gambar.
Network Rank (Dimension)
Kompleksitas model. Nilai 128 umumnya cukup untuk sebagian besar skenario.
Network Alpha
Umumnya diatur ke nilai yang lebih kecil dari atau sama dengan Network Rank (Dimension). Pengaturan umum adalah Network Rank 128 dan Network Alpha 64.
Convolution Rank (Dimension)
& Convolution Alpha
Tingkat konvolusi. Ini adalah cakupan fine-tuning LoRA pada model. Sesuaikan berdasarkan LoRA Type.
Rekomendasi resmi Kohya:
-
LoCon:dim <= 64,alpha = 1(atau lebih rendah). -
LoHA:dim <= 32,alpha = 1.
clip skip
Jumlah kali model CLIP digunakan. Nilainya berkisar antara 1 hingga 12. Nilai yang lebih kecil menghasilkan gambar yang lebih mirip dengan gambar asli atau input.
-
Untuk model realistis, pilih 1.
-
Untuk model bergaya anime, pilih 2.
Sample every n epoch
Mengambil sampel setiap N epoch. Menyimpan sampel setiap beberapa epoch.
Sample Prompts
Prompt sampel. Gunakan perintah dengan parameter berikut:
-
--n: Prompt, prompt negatif. -
--w: Lebar gambar. -
--h: Tinggi gambar. -
--d: Seed gambar. -
--l: Relevansi prompt (cfg). -
--s: Langkah iterasi (steps).
-
-
Di bagian bawah halaman, klik Start training.

-
Di daftar layanan pada halaman EAS, klik nama layanan untuk menuju halaman detail layanan. Klik Log untuk melihat progres pelatihan secara real time.

Ketika
model savedmuncul di log, pelatihan selesai.
-
Setelah pelatihan selesai, ambil file model LoRA yang telah dilatih dari folder model yang dikonfigurasi (
Model). Misalnya,my_model.safetensors.
Gunakan model LoRA yang telah dilatih untuk Seni AI dengan Stable Diffusion
Setelah melatih model LoRA, unggah ke direktori SD WebUI yang sesuai dan pasang untuk menghasilkan gambar menggunakan model LoRA yang telah dilatih. Untuk informasi lebih lanjut tentang cara menerapkan layanan Stable Diffusion, lihat Terapkan Layanan Stable Diffusion dengan EAS dalam 5 Menit untuk Mengaktifkan Generasi Teks-ke-Gambar.
Bagian berikut menjelaskan cara mengunggah file model LoRA ke Stable Diffusion WebUI.
Stable Diffusion WebUI Edisi Kluster
-
Konfigurasikan runtime image Stable Diffusion WebUI. Pilih versi kluster, seperti stable-diffusion-webui:4.2-cluster-webui. Setelah layanan dimulai, path
/data-{current_user_ID}/models/Lorasecara otomatis dibuat di path OSS yang dipasang. -
Di bagian Command to Run, tambahkan parameter berikut:
-
--lora-dir: Parameter ini bersifat opsional.-
Jika parameter
--lora-dirtidak ditentukan, file model untuk semua pengguna diisolasi. Hanya file model di path{OSS_path}/data-{current_user_ID}/models/Lorayang dimuat. -
Jika parameter
--lora-dirditentukan, semua pengguna memuat file model dari direktori yang ditentukan dan direktori{OSS_path}/data-{current_user_ID}/models/Lora. Contohnya,--lora-dir /code/stable-diffusion-webui/data-oss/models/Lora.
-
-
--data-dir {OSS_mount_path}, misalnya,--data-dir /code/stable-diffusion-webui/data-oss.
-
-
Unggah file model LoRA ke
{OSS_path}/data-{current_user_ID}/models/Lora. Misalnya,oss://bucket-test/data-oss/data-1596******100/models/Lora.
CatatanPath
/data-{current_user_ID}/models/Loradi OSS secara otomatis dibuat setelah layanan dimulai. Unggah file model LoRA setelah layanan dimulai.Temukan
{current_user_ID}dengan mengklik foto profil di pojok kanan atas halaman.
Stable Diffusion WebUI Edisi Dasar
-
Konfigurasikan runtime image Stable Diffusion WebUI. Pilih versi non-
-cluster, seperti stable-diffusion-webui:4.2-standard. Setelah layanan dimulai, path/models/Lorasecara otomatis dibuat di path OSS yang dipasang. -
Di bagian Command to Run, tambahkan parameter
--data-dir {OSS_mount_path}. Misalnya,--data-dir /code/stable-diffusion-webui/data-oss. -
Unggah file model LoRA ke
{OSS_path}/models/Lora. Misalnya,oss://bucket-test/data-oss/models/Lora.
CatatanPath
/models/Loradi bucket OSS yang dipasang secara otomatis dibuat setelah layanan dimulai. Unggah file model LoRA setelah layanan dimulai.