全部产品
Search
文档中心

Platform For AI:Menyebar layanan potret online sebagai pekerjaan yang dapat diskalakan

更新时间:Nov 20, 2025

Topik ini menjelaskan cara menyebar layanan potret online sebagai pekerjaan yang dapat diskalakan untuk melakukan inferensi, mengatasi masalah seperti pemanfaatan sumber daya yang tidak optimal dan gangguan permintaan selama skala-masuk.

Prasyarat

  • Virtual private cloud (VPC) telah dibuat dan akses Internet diaktifkan untuk VPC tersebut.

    1. VPC, vSwitch, dan grup keamanan telah dibuat. Untuk informasi selengkapnya, lihat Buat VPC dengan blok CIDR IPv4 dan Buat grup keamanan.

    2. Gateway NAT Internet telah dibuat di dalam VPC. Alamat IP elastis (EIP) dikaitkan dengan gateway tersebut dan entri SNAT dikonfigurasi pada gateway. Untuk informasi selengkapnya, lihat Gunakan fitur SNAT gateway NAT Internet untuk mengakses Internet.

  • Untuk pelatihan model dan pembuatan potret, siapkan 5 hingga 20 citra pelatihan dan 1 citra templat. Format citra berikut didukung: .jpg, .jpeg, dan .png. Pastikan ukuran setiap citra lebih besar dari 512 x 512 piksel.

    • Potret satu orang: Citra templat harus berisi wajah seseorang. Wajah-wajah dalam beberapa citra pelatihan berasal dari orang yang sama.

    • Potret multi-orang: Citra templat harus berisi beberapa wajah, dan jumlah wajah tersebut harus sama dengan nilai parameter model_id yang ditentukan untuk pelatihan model.

  • Bucket Object Storage Service (OSS) telah dibuat. Untuk informasi selengkapnya, lihat Buat bucket.

Batasan

Solusi Portret AI hanya didukung di wilayah Tiongkok (Beijing) dan Singapura.

Menyebar pekerjaan yang dapat diskalakan untuk inferensi model

Menyebar layanan verifikasi

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

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

  3. Pada halaman Custom Deployment, konfigurasikan parameter berikut. Tabel-tabel berikut menjelaskan parameter kunci; gunakan pengaturan default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Penyebaran kustom.

    • Pada bagian Basic Information, masukkan nama layanan, misalnya photog_check.

    • Pada bagian Environment Information, konfigurasikan parameter sesuai tabel berikut.

      Parameter

      Deskripsi

      Deployment Method

      Pilih Image-based Deployment dan aktifkan Asynchronous Queue.

      Image Configuration

      Pilih Image Address dan tentukan alamat citra. Nilai yang valid:

      • registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:check. 1.0.0.pub: alamat citra di wilayah Tiongkok (Beijing).

      • registry.ap-southeast-1.aliyuncs.com/mybigpai/photog_pub:check. 1.0.0.pub: alamat citra di wilayah Singapura.

      Code Build

      Klik OSS dan konfigurasikan parameter berikut:

      • Uri: Pilih jalur bucket OSS. Contoh: oss://examplebucket/.

      • Mount Path: Masukkan /photog_oss.

      Command

      Masukkan python app.py.

      Port Number

      Masukkan 7860.

    • Pada bagian Resource Information, konfigurasikan parameter sesuai tabel berikut.

      Parameter

      Deskripsi

      Resource Type

      Pilih Public Resources.

      Deployment Resources

      Pilih tipe instans -gu30 pada tab GPU. Kami merekomendasikan Anda menggunakan tipe instans ml.gu7i.c32m188.1-gu30.

      Additional System Disk

      Tetapkan nilainya menjadi 120. Satuan: GiB.

    • Pada bagian Asynchronous Queue, konfigurasikan parameter sesuai tabel berikut.

      Parameter

      Deskripsi

      Resource Type

      Pilih Public Resources.

      Deployment

      • Minimum Instances: 1

      • vCPUs: 8 Core

      • Memory (GB): 64 GB

      Maximum Data for A Single Input Request

      Tetapkan nilainya menjadi 20480 KB untuk memastikan ruang penyimpanan cukup bagi setiap permintaan dalam antrian.

      Maximum Data for A Single Output

    • Pada bagian Service Access, pilih virtual private cloud (VPC), vSwitch, dan grup keamanan yang telah Anda buat.

    • Pada bagian Service Configuration, tambahkan opsi berikut. Untuk informasi selengkapnya, lihat contoh konfigurasi lengkap.

      Field

      Opsi baru

      metadata

      Tambahkan opsi berikut:

      "rpc": {
                  "keepalive": 3600000,
                  "worker_threads": 1
              }
      • keepalive: waktu pemrosesan maksimum untuk satu permintaan. Satuan: milidetik. Tetapkan nilainya menjadi 3600000.

      • worker_threads: jumlah thread yang digunakan untuk memproses permintaan secara konkuren di setiap instans Elastic Algorithm Service (EAS).

        Nilai default adalah 5, yang berarti lima pekerjaan pertama dalam antrian akan ditugaskan ke instans yang sama. Untuk memastikan permintaan diproses dalam antrian secara berurutan, kami merekomendasikan Anda menetapkan opsi ini menjadi 1.

      queue

      Tambahkan opsi "max_delivery": 1 untuk mencegah pengiriman ulang setelah kegagalan.

      Contoh konfigurasi lengkap:

      {
          "metadata": {
              "name": "photog_check",
              "instance": 1,
              "rpc": {
                  "keepalive": 3600000,
                  "worker_threads": 1
              },
              "type": "Async"
          },
          "cloud": {
              "computing": {
                  "instance_type": "ml.gu7i.c32m188.1-gu30",
                  "instances": null
              },
              "networking": {
                  "vswitch_id": "vsw-2ze4o9kww55051tf2****",
                  "security_group_id": "sg-2ze0kgiee55d0fn4****",
                  "vpc_id": "vpc-2ze5hl4ozjl4fo7q3****"
              }
          },
          "features": {
              "eas.aliyun.com/extra-ephemeral-storage": "100Gi"
          },
          "queue": {
              "cpu": 8,
              "max_delivery": 1,
              "min_replica": 1,
              "memory": 64000,
              "resource": "",
              "source": {
                  "max_payload_size_kb": 20480
              },
              "sink": {
                  "max_payload_size_kb": 20480
              }
          },
          "storage": [
              {
                  "oss": {
                      "path": "oss://examplebucket/",
                      "readOnly": false
                  },
                  "properties": {
                      "resource_type": "code"
                  },
                  "mount_path": "/photog_oss"
              }
          ],
          "containers": [
              {
                  "image": "registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:check.1.0.0.pub",
                  "script": "python app.py",
                  "port": 7860
              }
          ]
      }
    • Klik Deploy.

