全部产品
Search
文档中心

Platform For AI:Inferensi terdistribusi multi-mesin

更新时间:Jul 10, 2025

Model MoE skala ultra-besar seperti DeepSeek-R1 671B telah melampaui kapasitas perangkat individual. Untuk mengatasi hal ini, Elastic Algorithm Service (EAS) memperkenalkan solusi inferensi terdistribusi multi-mesin. Solusi ini memungkinkan satu instance layanan didistribusikan di beberapa mesin, sehingga memfasilitasi penyebaran dan operasi model skala ultra-besar secara efisien. Topik ini menjelaskan cara mengonfigurasi inferensi terdistribusi multi-mesin.

Catatan penggunaan

Beberapa gambar SGLang dan vLLM yang disediakan secara resmi oleh EAS atau ModelGallery mendukung inferensi terdistribusi secara native. Jika Anda ingin menerapkan inferensi terdistribusi menggunakan gambar kustom, Anda perlu mengikuti spesifikasi jaringan dari kerangka kerja inferensi terdistribusi dan paradigma dasar pemrosesan terdistribusi. Untuk informasi lebih lanjut, lihat Cara kerjanya.

Cara kerjanya

Berikut adalah konsep dasar dan prinsip inferensi terdistribusi:

Unit instans

Dibandingkan dengan layanan inferensi EAS standar, layanan inferensi terdistribusi memperkenalkan konsep unit instance (selanjutnya disebut sebagai Unit). Di dalam Unit, instance berkoordinasi melalui komunikasi jaringan berperforma tinggi menggunakan pola seperti TP/PP untuk menyelesaikan pemrosesan permintaan. Instance di dalam Unit bersifat stateful, sedangkan Unit yang berbeda sepenuhnya simetris dan stateless.

Nomor instance

Setiap instance dalam Unit diberi nomor instance melalui variabel lingkungan (untuk variabel lingkungan dan deskripsi setiap instance dalam Unit, lihat Lampiran). Instance yang berbeda diberi nomor berbeda secara berurutan, mengontrol pelaksanaan tugas yang berbeda oleh instance yang berbeda.

Penanganan Trafik

Secara default, seluruh Unit hanya menerima trafik melalui instance 0 (RANK_ID adalah 0). Mekanisme penemuan layanan sistem mengalokasikan trafik pengguna ke instance 0 dari Unit yang berbeda, yang kemudian memprosesnya secara terdistribusi di dalam Unit. Unit yang berbeda menangani trafik pengguna secara independen tanpa saling mengganggu.

Pembaruan bergulir

Selama pembaruan bergulir, Unit dibangun ulang secara keseluruhan, dengan semua instance di Unit baru dibuat secara paralel. Setelah semua instance di Unit baru siap, trafik pertama-tama dialihkan dari Unit yang akan dihapus, lalu semua instance di Unit tersebut dihapus.

Siklus hidup

Pembangunan ulang Unit

Ketika sebuah Unit dibangun ulang sepenuhnya, semua instance di Unit lama dihapus secara paralel, dan semua instance di Unit baru dibuat secara paralel, tanpa penanganan khusus berdasarkan nomor instance.

Pembangunan ulang instance

Secara default, siklus hidup setiap instance dalam Unit sejajar dengan instance 0. Ketika instance 0 dibangun ulang, itu memicu pembangunan ulang semua instance lainnya di Unit. Ketika instance non-0 dibangun ulang, instance lainnya di Unit tidak terpengaruh.

Toleransi kesalahan terdistribusi

  • Mekanisme penanganan pengecualian instance

    • Ketika pengecualian terdeteksi pada instance layanan terdistribusi, sistem secara otomatis memicu restart semua instance di Unit.

    • Fungsionalitas: Secara efektif menyelesaikan ketidaksesuaian status kluster yang disebabkan oleh titik kegagalan tunggal, memastikan bahwa semua instance memiliki lingkungan runtime yang sepenuhnya direset.

  • Mekanisme pemulihan terkoordinasi

    • Setelah instance direstart, sistem menunggu semua instance di Unit mencapai status siap yang konsisten (diimplementasikan melalui penghalang sinkronisasi), dan hanya memulai proses bisnis setelah semua instance siap.

    • Fungsionalitas:

      • Mencegah pengecualian pengelompokan selama jaringan komunikasi NCCL karena status instance yang tidak konsisten.

      • Memastikan sinkronisasi startup yang ketat dari semua node yang berpartisipasi dalam tugas inferensi terdistribusi.

