All Products
Search
Document Center

Platform For AI:Aktifkan caching memori untuk direktori lokal

Last Updated:Mar 01, 2026

Saat file model yang disimpan di Object Storage Service (OSS) atau Apsara File Storage NAS (NAS) dipasang ke direktori lokal, lebar pita jaringan membatasi kinerja pembacaan. Elastic Algorithm Service (EAS) menyimpan cache file-file tersebut dari disk ke memori, sehingga mempercepat pembacaan data dan mengurangi latensi selama inferensi model.

Cara kerja

EAS memasang file model ke direktori lokal dari OSS, NAS, atau image Docker. Untuk informasi lebih lanjut, lihat Mount storage. Pembacaan model, pergantian model, dan penskalaan kontainer semuanya bergantung pada lebar pita jaringan. Dalam skenario Stable Diffusion, permintaan inferensi sering kali berganti-ganti antara model dasar dan model Low-Rank Adaptation (LoRA). Setiap pergantian membaca file dari OSS atau NAS, yang meningkatkan latensi jaringan.

Caching memori mengatasi masalah ini. Diagram berikut menunjukkan arsitekturnya.

image
  • File model dalam direktori lokal di-cache ke memori.

  • Cache menggunakan kebijakan penggantian least recently used (LRU) dan mendukung berbagi file antar instans. File yang di-cache muncul sebagai direktori sistem file standar.

  • Layanan membaca file yang di-cache langsung dari memori tanpa perlu mengubah kode bisnis.

  • Instans dalam suatu layanan berbagi jaringan peer-to-peer (P2P). Saat Anda melakukan scale-out layanan, instans baru membaca file yang di-cache dari instans terdekat melalui jaringan P2P, sehingga mempercepat proses scale-out kluster.

Catatan penggunaan

  • Direktori cache bersifat read-only untuk memastikan konsistensi data.

  • Untuk menambahkan file model, letakkan file tersebut di direktori sumber. File tersebut akan tersedia secara otomatis di direktori cache.

  • Jangan langsung memodifikasi atau menghapus file model di direktori sumber karena tindakan tersebut dapat menyebabkan data kotor di cache.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Ruang kerja Platform for AI (PAI) dengan akses EAS

  • File model yang disimpan di OSS atau NAS

  • Tipe instans yang sesuai dengan memori mencukupi untuk caching (misalnya, ml.gu7i.c16m60.1-gu30)

Konfigurasikan caching memori di Konsol PAI

Bagian ini menggunakan Stable Diffusion sebagai contoh dengan konfigurasi berikut:

  • Perintah startup image: ./webui.sh --listen --port 8000 --skip-version-check --no-hashing --no-download-sd-model --skip-prepare-environment --api --filebrowser

  • Direktori OSS untuk file model: oss://path/to/models/

  • Direktori kontainer untuk file model (direktori sumber): /code/stable-diffusion-webui/data-slow

Direktori sumber /code/stable-diffusion-webui/data-slow menyimpan file model. File-file tersebut kemudian dipasang ke direktori cache /code/stable-diffusion-webui/data-fast. Layanan membaca file model dari direktori cache, bukan dari direktori sumber.

Konfigurasikan caching memori di Konsol PAI

  1. Masuk ke Konsol PAI. Pilih Wilayah di bilah navigasi atas, lalu pilih ruang kerja yang diinginkan dan klik Enter Elastic Algorithm Service (EAS).

  2. Klik Deploy Service, lalu pilih Custom Deployment pada bagian Custom Model Deployment.

  3. Pada halaman Custom Deployment, konfigurasikan parameter berikut. Untuk informasi mengenai parameter lainnya, lihat Penerapan kustom.

    ParameterDeskripsiContoh
    Environment Information > Model SettingsPilih mode mount OSS.Uri: oss://path/to/models/
    Mount Path: /code/stable-diffusion-webui/data-slow
    CommandKonfigurasikan parameter startup berdasarkan image atau kode Anda. Untuk Stable Diffusion, tambahkan parameter --ckpt-dir dan atur ke direktori cache../webui.sh --listen --port 8000 --skip-version-check --no-hashing --no-download-sd-model --skip-prepare-environment --api --filebrowser --ckpt-dir /code/stable-diffusion-webui/data-fast
    Features > Distributed cache accelerationAktifkan Memory Caching dan konfigurasikan parameter berikut:Maximum Memory Usage: 20 GB
    Maximum Memory Usage: memori maksimum untuk file yang di-cache, dalam satuan GB. Jika melebihi batas ini, kebijakan LRU akan mengganti file yang di-cache.Source Path: /code/stable-diffusion-webui/data-slow
    Source Path: direktori sumber file yang di-cache. Ini bisa berupa direktori mount OSS atau NAS, subdirektori dari direktori mount, atau direktori file biasa di dalam kontainer.Mount Path: /code/stable-diffusion-webui/data-fast
    Mount Path: direktori cache tempat layanan membaca file.
  4. Klik Deploy.

Konfigurasikan caching memori menggunakan file konfigurasi JSON

