全部产品
Search
文档中心

Container Service for Kubernetes:Gunakan percepatan CPU di node pool yang mendukung VM rahasia TDX untuk mempercepat model Stable Diffusion XL Turbo untuk inferensi teks-ke-gambar

更新时间:Jul 02, 2025

Anda dapat menambahkan instance Elastic Compute Service (ECS) dari keluarga instans kelas perusahaan generasi ke-8 g8i ke dalam kluster Container Service for Kubernetes (ACK) sebagai node pekerja dan mengadopsi teknologi Intel® Extension for PyTorch (IPEX) untuk mempercepat inferensi teks-ke-gambar. Anda juga dapat membuat node pool yang mendukung Trust Domain Extensions (TDX) VM rahasia lalu memigrasikan layanan inferensi Anda ke node pool tersebut untuk meningkatkan keamanan layanan inferensi. Topik ini menggunakan model Stable Diffusion XL Turbo sebagai contoh untuk menjelaskan cara menggunakan kebijakan percepatan CPU dan keluarga instans g8i untuk mendapatkan pengalaman inferensi model yang dipercepat sama seperti menggunakan instance ECS dengan percepatan GPU. Hal ini memungkinkan Anda mengembangkan layanan inferensi teks-ke-gambar yang stabil, berperforma tinggi, hemat biaya, dan aman.

Informasi latar belakang

Keluarga instans kelas perusahaan generasi ke-8 g8i

Keluarga instans ECS tujuan umum generasi ke-8 g8i diberdayakan oleh Unit Pemrosesan Infrastruktur Cloud (CIPU) dan Apsara Stack. Instans ini menggunakan prosesor Intel® Xeon® Scalable generasi ke-5 (dengan nama kode Emerald Rapids) untuk meningkatkan performa. Selain itu, keluarga instans g8i mengadopsi Advanced Matrix Extensions (AMX), yang menawarkan peningkatan performa AI dan keamanan. Semua instance ECS dari keluarga instans g8i mendukung Intel® TDX. Teknologi ini memungkinkan Anda menerapkan beban kerja di Lingkungan Eksekusi Tepercaya (TEE) tanpa melakukan perubahan pada aplikasi. Ini menghilangkan kesenjangan teknologi bagi pemula dan meningkatkan kerahasiaan aplikasi AI seperti model bahasa besar dengan kerugian performa minimal. Untuk informasi lebih lanjut, lihat g8i, keluarga instans tujuan umum.

Intel® TDX

Intel® TDX adalah teknologi berbasis perangkat keras CPU yang menyediakan isolasi dan enkripsi bantuan perangkat keras untuk instance ECS guna melindungi data runtime, seperti register CPU, data memori, dan injeksi interupsi. Intel® TDX membantu mencapai tingkat privasi data yang lebih tinggi dan mengurangi risiko yang terkait dengan akses tidak sah ke proses yang sedang berjalan atau data sensitif yang sedang diproses. Untuk informasi lebih lanjut tentang Intel® TDX, lihat Intel® Trust Domain Extensions (Intel® TDX).

Intel® TDX memberikan perlindungan out-of-the-box default untuk instance ECS dan aplikasi Anda. Anda dapat memigrasikan aplikasi ke instance yang mendukung TDX tanpa perlu memodifikasi kode aplikasi.

IPEX

Intel® Extension for PyTorch (IPEX) adalah ekstensi PyTorch sumber terbuka yang dikelola oleh Intel. IPEX sangat meningkatkan performa aplikasi AI yang menggunakan PyTorch dan berjalan pada prosesor Intel. Intel akan terus mengoptimalkan IPEX dengan teknologi perangkat keras dan perangkat lunak terdepan untuk memberdayakan komunitas PyTorch. Untuk informasi lebih lanjut, lihat IPEX.

