Container Compute Service (ACS) tidak memerlukan pengetahuan mendalam tentang perangkat keras yang mendasarinya atau pengelolaan node yang dipercepat GPU. Semua konfigurasi sudah siap pakai. ACS mudah digunakan dan ditagih dengan metode penagihan bayar sesuai pemakaian. Layanan ini ideal untuk layanan inferensi LLM, secara efisien mengurangi biaya inferensi. Topik ini menjelaskan cara menerapkan layanan inferensi model dengan versi penuh DeepSeek di ACS.
Informasi latar belakang
DeepSeek-R1
vLLM
ACS
Prasyarat.
Saat pertama kali menggunakan Container Compute Service (ACS), Anda perlu menetapkan peran default ke akun. Hanya setelah Anda menyelesaikan otorisasi, ACS dapat memanggil layanan lain, seperti ECS, OSS, NAS, CPFS, dan SLB, membuat kluster, dan menyimpan log. Untuk informasi lebih lanjut, lihat Panduan Cepat untuk Pengguna ACS Pertama Kali.
Klien kubectl harus terhubung ke kluster. Untuk informasi lebih lanjut, lihat Dapatkan File kubeconfig Kluster dan Gunakan kubectl untuk Terhubung ke Kluster.
Spesifikasi instans yang dipercepat GPU dan perkiraan biaya
Tidak ada sumber daya GPU yang digunakan untuk mempercepat versi penuh DeepSeek-R1 di ACS dan membutuhkan 16 jam GPU untuk menerapkan layanan inferensi. Spesifikasi instans yang dipercepat GPU ACS yang disarankan: 16 GPU (96 GiB memori per GPU), 64 vCPU, dan 512 GiB memori. Anda juga dapat merujuk ke Tabel Spesifikasi yang Disarankan dan Model GPU dan Spesifikasi. Untuk informasi lebih lanjut tentang penagihan instans yang dipercepat GPU ACS, lihat Ikhtisar Penagihan.
Pastikan spesifikasi instans yang dipercepat GPU ACS sesuai dengan Logika Penyesuaian Spesifikasi Pod ACS.
Secara default, sebuah pod ACS menyediakan 30 GiB EphemeralStorage gratis. Gambar inferensi yang digunakan dalam contoh ini besar. Jika Anda memerlukan lebih banyak ruang penyimpanan, sesuaikan ukuran EphemeralStorage. Untuk informasi lebih lanjut, lihat Tambahkan EphemeralStorage.
Prosedur
Langkah 1: Siapkan file model DeepSeek-R1-GPTQ-INT8
LLM memerlukan ruang disk yang besar untuk menyimpan file model. Kami sarankan Anda menggunakan volume NAS atau OSS untuk menyimpan file model secara persisten. Dalam contoh berikut, volume OSS digunakan untuk menyimpan file model DeepSeek-R1-GPTQ-INT8 secara persisten.
Kirim Tiket untuk mendapatkan file model dan konten YAML.
File model: DeepSeek-R1-GPTQ-INT8.
Model GPU: Ganti variabel dalam label
alibabacloud.com/gpu-model-series: <example-model>dengan model GPU aktual yang didukung oleh ACS. Untuk informasi lebih lanjut, lihat Tentukan Model GPU dan Versi Driver untuk Pod yang Dipercepat GPU ACS.Gambar dasar: Ganti variabel dalam
containers[].image: <base image obtained from the PDSA>dengan alamat gambar aktual.Rahasia untuk menarik gambar: Dapatkan dan buat Rahasia, dan ganti variabel dalam
imagePullSecrets[].name: <Secret obtained from the PDSA>dengan nama aktual Rahasia.Jaringan RDMA Berperforma Tinggi: Dibandingkan dengan TCP/IP, RDMA mendukung salinan nol dan bypass kernel untuk membantu menghindari seringnya menyalin data atau beralih konteks. Ini memungkinkan latensi lebih rendah, throughput lebih tinggi, dan penggunaan CPU lebih rendah. ACS memungkinkan Anda menambahkan label
alibabacloud.com/hpn-type: "rdma"ke template YAML untuk menggunakan RDMA. Untuk informasi lebih lanjut tentang model GPU yang didukung oleh RDMA, kirim tiket.
(Opsional) Jika Anda memilih untuk mengunduh file model ke lingkungan lokal, buat direktori di bucket OSS Anda dan unggah file model ke direktori tersebut.
CatatanUntuk menginstal dan menggunakan ossutil, lihat Instal ossutil.
ossutil mkdir oss://<your-bucket-name>/models/DeepSeek-R1-GPTQ-INT8 ossutil cp -r /mnt/models/DeepSeek-R1-GPTQ-INT8 oss://<your-bucket-name>/models/DeepSeek-R1-GPTQ-INT8Buat PV bernama llm-model dan PVC untuk kluster. Untuk informasi lebih lanjut, lihat Mount Volume OSS yang Diprovision Secara Statis.
Gunakan konsol
Tabel berikut menjelaskan parameter dasar yang digunakan untuk membuat PV.
Parameter
Deskripsi
Tipe PV
OSS
Nama Volume
llm-model
Sertifikat Akses
Tentukan ID AccessKey dan Rahasia AccessKey yang digunakan untuk mengakses bucket OSS.
ID Bucket
Pilih bucket OSS yang Anda buat di langkah sebelumnya.
Jalur OSS
Pilih jalur model, seperti /models/DeepSeek-R1-GPTQ-INT8.
Tabel berikut menjelaskan parameter dasar yang digunakan untuk membuat PVC.
Parameter
Deskripsi
Tipe PVC
OSS
Nama
llm-model
Mode Alokasi
Dalam contoh ini, Existing Volumes dipilih.
Existing Volumes
Klik Existing Volumes dan pilih PV yang Anda buat.
Gunakan kubectl
Blok kode berikut menunjukkan template YAML:
apiVersion: v1 kind: Secret metadata: name: oss-secret stringData: akId: <your-oss-ak> # ID AccessKey yang digunakan untuk mengakses bucket OSS. akSecret: <your-oss-sk> # Rahasia AccessKey yang digunakan untuk mengakses bucket OSS. --- apiVersion: v1 kind: PersistentVolume metadata: name: llm-model labels: alicloud-pvname: llm-model spec: capacity: storage: 30Gi accessModes: - ReadOnlyMany persistentVolumeReclaimPolicy: Retain csi: driver: ossplugin.csi.alibabacloud.com volumeHandle: llm-model nodePublishSecretRef: name: oss-secret namespace: default volumeAttributes: bucket: <your-bucket-name> # Nama bucket OSS. url: <your-bucket-endpoint> # Titik akhir, seperti oss-cn-hangzhou-internal.aliyuncs.com. otherOpts: "-o umask=022 -o max_stat_cache_size=0 -o allow_other" path: <your-model-path> # Jalur model, seperti /models/DeepSeek-R1-GPTQ-INT8/ dalam contoh ini. --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: llm-model spec: accessModes: - ReadOnlyMany resources: requests: storage: 30Gi selector: matchLabels: alicloud-pvname: llm-model
Langkah 2: Terapkan model berdasarkan daya komputasi GPU ACS
Jalankan perintah berikut untuk menerapkan model DeepSeek-R1-GPTQ-INT8 sebagai layanan inferensi di atas kerangka kerja vLLM dan gunakan RDMA untuk mempercepat layanan inferensi.
Layanan inferensi mengekspos API HTTP yang kompatibel dengan OpenAI. Jalankan kode berikut untuk memperlakukan file parameter model sebagai dataset khusus dan mount ke jalur yang ditentukan (/data/DeepSeek-R1-GPTQ-INT8) dari kontainer yang menjalankan layanan inferensi.
--max_model_lenmenentukan panjang maksimum token yang dapat diproses oleh model. Anda dapat meningkatkan panjangnya untuk mendapatkan performa lebih tinggi. Namun, ini juga meningkatkan penggunaan Memori GPU. Kami sarankan Anda menyetel panjangnya menjadi sekitar 128000 untuk model DeepSeek-R1-GPTQ-INT8 dan menyesuaikan--gpu-memory-utilization.kubectl apply -f- <<EOF apiVersion: apps/v1 kind: Deployment metadata: name: deepseek-r1 namespace: default labels: app: deepseek-r1 spec: replicas: 1 selector: matchLabels: app: deepseek-r1 strategy: type: RollingUpdate rollingUpdate: maxSurge: 25% maxUnavailable: 25% template: metadata: labels: app: deepseek-r1 alibabacloud.com/compute-class: gpu # example-model menunjukkan model GPU. Gantikan dengan model GPU aktual, seperti T4. alibabacloud.com/gpu-model-series: <example-model> # Jalankan aplikasi dalam jaringan RDMA berperforma tinggi. Untuk model GPU yang didukung oleh RDMA, kirim tiket. alibabacloud.com/hpn-type: "rdma" spec: imagePullSecrets: - name: <Secret obtained from the PDSA> containers: - name: llm-ds-r1 image: <base image obtained from the PDSA> imagePullPolicy: IfNotPresent command: - sh - -c - "vllm serve /data/DeepSeek-R1-GPTQ-INT8 --port 8000 --trust-remote-code --served-model-name ds --max-model-len 128000 --quantization moe_wna16 --gpu-memory-utilization 0.98 --tensor-parallel-size 16" resources: limits: alibabacloud.com/gpu: "16" cpu: "64" memory: 512Gi requests: alibabacloud.com/gpu: "16" cpu: "64" memory: 512Gi volumeMounts: - name: llm-model mountPath: /data/DeepSeek-R1-GPTQ-INT8 - name: shm mountPath: /dev/shm restartPolicy: Always terminationGracePeriodSeconds: 30 volumes: - name: llm-model persistentVolumeClaim: claimName: llm-model - name: shm emptyDir: medium: Memory sizeLimit: 32Gi --- apiVersion: v1 kind: Service metadata: name: deepseek-r1 spec: type: ClusterIP selector: app: deepseek-r1 ports: - protocol: TCP port: 8000 targetPort: 8000 EOF
Langkah 3: Verifikasi layanan inferensi
Jalankan
kubectl port-forwarduntuk mengonfigurasi penerusan port antara lingkungan lokal dan layanan inferensi.CatatanPenerusan port yang disiapkan menggunakan
kubectl port-forwardtidak andal, aman, atau dapat diperluas di lingkungan produksi. Ini hanya untuk pengembangan dan debugging. Jangan gunakan perintah ini untuk menyiapkan penerusan port di lingkungan produksi. Untuk informasi lebih lanjut tentang solusi jaringan yang digunakan untuk produksi di kluster ACK, lihat Manajemen Ingress.kubectl port-forward svc/deepseek-r1 8000:8000Hasil yang Diharapkan:
Forwarding from 127.0.0.1:8000 -> 8000 Forwarding from [::1]:8000 -> 8000Kirim permintaan ke layanan inferensi.
curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "ds", "messages": [ { "role": "user", "content": "Tulis surat kepada putri saya dari masa depan 2035 dan beritahu dia untuk belajar ilmu pengetahuan dan teknologi dengan baik, menjadi tuan dari ilmu pengetahuan dan teknologi, dan mendorong perkembangan ilmu pengetahuan dan teknologi serta ekonomi. Dia sekarang di kelas 3." } ], "max_tokens": 1024, "temperature": 0.7, "top_p": 0.9, "seed": 10 }'Hasil yang Diharapkan:
{"id":"chatcmpl-53613fd815da46df92cc9b92cd156146","object":"chat.com pletion","created":1739261570,"model":"deepseek-r1","choices":[{"index":0,"message":{"role":"assistant","content":"<think>\nOK. Pengguna perlu menulis surat kepada putrinya di kelas tiga dari masa depan 2035, dan menyampaikan tiga pesan utama sekaligus: pelajari teknologi dengan baik, menjadi tuan teknologi, dan dorong perkembangan teknologi dan ekonomi. Pertama, saya harus mempertimbangkan bahwa nada surat harus baik hati dan penuh harapan, sambil mencerminkan rasa teknologi masa depan. \n\nMempertimbangkan bahwa putrinya sekarang di kelas tiga, kontennya tidak boleh terlalu rumit dan bahasanya harus sederhana dan mudah dimengerti. Sementara itu, biarkan putrinya merasakan pentingnya ilmu pengetahuan dan teknologi dan memicu minatnya pada ilmu pengetahuan dan teknologi. Mungkin perlu mulai dari kehidupan sehari-harinya dan memberikan beberapa contoh yang mungkin telah ia temui, seperti produk elektronik, Internet, dll., sehingga ia dapat lebih mudah beresonansi. \n\nSelanjutnya, saya harus memikirkan bagaimana menyusun surat ini. Mungkin dimulai dengan menyambutnya untuk menerima surat ini, lalu memperkenalkan perkembangan teknologi masa depan, seperti robot pintar dan rumah pintar. Kemudian tekankan pentingnya belajar ilmu pengetahuan dan teknologi, dan dorong dia untuk menjadi tuan ilmu pengetahuan dan teknologi dan berpartisipasi dalam perkembangan ilmu pengetahuan dan teknologi. Akhirnya, ungkapkan harapan dan berkah. \n\nDalam hal konten, perlu menyoroti dampak teknologi terhadap kehidupan, seperti asisten pintar, rumah pintar, kendaraan energi baru, dll. Ini semua adalah hal-hal yang anak-anak mungkin pernah dengar, tetapi detail spesifiknya mungkin perlu disederhanakan untuk menghindari terlalu teknis dan tetap menarik. \n\nSementara itu, surat itu harus menyebutkan dampak ilmu pengetahuan dan teknologi terhadap ekonomi, seperti pertumbuhan ekonomi, penciptaan lapangan kerja, dll., tetapi harus disajikan dengan cara yang positif dan mendorong, sehingga putrinya dapat merasakan manfaat ilmu pengetahuan dan teknologi, bukan sekadar permainan angka. \n\nAkhirnya, bagian akhir harus hangat, ungkapkan kebanggaan dan harapannya, dan dorong dia untuk mengejar masa depan dengan berani dan menjadi pemimpin dalam ilmu pengetahuan dan teknologi. \n\nSecara keseluruhan, surat ini perlu bersifat edukatif, menarik, dan mendorong, menggunakan bahasa yang sederhana dan jelas, dikombinasikan dengan contoh spesifik teknologi masa depan, sehingga putri saya dapat merasakan daya tarik teknologi dan pentingnya belajar dalam suasana santai. \n</think>\n\nDear Future 2035: \n\nHello! \n\nPertama, saya ingin memberitahu Anda kabar baik: bumi telah memasuki era baru! Pada tahun 2035, teknologi tidak lagi menjadi cerita fiksi ilmiah, tetapi bagian dari kehidupan kita sehari-hari. Hari ini, saya menulis surat ini untuk memberitahu Anda beberapa rahasia tentang masa depan dan bagaimana Anda harus hidup dan belajar di dunia yang berkembang pesat ini dalam ilmu pengetahuan dan teknologi. \n\n### 1. **Teknologi ada di sekitar Anda**\n Pada tahun 2035, teknologi ada di mana-mana. Setiap orang bisa memiliki asisten pintar, seperti guru yang selalu tersedia, siap menjawab pertanyaan Anda. Dengan aplikasi sederhana, Anda dapat mengontrol perangkat rumah pintar di rumah Anda: menyalakan dan mematikan lampu, menyesuaikan suhu, dan bahkan memasak, semuanya atas instruksi Anda! \n \n Selain itu, Anda mungkin pernah mendengarnya: robot pintar. Robot ini tidak hanya dapat membantu kita menyelesaikan pekerjaan yang membosankan, tetapi juga berperan besar dalam pembelajaran dan hiburan. Mereka bisa mengobrol dengan Anda, belajar bersama Anda, dan bahkan membantu Anda menyelesaikan masalah matematika! Bayangkan ketika Anda menghadapi masalah sulit, robot akan dengan sabar mengajari Andacara menyelesaikan masalah langkah demi langkah, bukankah itu hebat? \n\n### 2. **Pentingnya belajar ilmu pengetahuan dan teknologi**\n di masa depan 2035, ilmu pengetahuan dan teknologi telah menjadi kekuatan pendorong utama untuk mendorong perkembangan sosial. Setiap industri sedang ditransformasi oleh teknologi: dokter dapat menggunakan peralatan medis canggih untuk mendeteksi penyakit lebih dini; guru dapat menggunakan kelas online untuk memungkinkan siswa belajar pengetahuan global tanpa meninggalkan rumah; petani dapat menggunakan perangkat pintar untuk mengelola ladang mereka secara akurat dan memastikan bahwa setiap pohon menerima perawatan terbaik. Jadi, saya ingin memberitahu Anda bahwa belajar teknologi adalah tugas terpenting bagi setiap anak. Ilmu pengetahuan dan teknologi tidak hanya dapat membuat Anda menguasai lebih banyak pengetahuan, tetapi juga membuat Anda menjadi pemimpin masa depan. Anda akan memiliki kesempatan untuk menciptakan teknologi baru dan mengubah hidup kita! \n\n### 3. **Menjadi tuan ilmu pengetahuan dan teknologi**\n Pada tahun 2035, dunia ilmu pengetahuan dan teknologi membutuhkan kekuatan semua orang. Anda tidak perlu menjadi eksekutif perusahaan, cukup jadilah diri sendiri. Anda dapat menggunakan kebijaksanaan dan tangan Anda untuk mendorong perkembangan ilmu pengetahuan dan teknologi. Misalnya, Anda dapat berpartisipasi dalam kompetisi inovasi teknologi di sekolah dan merancang robot yang lebih pintar; Anda dapat menemukan beberapa penemuan kecil di rumah untuk membuat hidup lebih nyaman. \n\n Penting bahwa Anda memiliki keberanian untuk mencoba hal-hal baru dan menjelajahi yang tidak diketahui. Dunia ilmu pengetahuan dan teknologi sangat luas tanpa batas, dan semua orang dapat menemukan tempat mereka di sini. \n\n### 4. **Tentang Ekonomi**\n Pada tahun 2035, ekonomi akan menjadi lebih makmur karena perkembangan ilmu pengetahuan dan teknologi. Kota pintar akan membuat hidup kita lebih efisien, kendaraan energi baru akan membuat perjalanan kita lebih ramah lingkungan, dan teknologi medis akan lebih baik melindungi kesehatan kita. \n\n Jadi, ketika Anda berdiri di awal era ini, Anda harus tahu bahwa teknologi tidak hanya mengubah cara kita hidup, tetapi juga menciptakan peluang untuk masa depan. \n\n### 5. **Harapan Saya**\n Saya harap di masa depan Anda bisa mencintai ilmu pengetahuan dan teknologi, memahami ilmu pengetahuan dan teknologi, menguasai ilmu pengetahuan dan teknologi. Tidak hanya Anda harus belajar bagaimana menggunakan teknologi, tetapi Anda juga harus memahami prinsip dan cerita di baliknya. Ketika Anda dewasa, Anda mungkin menjadi pemimpin di bidang ilmu pengetahuan dan teknologi, memimpin kita menuju masa depan yang lebih cerah. \n\n Dunia masa depan membutuhkan Anda! Apakah Anda siap menghadapi tantangan? \n\nAkhirnya, saya ingin memberitahu Anda bahwa Anda lebih pintar, lebih berani, dan lebih berpotensi daripada siapa pun hari ini. Meskipun jalan di depan sangat panjang, selama Anda bersedia bekerja keras, Anda pasti akan dapat mewujudkan impian Anda. \n\nDear putri di 2035, berjuanglah! \n \nKakekmu ","tool_calls":[]},"logprobs":null,"finish_reason":"stop","stop_reason":null}],"usage":{"prompt_tokens":40,"total_tokens":1034,"completion_tokens":994,"prompt_tokens_details":null}",
(Opsional) Langkah 4: Hapus lingkungan
Jika Anda tidak lagi memerlukan layanan inferensi, hapus lingkungan segera.
Hapus beban kerja inferensi dan layanan.
kubectl delete deployment deepseek-r1 kubectl delete service deepseek-r1Hapus PV dan PVC.
kubectl delete pvc llm-model kubectl delete pv llm-modelHasil yang Diharapkan:
persistentvolumeclaim "llm-model" deleted persistentvolume "llm-model" deleted
Referensi
Container Compute Service (ACS) terintegrasi ke dalam Container Service for Kubernetes. Ini memungkinkan Anda menggunakan daya komputasi ACS di kluster ACK Pro. Untuk informasi lebih lanjut tentang penggunaan daya komputasi GPU ACS di ACK, lihat Gunakan Daya Komputasi ACS di Kluster ACK Pro.
Untuk informasi lebih lanjut tentang penerapan DeepSeek di ACK, lihat topik-topik berikut:
Untuk informasi lebih lanjut tentang DeepSeek R1 dan V3, lihat topik-topik berikut:
Gambar kontainer AI ACS didedikasikan untuk kontainer yang dipercepat GPU di kluster ACS. Untuk informasi lebih lanjut tentang catatan rilis gambar ini, lihat Catatan Rilis untuk Gambar Kontainer AI ACS.