Langkah 1: Siapkan file konfigurasi

Buat file konfigurasi JSON. Berikut adalah contoh konfigurasinya:

{
    "cloud": {
        "computing": {
            "instances": [
                {
                    "type": "ml.gu7i.c16m60.1-gu30"
                }
            ]
        }
    },
    "containers": [
        {
            "image": "eas-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-eas/stable-diffusion-webui:4.2",
            "port": 8000,
            "script": "./webui.sh --listen --port 8000 --skip-version-check --no-hashing --no-download-sd-model --skip-prepare-environment --api --filebrowser --ckpt-dir /code/stable-diffusion-webui/data-fast"
        }
    ],
    "metadata": {
        "cpu": 16,
        "enable_webservice": true,
        "gpu": 1,
        "instance": 1,
        "memory": 60000,
        "name": "sdwebui_test"
    },
    "options": {
        "enable_cache": true
    },
    "storage": [
        {
            "cache": {
                "capacity": "20G",
                "path": "/code/stable-diffusion-webui/data-slow"
            },
            "mount_path": "/code/stable-diffusion-webui/data-fast"
        },
        {
            "mount_path": "/code/stable-diffusion-webui/data-slow",
            "oss": {
                "path": "oss://path/to/models/",
                "readOnly": false
            },
            "properties": {
                "resource_type": "model"
            }
        }
    ]
}

Tabel berikut menjelaskan parameter terkait cache. Untuk informasi tentang parameter lainnya, lihat Parameters of model services.

ParameterDeskripsi
scriptPerintah startup. Konfigurasikan berdasarkan image atau kode Anda. Untuk Stable Diffusion, tambahkan parameter --ckpt-dir dan atur ke direktori cache.
cache.capacityMemori maksimum untuk file yang di-cache. Satuan: GB. Jika melebihi batas ini, kebijakan LRU akan mengganti file yang di-cache.
cache.pathDirektori sumber file yang di-cache. Ini bisa berupa direktori mount OSS atau NAS di dalam kontainer, subdirektori dari direktori mount, atau direktori file biasa di dalam kontainer.
mount_path (entri cache)Direktori cache tempat file yang di-cache dipasang. File dalam direktori ini mencerminkan direktori sumber. Layanan membaca file dari direktori ini.

Langkah 2: Terapkan layanan

Terapkan layanan dengan salah satu metode berikut.

Terapkan di Konsol PAI

  1. Masuk ke Konsol PAI. Pilih Wilayah di bilah navigasi atas, lalu pilih ruang kerja yang diinginkan dan klik Enter Elastic Algorithm Service (EAS).

  2. Di halaman Elastic Algorithm Service (EAS), klik Deploy Service. Di halaman Deploy Service, klik JSON Deployment di bagian Custom Model Deployment, lalu tempel konfigurasi JSON dari Langkah 1 ke editor.

  3. Klik Deploy.

Terapkan menggunakan klien EASCMD

  1. Unduh klien EASCMD dan selesaikan otentikasi identitas. Untuk informasi lebih lanjut, lihat Download the EASCMD client and complete identity authentication.

  2. Simpan konfigurasi JSON dari Langkah 1 sebagai test.json di direktori tempat klien EASCMD diinstal.

  3. Jalankan perintah berikut. Contoh ini menggunakan Windows 64-bit:

    eascmdwin64.exe create <test.json>

Tolok ukur kinerja

Tabel berikut menunjukkan kinerja pergantian model dalam skenario Stable Diffusion. Semua nilai dalam satuan detik. Hasil aktual bervariasi tergantung lingkungan Anda.

ModelUkuranOSS mount (s)Local memory hit (s)Remote memory hit (s)
anything-v4.5.safetensors7,2 GB89,883,84515,18
Anything-v5.0-PRT-RE.safetensors2,0 GB16,732,9675,46
cetusMix_Coda2.safetensors3,6 GB24,763,2497,13
chilloutmix_NiPrunedFp32Fix.safetensors4,0 GB48,793,5568,47
CounterfeitV30_v30.safetensors4,0 GB64,993,0147,94
deliberate_v2.safetensors2,0 GB16,332,9855,55
DreamShaper_6_NoVae.safetensors5,6 GB71,783,41610,17
pastelmix-fp32.ckpt4,0 GB43,884,9599,23
revAnimated_v122.safetensors4,0 GB69,383,1653,20
  • Jika tidak ada file model di cache memori, CacheFS secara otomatis membaca file model dari direktori sumber. Misalnya, jika file dipasang dari Bucket OSS, CacheFS membaca dari Bucket OSS tersebut.

  • Saat layanan memiliki beberapa instans, instans-instans tersebut berbagi memori di seluruh kluster. Suatu instans dapat membaca file model langsung dari memori instans lain di kluster. Waktu baca bervariasi tergantung ukuran file.

  • Saat Anda melakukan scale-out kluster layanan, instans baru secara otomatis membaca file model dari memori instans yang sudah ada selama inisialisasi, sehingga mempercepat operasi scale-out.