Penting
  • Alibaba Cloud tidak menjamin legalitas, keamanan, dan akurasi model pihak ketiga "Stable Diffusion" dan "stabilityai/sdxl-turbo". Alibaba Cloud tidak bertanggung jawab atas segala kerugian atau kerusakan yang timbul dari penggunaan model-model ini.

  • Anda harus mematuhi perjanjian pengguna, spesifikasi penggunaan, dan hukum serta peraturan terkait model pihak ketiga. Anda setuju bahwa penggunaan model pihak ketiga sepenuhnya merupakan risiko Anda sendiri.

  • Layanan sampel dalam topik ini hanya untuk pembelajaran, pengujian, dan pembuktian konsep (POC) dan statistiknya hanya untuk referensi. Statistik sebenarnya mungkin berbeda berdasarkan lingkungan Anda.

Prasyarat

  • Sebuah kluster ACK Pro telah dibuat di wilayah Cina (Beijing). Untuk informasi lebih lanjut, lihat Buat kluster ACK yang dikelola.

  • Sebuah node pool telah dibuat.

    • Node pool reguler: Buat node pool yang berisi instance ECS dari keluarga instans g8i dan memenuhi persyaratan berikut:

      • Wilayah dan zona: Node pool berada di wilayah dan zona yang didukung oleh ECS. Untuk informasi lebih lanjut, lihat Jenis Instans yang Tersedia untuk Setiap Wilayah.

      • Jenis instans: Pilih jenis instans yang menyediakan setidaknya 16 vCPU. Kami merekomendasikan Anda memilih ecs.g8i.4xlarge, ecs.g8i.8xlarge, atau ecs.g8i.12xlarge.

      • Ruang disk: Ruang disk setiap node dalam node pool adalah minimal 200 GiB. Anda dapat menggunakan disk sistem atau disk data yang lebih besar dari 200 GiB.

    • Node pool yang mendukung VM rahasia TDX: Anda juga dapat memigrasikan aplikasi Anda secara mulus ke node pool yang mendukung VM rahasia TDX untuk meningkatkan keamanan layanan inferensi Anda. Untuk melakukannya, pastikan Prasyarat telah terpenuhi.

  • Klien kubectl terhubung ke kluster ACK. Untuk informasi lebih lanjut, lihat Hubungkan ke kluster ACK menggunakan kubectl.

Langkah 1: Persiapkan model Stable Diffusion XL Turbo

Model Stable Diffusion XL Turbo stabilityai/sdxl-turbo digunakan dalam contoh ini.

Prosedur

Gunakan model resmi stabilityai/sdxl-turbo

Buat file bernama values.yaml dan tambahkan konten berikut ke file tersebut. Anda dapat memodifikasi konfigurasi sumber daya berdasarkan jenis instans dari node pool.

resources:
   limits:
     cpu: "16"
     memory: 32Gi
   requests:
     cpu: "14"
     memory: 24Gi

Gunakan model stabilityai/sdxl-turbo kustom

Anda juga dapat menggunakan model stabilityai/sdxl-turbo kustom yang disimpan di Object Storage Service (OSS). Buat Pengguna Resource Access Management (RAM) yang memiliki izin akses OSS dan dapatkan pasangan AccessKey dari pengguna RAM tersebut.

