All Products
Search
Document Center

Container Service for Kubernetes:Deploy inferensi model Qwen di ACK dengan rtp-llm

Last Updated:Jun 18, 2026

Deploy layanan inferensi Qwen1.5-4B-Chat di ACK dengan rtp-llm menggunakan GPU A10 atau T4.

Latar Belakang

Qwen1.5-4B-Chat

Qwen1.5-4B-Chat adalah model bahasa besar dengan 4 miliar parameter yang dikembangkan oleh Alibaba Cloud berdasarkan arsitektur Transformer. Model ini dilatih pada data pre-training berskala besar dan beragam, termasuk teks web, buku profesional, dan kode. Untuk informasi lebih lanjut, lihat repositori GitHub Qwen.

rtp-llm

rtp-llm adalah mesin akselerasi inferensi LLM yang dikembangkan oleh tim prediksi model besar Alibaba khusus untuk LLM. Mesin ini meningkatkan efisiensi dan performa inferensi. rtp-llm memiliki fitur-fitur berikut:

  • Kernel CUDA berkinerja tinggi, termasuk PagedAttention, FlashAttention, dan FlashDecoding.

  • Kuantisasi WeightOnly INT8 dan INT4.

  • Dukungan untuk algoritma kuantisasi populer seperti GPTQ (General Purpose Quantization) dan AWQ (Approximate Weight Quantization).

  • Kerangka kerja kuantisasi KVCache adaptif dengan optimasi mendetail untuk overhead dalam dynamic batching.

  • Optimasi untuk perangkat keras GPU V100.

Lihat rtp-llm.

Prasyarat

  • Diperlukan Kluster ACK Pro dengan node GPU. Kluster harus menjalankan Kubernetes 1.22 atau lebih baru, dan setiap node GPU harus memiliki memori GPU minimal 16 GB. Untuk informasi lebih lanjut, lihat Buat kluster ACK yang dikelola.

    Kami menyarankan Anda menggunakan driver NVIDIA versi 525 pada node GPU. Anda dapat menambahkan label ack.aliyun.com/nvidia-driver-version:525.105.17 ke kelompok node GPU untuk mengunci versi driver ke 525.105.17. Untuk informasi lebih lanjut, lihat Sesuaikan versi driver GPU node dengan menentukan nomor versi.

  • Klien Arena versi terbaru telah diinstal. Untuk informasi lebih lanjut, lihat Konfigurasikan klien Arena.

Langkah 1: Siapkan data model

Unduh model Qwen1.5-4B-Chat, unggah ke OSS, lalu buat PV dan PVC di kluster ACK Anda.

Untuk mengunggah model ke NAS, lihat Gunakan volume persisten NAS statis.

  1. Unduh file model.

    1. Jalankan perintah berikut untuk menginstal Git.

      # Perintah ini untuk sistem berbasis Red Hat. Untuk sistem berbasis Debian, gunakan 'apt install git'.
      yum install git
    2. Jalankan perintah berikut untuk menginstal plugin Git Large File Storage (LFS).

      # Perintah ini untuk sistem berbasis Red Hat. Untuk sistem berbasis Debian, gunakan 'apt install git-lfs'.
      yum install git-lfs
    3. Jalankan perintah berikut untuk mengkloning repositori Qwen1.5-4B-Chat dari ModelScope ke mesin lokal Anda.

      GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/qwen/Qwen1.5-4B-Chat.git
    4. Jalankan perintah berikut untuk masuk ke direktori Qwen1.5-4B-Chat dan menarik file besar yang dikelola oleh LFS.

      cd Qwen1.5-4B-Chat
      git lfs pull
  2. Unggah file Qwen1.5-4B-Chat yang telah diunduh ke OSS.

    1. Masuk ke Konsol OSS, lalu lihat dan catat nama bucket Anda.

      Untuk informasi tentang cara membuat bucket, lihat Buat bucket.

    2. Instal dan konfigurasikan ossutil untuk mengelola sumber daya OSS. Untuk informasi lebih lanjut, lihat Instal ossutil.

    3. Jalankan perintah berikut untuk membuat direktori bernama Qwen1.5-4B-Chat di OSS.

      ossutil mkdir oss://<Your-Bucket-Name>/Qwen1.5-4B-Chat
    4. Jalankan perintah berikut untuk mengunggah file model ke OSS.

      ossutil cp -r ./Qwen1.5-4B-Chat oss://<Your-Bucket-Name>/Qwen1.5-4B-Chat
  3. Konfigurasikan PV dan PVC untuk kluster tujuan. Untuk informasi lebih lanjut, lihat Gunakan volume ossfs 1.0 yang disediakan secara statis.

    • Tabel berikut menjelaskan konfigurasi contoh PV.

      Parameter

      Deskripsi

      PV Type

      OSS

      Name

      llm-model

      AccessKey

      ID AccessKey dan AccessKey Secret yang digunakan untuk mengakses OSS.

      Bucket ID:

      Bucket OSS yang Anda buat.

      OSS path

      Pilih path tempat model disimpan, misalnya /models/Qwen1.5-4B-Chat.

    • Tabel berikut menjelaskan konfigurasi contoh PVC.

      Parameter

      Deskripsi

      PVC Type

      OSS

      Name

      llm-model

      Allocation Mode

      Pilih Existing Volumes.

      Existing Volumes

      Klik Select PV dan pilih PV yang telah Anda buat.

