All Products
Search
Document Center

Platform For AI:Terapkan aplikasi fine-tuning model Kohya SD dengan EAS dalam 5 menit

Last Updated:Mar 10, 2026

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

  1. Masuk ke Konsol OSS dan navigasikan ke path bucket di wilayah yang sama. Contohnya, oss://kohya-demo/kohya/.

  2. Di path bucket saat ini, buat folder proyek baru. Contohnya, KaraDetroit_loar. Di folder proyek ini, buat tiga folder bernama Image, Log, dan Model. Secara opsional, unggah file konfigurasi JSON ke folder proyek ini.

    image.png

    • 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.

  3. 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.

    image.png

    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=150 kali. 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

  1. Masuk ke Konsol PAI. Pilih wilayah di bagian atas halaman. Kemudian, pilih ruang kerja yang diinginkan dan klik Elastic Algorithm Service (EAS).

  2. Klik Deploy Service. Di bagian Custom Model Deployment, klik Custom Deployment.

  3. 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.

    Catatan

    Versi 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.

      Penting

      Matikan 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.

    Penting

    Pada 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
        }]
    }
  4. Tinjau konfigurasi dan klik Deploy. Penerapan model memerlukan waktu beberapa menit. Layanan berhasil diterapkan ketika Service Status berubah menjadi Running.

Latih model LoRA

  1. Di halaman Overview layanan, klik Web applications untuk membuka halaman layanan Kohya_ss.

  2. Pilih LoRA (LoRA).

    image

  3. Atur Configuration file. Langkah ini bersifat opsional. Jika file SS_config.json tidak tersedia, lewati langkah ini.

    image

    Catatan

    Path 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.

  4. Atur SourceModel. Topik ini menggunakan safetensors, yang menawarkan keamanan lebih baik daripada checkpoint.

    image

  5. Atur parameter Folders. Masukkan path untuk folder Image, Log, dan Model yang dibuat di OSS dan tentukan nama file output.

    image

    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 Image yang 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 Log yang 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 Model yang dibuat di OSS. Dalam topik ini, path-nya adalah /workspace/KaraDetroit_loar/Model.

    Model output name

    Nama output untuk model. Contohnya, my_model.

  6. Atur Parameters. Untuk informasi tentang nilai contoh, lihat isi file SS_config.json pada langkah Persiapan.

    Parameter

    Deskripsi

    LoRA Type

    Tipe LoRA:

    • LoCON: Dapat menyesuaikan setiap lapisan SD, seperti Res, Block, dan Transformer.

    • 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 cosine atau cosine with restart sesuai 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. DAdaptation merepresentasikan 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).

  7. Di bagian bawah halaman, klik Start training.image

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

    image

    Ketika model saved muncul di log, pelatihan selesai.

    image.png

  9. Setelah pelatihan selesai, ambil file model LoRA yang telah dilatih dari folder model yang dikonfigurasi (Model). Misalnya, my_model.safetensors.

    image.png

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

  1. 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/Lora secara otomatis dibuat di path OSS yang dipasang.

  2. Di bagian Command to Run, tambahkan parameter berikut:

    • --lora-dir: Parameter ini bersifat opsional.

      • Jika parameter --lora-dir tidak ditentukan, file model untuk semua pengguna diisolasi. Hanya file model di path {OSS_path}/data-{current_user_ID}/models/Lora yang dimuat.

      • Jika parameter --lora-dir ditentukan, 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.

  3. Unggah file model LoRA ke {OSS_path}/data-{current_user_ID}/models/Lora. Misalnya, oss://bucket-test/data-oss/data-1596******100/models/Lora.

    image.png

    Catatan

    Path /data-{current_user_ID}/models/Lora di 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.

    image.png

Stable Diffusion WebUI Edisi Dasar

  1. Konfigurasikan runtime image Stable Diffusion WebUI. Pilih versi non--cluster, seperti stable-diffusion-webui:4.2-standard. Setelah layanan dimulai, path /models/Lora secara otomatis dibuat di path OSS yang dipasang.

  2. Di bagian Command to Run, tambahkan parameter --data-dir {OSS_mount_path}. Misalnya, --data-dir /code/stable-diffusion-webui/data-oss.

  3. Unggah file model LoRA ke {OSS_path}/models/Lora. Misalnya, oss://bucket-test/data-oss/models/Lora.

    image.png

    Catatan

    Path /models/Lora di bucket OSS yang dipasang secara otomatis dibuat setelah layanan dimulai. Unggah file model LoRA setelah layanan dimulai.