Prosedur

  1. Buat file bernama models-oss-secret.yaml dan tambahkan konten berikut ke file tersebut.

    apiVersion: v1
    kind: Secret
    metadata:
      name: models-oss-secret
      namespace: default
    stringData:
      akId: <yourAccessKeyID>  # Ganti dengan ID AccessKey dari pengguna RAM.
      akSecret: <yourAccessKeySecret>  # Ganti dengan Rahasia AccessKey dari pengguna RAM.

  2. Jalankan perintah berikut untuk membuat Secret:

    kubectl create -f models-oss-secret.yaml

    Output yang Diharapkan:

    secret/models-oss-secret created
  3. Buat file bernama models-oss-pv.yaml dan tambahkan konten berikut ke file tersebut.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: models-oss-pv
      labels:
        alicloud-pvname: models-oss-pv
    spec:
      capacity:
        storage: 50Gi
      accessModes:
        - ReadOnlyMany
      persistentVolumeReclaimPolicy: Retain
      csi:
       driver: ossplugin.csi.alibabacloud.com
       volumeHandle: models-oss-pv
       nodePublishSecretRef:
         name: models-oss-secret
         namespace: default
       volumeAttributes:
         bucket: "<yourBucketName>"  # Ganti dengan nama Bucket OSS yang akan dimount.
         url: "<yourOssEndpoint>"  # Ganti dengan endpoint Bucket OSS yang akan dimount. Kami merekomendasikan Anda menggunakan endpoint internal. Dalam contoh ini, endpoint adalah oss-cn-beijing-internal.aliyuncs.com.
         otherOpts: "-o umask=022 -o max_stat_cache_size=0 -o allow_other"
         path: "/models"  # Jalur model. Pastikan direktori stabilityai/sdxl-turbo dapat ditemukan di jalur ini.

    Untuk informasi lebih lanjut tentang parameter OSS, lihat Mount volume ossfs 1.0 yang disediakan secara statis.

  4. Jalankan perintah berikut untuk membuat volume persisten (PV) yang disediakan secara statis:

    kubectl create -f models-oss-pv.yaml

    Output yang Diharapkan:

    persistentvolume/models-oss-pv created
  5. Buat file bernama models-oss-pvc.yaml dan tambahkan konten berikut ke file tersebut:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: models-oss-pvc
    spec:
      accessModes:
        - ReadOnlyMany
      resources:
        requests:
          storage: 50Gi
      selector:
        matchLabels:
          alicloud-pvname: models-oss-pv
  6. Jalankan perintah berikut untuk membuat klaim volume persisten (PVC):

    kubectl create -f models-oss-pvc.yaml

    Output yang Diharapkan:

    persistentvolumeclaim/models-oss-pvc created
  7. Buat file bernama values.yaml dan tambahkan konten berikut ke file tersebut.

    Anda dapat memodifikasi konfigurasi sumber daya berdasarkan jenis instans dari node pool.

    resources:
       limits:
         cpu: "16"
         memory: 32Gi
       requests:
         cpu: "14"
         memory: 24Gi
    
    useCustomModels: true
    volumes:
      models:
        name: data-volume
        persistentVolumeClaim:
          claimName: models-oss-pvc

Konfigurasi penyebaran layanan di values.yaml

Lihat Isi values.yaml

# Jumlah pod replika.
replicaCount: 1

# Gambar kontainer.
image:
  repository: registry-vpc.cn-beijing.aliyuncs.com/eric-dev/stable-diffusion-ipex
  pullPolicy: IfNotPresent
  tag: "v0.1.5"             # Gambar kontainer berisi file model stabilityai/sdxl-turbo.
  tagOnlyApi: "v0.1.5-lite"  # Gambar kontainer tidak berisi file model stabilityai/sdxl-turbo resmi. Anda perlu memount file model secara manual. Untuk informasi lebih lanjut, lihat komentar untuk parameter useCustomModels.

# Tentukan Secret yang menyimpan kredensial yang digunakan untuk menarik gambar kontainer pribadi kustom.
imagePullSecrets: []

# Jalur gambar di kontainer.
outputDirPath: /tmp/sd

# Tentukan apakah akan menggunakan model stabilityai/sdxl-turbo kustom.
useCustomModels: false

volumes:
  # Konfigurasi mount yang sesuai dengan outputDirPath.
  output:
    name: output-volume
    emptyDir: {}
  # Konfigurasi mount model stabilityai/sdxl-turbo kustom saat useCustomModels diatur ke true.
  # Letakkan file model di subdirektori stabilityai/sdxl-turbo di jalur mount.
  models:
    name: data-volume
    persistentVolumeClaim:
      claimName: models-oss-pvc
#    hostPath:
#      path: /data/models
#      type: DirectoryOrCreate


# Konfigurasi untuk mengekspos layanan.
service:
  type: ClusterIP
  port: 5000