Langkah 2: Deploy layanan inferensi

  1. Deploy layanan inferensi untuk model Qwen1.5-4B-Chat.

    Deploy layanan inferensi kustom menggunakan Arena. Layanan rtp-llm-qwen (v1) berjalan pada satu GPU dengan satu replika dan pemeriksaan kesiapan. --data memasang PVC llm-model ke /model/Qwen1.5-4B-Chat di dalam kontainer.

    GPU A10 Tunggal

    arena serve custom \
        --name=rtp-llm-qwen \
        --version=v1 \
        --gpus=1 \
        --replicas=1 \
        --readiness-probe-action="tcpSocket" \
        --readiness-probe-action-option="port: 8000" \
        --readiness-probe-option="initialDelaySeconds: 30" \
        --readiness-probe-option="periodSeconds: 30" \
        --restful-port=8000 \
        --image=ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/rtp_llm:0.1.12-cuda12-ubuntu22.04 \
        --data=llm-model:/model/Qwen1.5-4B-Chat \
        "MODEL_TYPE=qwen_2 START_PORT=8000 CHECKPOINT_PATH=/model/Qwen1.5-4B-Chat TOKENIZER_PATH=/model/Qwen1.5-4B-Chat python3 -m maga_transformer.start_server"

    GPU T4 Tunggal

    arena serve custom \
        --name=rtp-llm-qwen \
        --version=v1 \
        --gpus=1 \
        --replicas=1 \
        --readiness-probe-action="tcpSocket" \
        --readiness-probe-action-option="port: 8000" \
        --readiness-probe-option="initialDelaySeconds: 30" \
        --readiness-probe-option="periodSeconds: 30" \
        --restful-port=8000 \
        --image=ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/rtp_llm:0.1.12-cuda12-ubuntu22.04 \
        --data=llm-model:/model/Qwen1.5-4B-Chat \
        "MODEL_TYPE=qwen_2 START_PORT=8000 CHECKPOINT_PATH=/model/Qwen1.5-4B-Chat TOKENIZER_PATH=/model/Qwen1.5-4B-Chat MAX_SEQ_LEN=2048 python3 -m maga_transformer.start_server"

    Output yang diharapkan:

    service/rtp-llm-qwen-v1 created
    deployment.apps/rtp-llm-qwen-v1-custom-serving created
    INFO[0001] The Job rtp-llm-qwen has been submitted successfully
    INFO[0001] You can run `arena serve get rtp-llm-qwen --type custom-serving -n default` to check the job status

    Layanan inferensi telah di-deploy.

  2. Lihat detail layanan inferensi dan tunggu hingga siap.

    arena serve get rtp-llm-qwen

    Output yang diharapkan:

    Name:       rtp-llm-qwen
    Namespace:  default
    Type:       Custom
    Version:    v1
    Desired:    1
    Available:  1
    Age:        1h
    Address:    192.168.XX.XX
    Port:       RESTFUL:8000
    GPU:        1
    
    Instances:
      NAME                                             STATUS   AGE  READY  RESTARTS  GPU  NODE
      ----                                             ------   ---  -----  --------  ---  ----
      rtp-llm-qwen-v1-custom-serving-696f699485-mn56v  Running  1h   1/1    0         1    cn-beijing.192.168.XX.XX

    Pod layanan inferensi rtp-llm-qwen-v1-custom-serving-696f699485-mn56v sedang berjalan dan siap.