Fitur toleransi kesalahan terdistribusi dinonaktifkan secara default. Jika Anda perlu mengaktifkannya, Anda dapat mengonfigurasi unit.guard, seperti yang ditunjukkan dalam contoh berikut:

{
  "unit": {
    "size": 2,
    "guard": true
  }
}

Konfigurasikan inferensi terdistribusi multi-mesin

Penyebaran Kustom EAS

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

    • Deploy Layanan: Pada tab Inference Services, klik Deploy Service. Di bagian Custom Model Deployment, klik Custom Deployment.

    • Perbarui Layanan: Pada tab Inference Services, temukan layanan yang ingin Anda operasikan dalam daftar layanan, lalu klik Perbarui di kolom Tindakan.

  2. Konfigurasikan parameter utama berikut. Untuk informasi tentang parameter lainnya, lihat Parameter untuk penyebaran kustom di konsol.

    • Di bagian Environment Information, konfigurasikan gambar dan perintah:

      • Image Configuration: Pilih Alibaba Cloud Image dan pilih vllm:0.7.1 atau sglang:0.4.1.image

      • Command: Sistem secara otomatis menetapkan perintah setelah Anda memilih gambar. Tidak ada modifikasi yang diperlukan.

    • Di bagian Resource Information, aktifkan opsi Distributed Inference dan konfigurasikan parameter utama berikut:image

      Parameter

      Deskripsi

      Machines For Each Instance

      Jumlah mesin untuk satu instance inferensi model. Nilai minimumnya adalah 2.

      RDMA Network

      Aktifkan jaringan RDMA untuk memastikan konektivitas jaringan yang efisien antar mesin.

      Catatan

      Saat ini, hanya layanan yang diterapkan menggunakan Sumber daya komputasi cerdas Lingjun yang dapat menggunakan jaringan RDMA.

  3. Klik Deploy atau Update.

Deploy di Model Gallery dengan satu klik

Inferensi terdistribusi hanya didukung ketika Metode Penyebaran adalah Penyebaran Akselerasi SGLang atau Penyebaran Akselerasi vLLM.

Untuk model dengan jumlah parameter besar, ketika Anda men-deploy layanan model di Model Gallery dengan satu klik, pilih Penyebaran Akselerasi SGLang atau Penyebaran Akselerasi vLLM sebagai metode penyebaran terdistribusi, dan EAS secara otomatis mengaktifkan Inferensi Terdistribusi. Anda dapat mengklik Ubah Konfigurasi untuk menyesuaikan jumlah mesin yang digunakan untuk satu instance.image

Lampiran

Saat menerapkan layanan inferensi terdistribusi, operasi jaringan biasanya diperlukan (seperti menggunakan Torch distributed atau kerangka kerja Ray). Saat VPC atau RDMA dikonfigurasi, setiap instance memiliki beberapa kartu jaringan, jadi Anda perlu menentukan kartu jaringan mana yang akan digunakan untuk komunikasi jaringan.

  • Ketika RDMA dikonfigurasi, kartu jaringan RDMA (net0) digunakan secara default.

  • Ketika RDMA tidak dikonfigurasi, kartu jaringan yang sesuai dengan VPC yang dikonfigurasi pengguna (eth1) digunakan.

Konfigurasi terkait dilewatkan melalui variabel lingkungan yang dapat Anda gunakan dalam perintah startup. Contohnya:

Variabel lingkungan

Deskripsi

Contoh nilai

RANK_ID

Nomor instance, dimulai dari 0 dan bertambah.

0

COMM_IFNAME

Kartu jaringan default yang digunakan untuk jaringan:

  • Ketika RDMA dikonfigurasi, nilainya adalah net0.

  • Ketika RDMA tidak dikonfigurasi, nilainya adalah eth1 (kartu jaringan tempat VPC yang dikonfigurasi pengguna berada).

net0

RANK_IP

Alamat IP yang digunakan untuk jaringan, yaitu alamat IP kartu jaringan COMM_IFNAME.

11.*.*.*

MASTER_ADDRESS

Alamat IP instance dengan RANK_ID 0, yaitu alamat IP kartu jaringan COMM_IFNAME dari instance 0.

11.*.*.*