# Konfigurasi sumber daya kontainer.
resources:
   limits:
     cpu: "16"
     memory: 32Gi
   requests:
     cpu: "14"
     memory: 24Gi

# Kebijakan pembaruan workload.
strategy:
  type: RollingUpdate

# Konfigurasi penjadwalan workload.
nodeSelector: {}
tolerations: []
affinity: {}

# Konfigurasi keamanan kontainer.
securityContext:
   capabilities:
     drop:
     - ALL
   runAsNonRoot: true
   runAsUser: 1000

# Tentukan apakah akan mengaktifkan Horizontal Pod Autoscaler (HPA).
# https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
autoscaling:
  enabled: false
  minReplicas: 1
  maxReplicas: 3
  targetCPUUtilizationPercentage: 80
  targetMemoryUtilizationPercentage: 90

Langkah 2: Sebarkan layanan sampel

  1. Jalankan perintah berikut untuk menyebarkan model Stable Diffusion XL Turbo yang dipercepat IPEX:

    helm install stable-diffusion-ipex https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/pre/charts-incubator/stable-diffusion-ipex-0.1.7.tgz -f values.yaml

    Output yang Diharapkan:

    NAME: stable-diffusion-ipex
    LAST DEPLOYED: Mon Jan 22 20:42:35 2024
    NAMESPACE: default
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None
  2. Tunggu 10 menit dan jalankan perintah berikut untuk memeriksa status pod. Pastikan pod sedang berjalan.

    kubectl get pod |grep stable-diffusion-ipex

    Output yang Diharapkan:

    stable-diffusion-ipex-65d98cc78-vmj49   1/1     Running            0                1m44s

Setelah layanan diterapkan, hasilkan API teks-ke-gambar yang dapat diakses publik. Untuk informasi lebih lanjut tentang API, lihat Parameter API.

Langkah 3: Uji layanan sampel

Prosedur

  1. Jalankan perintah berikut untuk memetakan port layanan model Stable Diffusion XL Turbo ke port lokal:

    kubectl port-forward svc/stable-diffusion-ipex 5000:5000

    Output yang Diharapkan:

    Forwarding from 127.0.0.1:5000 -> 5000
    Forwarding from [::1]:5000 -> 5000
  2. Gunakan prompt teks untuk meminta layanan menghasilkan gambar.

    Dalam contoh ini, layanan menghasilkan gambar 512x512 atau 1024x1024.

    Gambar 512x512

    Jalankan perintah berikut untuk meminta layanan menghasilkan gambar berdasarkan prompt teks Seekor panda mendengarkan musik dengan headphone. Sangat detail, 8k.:

    curl -X POST http://127.0.0.1:5000/api/text2image \
    	-d '{"prompt": "Seekor panda mendengarkan musik dengan headphone. Sangat detail, 8k.", "number": 1}'

    Output yang Diharapkan:

    {
      "averageImageGenerationTimeSeconds": 2.0333826541900635,
      "generationTimeSeconds": 2.0333826541900635,
      "id": "9ae43577-170b-45c9-ab80-69c783b41a70",
      "meta": {
        "input": {
          "batch": 1,
          "model": "stabilityai/sdxl-turbo",
          "number": 1,
          "prompt": "Seekor panda mendengarkan musik dengan headphone. Sangat detail, 8k.",
          "size": "512x512",
          "step": 4
        }
      },
      "output": [
        {
          "latencySeconds": 2.0333826541900635,
          "url": "http://127.0.0.1:5000/images/9ae43577-170b-45c9-ab80-69c783b41a70/0_0.png"
        }
      ],
      "status": "success"
    }

    Anda dapat memasukkan URL yang dikembalikan ke bilah alamat browser Anda untuk melihat gambar.

    Gambar 1024x1024

    Jalankan perintah berikut untuk meminta layanan menghasilkan gambar berdasarkan prompt teks Seekor panda mendengarkan musik dengan headphone. Sangat detail, 8k.:

    curl -X POST http://127.0.0.1:5000/api/text2image \
    	-d '{"prompt": "Seekor panda mendengarkan musik dengan headphone. Sangat detail, 8k.", "number": 1, "size": "1024x1024"}'

    Output yang Diharapkan:

    {
      "averageImageGenerationTimeSeconds": 8.635204315185547,
      "generationTimeSeconds": 8.635204315185547,
      "id": "ac341ced-430d-4952-b9f9-efa57b4eeb60",
      "meta": {
        "input": {
          "batch": 1,
          "model": "stabilityai/sdxl-turbo",
          "number": 1,
          "prompt": "Seekor panda mendengarkan musik dengan headphone. Sangat detail, 8k.",
          "size": "1024x1024",
          "step": 4
        }
      },
      "output": [
        {
          "latencySeconds": 8.635204315185547,
          "url": "http://127.0.0.1:5000/images/ac341ced-430d-4952-b9f9-efa57b4eeb60/0_0.png"
        }
      ],
      "status": "success"
    }

    Anda dapat memasukkan URL yang dikembalikan ke bilah alamat browser Anda untuk melihat gambar.