Langkah 3: Verifikasi layanan inferensi

  1. Siapkan penerusan port ke layanan inferensi.

    Penting

    Penerusan port dengan kubectl port-forward tidak cocok untuk produksi karena kurang andal, aman, dan skalabel. Gunakan hanya untuk pengembangan dan debugging. Untuk solusi jaringan tingkat produksi di kluster Kubernetes, lihat Manajemen Ingress.

    kubectl port-forward svc/rtp-llm-qwen-v1 8000:8000

    Output yang diharapkan:

    Forwarding from 127.0.0.1:8000 -> 8000
    Forwarding from [::1]:8000 -> 8000
  2. Kirim permintaan ke layanan inferensi.

    curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json"  -d '{"model": "/model/Qwen1.5-4B-Chat/", "messages": [{"role": "user", "content": "Run a quick test"}], "max_tokens": 10, "temperature": 0.7, "top_p": 0.9, "seed": 10}'

    Output yang diharapkan:

    {"id":"chat-","object":"chat.completion","created":1717383026,"model":"AsyncModel","choices":[{"index":0,"message":{"role":"assistant","content":"Sure. What would you like me to test for you?"},"finish_reason":"stop"}],"usage":{"prompt_tokens":21,"total_tokens":31,"completion_tokens":10}}

    Model menghasilkan tanggapan terhadap pesan uji coba.

(Opsional) Langkah 4: Bersihkan lingkungan

Jika Anda tidak lagi memerlukan sumber daya tersebut, segera hapus untuk menghindari biaya yang tidak perlu.

  • Hapus layanan inferensi model.

    arena serve del rtp-llm-qwen
  • Hapus PV dan PVC.

    kubectl delete pvc llm-model
    kubectl delete pv llm-model

Lampiran: Referensi parameter perintah

Parameter Deskripsi Contoh
serve custom Subperintah Arena. Deploy layanan model kustom, bukan tipe preset seperti tfserving atau triton. —
--name Nama layanan. Pengenal unik yang digunakan untuk operasi selanjutnya seperti memeriksa log dan menghapus layanan. modelscope
--version Versi layanan. Label versi untuk layanan, berguna untuk manajemen versi dan rilis bertahap. v1
--gpus Jumlah GPU. Jumlah GPU yang dialokasikan untuk setiap pod. Diperlukan ketika model membutuhkan GPU untuk inferensi. 1
--replicas Jumlah replika. Jumlah pod yang akan dijalankan. Lebih banyak replika meningkatkan throughput konkuren dan ketersediaan. 1
--restful-port Port API RESTful. Port tempat layanan mengekspos API RESTful-nya untuk menerima permintaan inferensi. 8000
--readiness-probe-action Jenis pemeriksaan kesiapan. Metode pemeriksaan yang digunakan oleh pemeriksaan kesiapan Kubernetes untuk menentukan apakah kontainer siap menerima traffic. tcpSocket
--readiness-probe-action-option Opsi jenis probe. Parameter untuk jenis probe yang dipilih. Untuk tcpSocket, menentukan port yang akan diperiksa. port: 8000
--readiness-probe-option Pengaturan probe tambahan. Parameter tambahan untuk pemeriksaan kesiapan. Bendera ini dapat diulang. Mengatur delay awal dan interval pemeriksaan. initialDelaySeconds: 30, periodSeconds: 30
--data Pemasangan volume. Memasang PVC pada path tertentu di dalam kontainer, dalam format <pvc-name>:<mount-path>. Digunakan untuk memasang file model yang telah dimuat sebelumnya. llm-model:/Qwen1.5-4B-Chat
--image Gambar kontainer. URL lengkap gambar kontainer yang menentukan lingkungan runtime untuk layanan. kube-ai-registry.cn-shanghai.cr.aliyuncs.com/kube-ai/quick-deploy-llm:v1
[COMMAND] Perintah startup. Perintah yang dijalankan setelah kontainer dimulai. Mengatur variabel lingkungan MODEL_ID dan menjalankan server.py. "MODEL_ID=/Qwen1.5-4B-Chat python3 server.py"