Menyebar layanan pelatihan

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

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

  3. Pada halaman Custom Deployment, konfigurasikan parameter. Tabel-tabel berikut menjelaskan parameter kunci; gunakan pengaturan default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Penyebaran kustom.

    • Pada bagian Basic Information, masukkan Service Name, misalnya photog_check.

    • Pada bagian Environment Information, konfigurasikan parameter sesuai tabel berikut.

      Parameter

      Deskripsi

      Deployment Method

      Pilih Image-based Deployment dan aktifkan Asynchronous Queue.

      Image Configuration

      Pilih Image Address dan tentukan alamat citra. Nilai yang valid:

      • Alamat citra di wilayah Tiongkok (Beijing): registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:train. 1.0.0.pub.

      • Alamat citra di wilayah Singapura: registry.ap-southeast-1.aliyuncs.com/mybigpai/photog_pub:train. 1.0.0.pub.

      Code Build

      Klik OSS dan konfigurasikan parameter berikut:

      • Uri: Pilih jalur bucket OSS yang Anda tentukan untuk layanan verifikasi. Contoh: oss://examplebucket/.

      • Mount Path: Dalam contoh ini, digunakan /photog_oss.

      Command

      Masukkan python app.py.

      Port Number

      Masukkan 7860.

    • Pada bagian Resource Information, konfigurasikan parameter sesuai tabel berikut.

      Parameter

      Deskripsi

      Resource Type

      Pilih Public Resources.

      Deployment Resources

      Pilih tipe instans -gu30 pada tab GPU. Kami merekomendasikan Anda menggunakan tipe instans ml.gu7i.c32m188.1-gu30.

      Additional System Disk

      Tetapkan nilainya menjadi 120. Satuan: GiB.

    • Pada bagian Asynchronous Queue, konfigurasikan parameter sesuai tabel berikut.

      Parameter

      Deskripsi

      Resource Type

      Pilih Public Resources.

      Deployment

      • Minimum Instances: 1

      • vCPUs: 8 Core

      • Memory (GB): 64 GB

      Maximum Data for A Single Input Request

      Tetapkan nilainya menjadi 20480 KB untuk memastikan ruang penyimpanan cukup bagi setiap permintaan dalam antrian.

      Maximum Data for A Single Output

    • Pada bagian Service Access, pilih virtual private cloud (VPC), vSwitch, dan grup keamanan yang telah Anda buat.

    • Pada bagian Service Configuration, tambahkan opsi berikut. Untuk informasi selengkapnya, lihat contoh konfigurasi lengkap.

      Field

      Opsi yang ditambahkan

      autoscaler

      Opsional. Konfigurasi untuk penskalaan otomatis layanan. Untuk informasi selengkapnya, lihat Penskalaan horizontal otomatis.

      "behavior": {
        "scaleDown": {
          "stabilizationWindowSeconds": 60
        }
      },
      "max": 5,
      "min": 1,
      "strategies": {
                  "queue[backlog]": 1
      }

      metadata

      Tambahkan opsi berikut:

      "rpc": {
                  "keepalive": 3600000,
                  "worker_threads": 1
              }
      • keepalive: waktu pemrosesan maksimum untuk satu permintaan. Satuan: milidetik. Tetapkan nilainya menjadi 3600000.

      • worker_threads: jumlah thread yang digunakan untuk memproses permintaan secara konkuren di setiap instans EAS.

        Nilai default adalah 5, yang berarti lima tugas pertama dalam antrian akan ditugaskan ke instans yang sama. Untuk memastikan permintaan diproses dalam antrian secara berurutan, kami merekomendasikan Anda menetapkan opsi ini menjadi 1.

      queue

      Tambahkan opsi "max_delivery": 1 untuk mencegah pengiriman ulang setelah kegagalan.

      Contoh konfigurasi lengkap:

      {
          "autoscaler": {
              "behavior": {
                  "scaleDown": {
                      "stabilizationWindowSeconds": 60
                  }
              },
              "max": 5,
              "min": 1,
              "strategies": {
                  "queue[backlog]": 1
              }
          },
          "metadata": {
              "name": "photog_train_pmml",
              "instance": 1,
              "rpc": {
                  "keepalive": 3600000,
                  "worker_threads": 1
              },
              "type": "Async"
          },
          "cloud": {
              "computing": {
                  "instance_type": "ml.gu7i.c32m188.1-gu30",
                  "instances": null
              },
              "networking": {
                  "vswitch_id": "vsw-2ze4o9kww55051tf2****",
                  "security_group_id": "sg-2ze0kgiee55d0fn4****",
                  "vpc_id": "vpc-2ze5hl4ozjl4fo7q3****"
              }
          },
          "features": {
              "eas.aliyun.com/extra-ephemeral-storage": "120Gi"
          },
          "queue": {
              "cpu": 8,
              "max_delivery": 1,
              "min_replica": 1,
              "memory": 64000,
              "resource": "",
              "source": {
                  "max_payload_size_kb": 20480
              },
              "sink": {
                  "max_payload_size_kb": 20480
              }
          },
          "storage": [
              {
                  "oss": {
                      "path": "oss://examplebucket/",
                      "readOnly": false
                  },
                  "properties": {
                      "resource_type": "code"
                  },
                  "mount_path": "/photog_oss"
              }
          ],
          "containers": [
              {
                  "image": "registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:train.1.0.0.pub",
                  "script": "python app.py",
                  "port": 7860
              }
          ]
      }
  4. Klik Deploy.