Data uji

Tabel berikut menjelaskan statistik durasi model Stable Diffusion XL Turbo yang menghasilkan gambar 512x512 dan 1024x1024 pada berbagai jenis instans ECS dari keluarga instans g8i. Statistik ini hanya untuk referensi. Statistik sebenarnya mungkin berbeda berdasarkan lingkungan Anda.

Jenis instans

Pod Request/Limit

Parameter

Durasi rata-rata setiap kali

(512x512)

Durasi rata-rata setiap kali

(1024x1024)

ecs.g8i.4xlarge

(16 vCPU, 64 GiB)

14/16

batch: 1

step: 4

2.2s

8.8s

ecs.g8i.8xlarge

(32 vCPU, 128 GiB)

24/32

batch: 1

step: 4

1.3s

4.7s

ecs.g8i.12xlarge

(48 vCPU, 192 GiB)

32/32

batch: 1

step: 4

1.1s

3.9s

(Opsional) Langkah 4: Migrasikan layanan ke node pool yang mendukung VM rahasia TDX

Setelah layanan sampel diterapkan, Anda dapat memigrasikan layanan secara mulus ke node pool yang mendukung VM rahasia TDX untuk meningkatkan keamanan layanan inferensi.

Prasyarat

  • Sebuah node pool yang mendukung VM rahasia TDX telah dibuat di kluster ACK dan node pool tersebut memenuhi persyaratan. Untuk informasi lebih lanjut, lihat Buat node pool yang mendukung VM rahasia TDX.

    Selain itu, node pool memenuhi persyaratan berikut:

    • Jenis instans: Pilih jenis instans yang menyediakan setidaknya 16 vCPU.Kami merekomendasikan Anda memilih ecs.g8i.4xlarge.

    • Ruang disk: Ruang disk setiap node dalam node pool adalah minimal 200 GiB. Anda dapat menggunakan disk sistem atau disk data yang lebih besar dari 200 GiB.

    • Label node: Tambahkan label nodepool-label=tdx-vm-pool ke node pool.

Prosedur

  1. Buat file bernama tdx_values.yaml dan tambahkan konten berikut ke file tersebut.

    Untuk informasi lebih lanjut tentang file values.yaml, lihat Konfigurasi Penyebaran Layanan di values.yaml.

    Catatan

    Dalam contoh ini, label nodepool-label=tdx-vm-pool ditambahkan ke node pool. Untuk menambahkan label lainnya, ganti nilai nodepool-label di bagian nodeSelector.

    nodeSelector:
      nodepool-label: tdx-vm-pool
  2. Jalankan perintah berikut untuk memigrasikan model Stable Diffusion ke node pool:

    helm upgrade stable-diffusion-ipex https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/pre/charts-incubator/stable-diffusion-ipex-0.1.7.tgz -f tdx_values.yaml 

    Output yang Diharapkan:

    Release "stable-diffusion-ipex" has been upgraded. Happy Helming!
    NAME: stable-diffusion-ipex
    LAST DEPLOYED: Wed Jan 24 16:38:04 2024
    NAMESPACE: default
    STATUS: deployed
    REVISION: 2
    TEST SUITE: None
  3. Tunggu 10 menit dan periksa status pod. Pastikan pod sedang berjalan.

    kubectl get pod |grep stable-diffusion-ipex

    Output yang Diharapkan:

    stable-diffusion-ipex-7f8c4f88f5-r478t   1/1     Running            0                1m44s
  4. Ulangi Langkah 3: Uji Layanan Sampel untuk menguji model Stable Diffusion di node pool.

Informasi API

Parameter API

Setelah Anda menyebarkan layanan Stable Diffusion XL Turbo dari model stabilityai/sdxl-turbo, layanan tersebut menghasilkan API teks-ke-gambar yang dapat diakses publik. Tabel berikut menjelaskan parameter API.

Sintaks permintaan

POST /api/text2image

Parameter permintaan

Parameter

Tipe

Deskripsi

prompt

string

Prompt teks.

number

integer

Jumlah gambar. Jumlah akhir gambar dihitung berdasarkan rumus berikut: number × batch.

size

string

Ukuran setiap gambar. Nilai default: 512x512.

Nilai valid:

  • 512x512

  • 1024x1024

step

integer

Pengaturan step. Nilai default: 4.

batch

integer

Ukuran batch. Nilai default: 1.

Contoh permintaan

{
  "prompt": "Seekor panda mendengarkan musik dengan headphone. Sangat detail, 8k.",
  "number": 1
}

Parameter respons

Parameter

Tipe

Deskripsi

id

string

ID pekerjaan.

averageImageGenerationTimeSeconds

float

Rata-rata waktu yang diperlukan untuk menghasilkan gambar. Satuan: detik.

generationTimeSeconds

float

Total waktu yang diperlukan untuk menghasilkan semua gambar. Satuan: detik.

meta

object

Metadata pekerjaan.

meta.input

object

Data input pekerjaan.

meta.input.model

string

Nama model.

meta.input.batch

integer

Ukuran batch.

meta.input.step

integer

Pengaturan step.

meta.input.number

integer

Jumlah gambar. Jumlah akhir gambar dihitung berdasarkan rumus berikut: number × batch.

output

array

Informasi gambar.

Ketika nilai number lebih besar dari 1, gambar tambahan yang menggabungkan semua gambar akan dihasilkan. Gambar tersebut diberi nama image_grid.png.

output[].url

string

URL gambar. Anda dapat melihat gambar di browser hanya ketika jumlah pod replika adalah 1.

output[].latencySeconds

float

Jumlah waktu yang diperlukan untuk menghasilkan batch. Satuan: detik.

status

string

Status pekerjaan.

Contoh respons

{
  "averageImageGenerationTimeSeconds": 2.0333826541900635,
  "generationTimeSeconds": 2.0333826541900635,
  "id": "9ae43577-170b-45c9-ab80-69c783b41a70",
  "meta": {
    "input": {
      "batch": 1,
      "model": "stabilityai/sdxl-turbo",
      "number": 1,
      "prompt": "Seekor panda mendengarkan musik dengan headphone. Sangat detail, 8k.",
      "size": "512x512",
      "step": 4
    }
  },
  "output": [
    {
      "latencySeconds": 2.0333826541900635,
      "url": "http://127.0.0.1:5000/images/9ae43577-170b-45c9-ab80-69c783b41a70/0_0.png"
    }
  ],
  "status": "success"
}

Perbandingan performa