Menyebar layanan prediksi

Dalam contoh ini, layanan prediksi diterapkan sebagai pekerjaan yang dapat diskalakan. Lakukan langkah-langkah berikut:

  1. Klik Deploy Service. Di bagian Custom Model Deployment, klik JSON Deployment.

  2. Masukkan informasi konfigurasi berikut di editor JSON.

    {
        "metadata": {
            "name": "photog_pre_pmml",
            "instance": 1,
            "rpc": {
                "keepalive": 3600000,
                "worker_threads": 1
            },
            "type": "ScalableJob"
        },
        "cloud": {
            "computing": {
                "instance_type": "ecs.gn6v-c8g1.2xlarge",
                "instances": null
            },
            "networking": {
                "vswitch_id": "vsw-2ze4o9kww55051tf2****",
                "security_group_id": "sg-2ze0kgiee55d0fn4****",
                "vpc_id": "vpc-2ze5hl4ozjl4fo7q3****"
            }
        },
        "features": {
            "eas.aliyun.com/extra-ephemeral-storage": "120Gi"
        },
        "queue": {
            "cpu": 8,
            "max_delivery": 1,
            "min_replica": 1,
            "memory": 64000,
            "resource": "",
            "source": {
                "max_payload_size_kb": 20480
            },
            "sink": {
                "max_payload_size_kb": 20480
            }
        },
        "storage": [
            {
                "oss": {
                    "path": "oss://examplebucket/",
                    "readOnly": false
                },
                "properties": {
                    "resource_type": "code"
                },
                "mount_path": "/photog_oss"
            }
        ],
        "containers": [
            {
                "image": "registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:infer.1.0.0.pub",
                "env": [
                    {
                        "name": "URL",
                        "value": "http://127.0.0.1:8000"
                    },
                    {
                        "name": "AUTHORIZATION",
                        "value": "="
                    }
                ],
                "script": "python app.py",
                "port": 7861
            },
            {
                "image": "eas-registry-vpc.cn-beijing.cr.aliyuncs.com/pai-eas/stable-diffusion-webui:3.2",
                "port": 8000,
                "script": "./webui.sh --listen --port 8000 --skip-version-check --no-hashing --no-download-sd-model --skip-install --api --filebrowser --sd-dynamic-cache --data-dir /photog_oss/photog/webui/"
            }
        ]
    }

    Tabel berikut menjelaskan parameter kunci. Untuk informasi selengkapnya tentang cara mengonfigurasi parameter lainnya, lihat Parameter terkait model layanan.

    Parameter

    Deskripsi

    metadata

    name

    Nama layanan, yang unik dalam wilayah tersebut.

    type

    Tetapkan nilainya menjadi ScalableJob untuk menerapkan layanan inferensi asinkron sebagai pekerjaan yang dapat diskalakan.

    containers

    image

    Anda perlu menentukan alamat citra untuk layanan prediksi Portret AI dan layanan prediksi antarmuka web. Dalam contoh ini, digunakan alamat citra di wilayah Tiongkok (Beijing). Nilai yang valid:

    • Alamat citra di wilayah Tiongkok (Beijing):

      • Layanan prediksi Portret AI: registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:infer. 1.0.0.pub.

      • Layanan prediksi antarmuka web: eas-registry-vpc.cn-beijing.cr.aliyuncs.com/pai-eas/stable-diffusion-webui:3.2.

    • Alamat citra di wilayah Singapura:

      • Layanan prediksi Portret AI: registry.ap-southeast-1.aliyuncs.com/mybigpai/photog_pub:infer. 1.0.0.pub.

      • Layanan prediksi antarmuka web: eas-registry-vpc.ap-southeast-1.cr.aliyuncs.com/pai-eas/stable-diffusion-webui:3.2.

    storage

    path

    Dalam contoh ini, digunakan pemasangan OSS. Tetapkan nilainya ke jalur bucket OSS Anda yang telah ditentukan untuk layanan verifikasi. Contoh: oss://examplebucket/.

    Unduh dan ekstrak file model WebUI. Simpan file tersebut di bucket OSS. Dalam contoh ini, digunakan jalur oss://examplebucket/photog_oss/webui. Untuk informasi tentang cara mengunggah objek ke bucket OSS, lihat Ikhtisar ossutil. Untuk informasi tentang cara mengunggah file ke sistem file File Storage NAS, lihat Memasang sistem file pada instans ECS Linux dan Mengelola file.

    mount_path

    Tetapkan nilainya menjadi /photog_oss.

  3. Klik Deploy.

    Setelah Anda menerapkan pekerjaan yang dapat diskalakan, sistem secara otomatis membuat layanan antrian dan mengaktifkan fitur penskalaan otomatis untuk layanan tersebut.

Memanggil layanan

Setelah Anda menerapkan layanan, Anda dapat memanggil layanan tersebut untuk menerapkan Portret AI.

Saat memanggil layanan, Anda harus menetapkan parameter taskType menjadi query untuk menentukan bahwa permintaan tersebut merupakan permintaan inferensi. Untuk informasi selengkapnya, lihat Memanggil layanan. Kode contoh:

import json
from eas_prediction import QueueClient

# Buat objek antrian masukan untuk menerima data masukan. 
input_queue = QueueClient('182848887922****.cn-shanghai.pai-eas.aliyuncs.com', 'photog_check')
input_queue.set_token('<token>')
input_queue.init()

datas = json.dumps(
    {
       'request_id'    : 12345,
       'images'        : ["xx.jpg", "xx.jpg"], # url, daftar
       'configure'     : {
            'face_reconize' : True, # Menilai apakah semua gambar berasal dari satu orang
        }
    }
)
# Tetapkan parameter taskType menjadi query. 
tags = {"taskType": "query"}
index, request_id = input_queue.put(f'{datas}', tags)
print(index, request_id)

# Lihat detail tentang antrian masukan. 
attrs = input_queue.attributes()
print(attrs)

Referensi