Node pool yang mendukung VM rahasia TDX berisi instance ECS dari keluarga instans g8i yang diberdayakan oleh AMX dan IPEX. Mereka dapat secara efisien mempercepat inferensi teks-ke-gambar dan memungkinkan Anda mengaktifkan TEE untuk meningkatkan keamanan. Dalam contoh ini, instance ECS tipe ecs.g8i.4xlarge yang dilengkapi dengan prosesor Intel® Xeon® Scalable generasi ke-5 digunakan untuk menjalankan dan menyetel model stabilityai/sdxl-turbo. Contoh ini menunjukkan cara mengembangkan layanan inferensi teks-ke-gambar yang hemat biaya dan aman.

Dari segi kecepatan pembuatan gambar, percepatan GPU (A10) masih melampaui percepatan CPU. Ketika jenis instans adalah ecs.g8i.8xlarge, step adalah 30, dan ukuran batch adalah 16, gambar dihasilkan pada laju 0,14 gambar/detik. Ketika jenis instans adalah instance GPU A10, step adalah 30, dan ukuran batch adalah 16, gambar dihasilkan pada laju 0,4 gambar/detik. Namun, dari segi kualitas gambar optimal, ketika jenis instans adalah ecs.g8i.8xlarge, step adalah 4, dan ukuran batch adalah 16, gambar dihasilkan pada laju 1,2 gambar/detik. Ini berarti satu gambar masih dapat dihasilkan setiap detik tanpa mengorbankan kualitas gambar.

Oleh karena itu, solusi ini memberikan alternatif untuk percepatan GPU untuk membantu Anda mengembangkan layanan inferensi teks-ke-gambar yang stabil, berperforma tinggi, hemat biaya, dan aman.

Jika Anda memerlukan efisiensi biaya, komputasi rahasia TEE, dan pasokan sumber daya skala besar, kami merekomendasikan Anda menggunakan tipe instans ecs.g8i.4xlarge untuk menjalankan dan menyetel model stabilityai/sdxl-turbo.

  • Menggunakan ecs.g8i.8xlarge alih-alih ecs.gn7i-c8g1.2xlarge mengurangi biaya sebesar 9% dan tetap menjamin laju pembuatan gambar 1,2 gambar/detik.

  • Menggunakan ecs.g8i.4xlarge alih-alih ecs.gn7i-c8g1.2xlarge memperlambat pembuatan gambar menjadi 0,5 gambar/detik tetapi mengurangi biaya lebih dari 53%.

Catatan

Harga sebenarnya dari instance ECS di berbagai wilayah pada tab Pricing halaman Elastic Compute Service adalah yang berlaku.

Lihat Statistik Percepatan CPU dan GPU

Percepatan CPU

Data benchmarking model inferensi yang berbeda dihasilkan berdasarkan tipe instans ecs.g8i.8xlarge. Tabel berikut menjelaskan data benchmarking. Untuk informasi lebih lanjut, lihat Alat Benchmarking: lambda-diffusers.

Data benchmarking hanya untuk referensi. Data sebenarnya mungkin berbeda berdasarkan lingkungan Anda.

Jenis instans

Alibaba Cloud ecs.g8i.8xlarge 32vCPU, 128 GiB VM, EMR

Alibaba Cloud ecs.g8i.8xlarge 32vCPU, 128 GiB VM, EMR

step

4

30

Model

sdxl-turbo

stable-diffusion-2-1-base

Perintah

python sd_pipe_sdxl_turbo.py --bf16 --batch 1 --height 512 --width 512 --repeat 5 --step 4 --prompt "Seekor panda mendengarkan musik dengan headphone. Sangat detail, 8k"

python sd_pipe_infer.py --model /data/models/stable-diffusion-2-1-base --bf16 --batch 1 --height 512 --width 512 --repeat 5 --step 30 --prompt "Seekor panda mendengarkan musik dengan headphone. Sangat detail, 8k"

Performa

image

image

Percepatan GPU

Penting

Data benchmarking yang digunakan dalam contoh ini berasal dari Lambda Diffusers. Data benchmarking sebenarnya mungkin berbeda. Untuk informasi lebih lanjut, lihat Lambda Diffusers Benchmarking inferensi.

image

image

Referensi

Buat node pool yang mendukung VM rahasia TDX