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 berdasarkan sistem bayar sesuai pemakaian. Layanan ini cocok untuk layanan inferensi LLM karena dapat mengurangi biaya inferensi secara efisien. Topik ini menjelaskan cara menerapkan layanan inferensi model dengan versi distilasi DeepSeek di ACS.
Informasi latar belakang
DeepSeek-R1
vLLM
Arena
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.
Kluster ACS telah dibuat. Wilayah dan zona kluster tersebut dapat menyediakan resource GPU. Untuk informasi lebih lanjut, lihat Buat kluster ACS.
Klien kubectl terhubung ke kluster. Untuk informasi lebih lanjut, lihat Dapatkan file kubeconfig kluster dan gunakan kubectl untuk terhubung ke kluster.
Klien Arena telah diinstal. Untuk informasi lebih lanjut, lihat Konfigurasikan klien Arena.
Spesifikasi instans yang dipercepat GPU dan perkiraan biaya
Memori GPU digunakan oleh parameter model selama fase inferensi. Penggunaannya dihitung berdasarkan rumus berikut:
Memori GPU = Jumlah parameter model x Byte data presisi
Ambil model dengan presisi default FP16 dan jumlah parameter 7B sebagai contoh. Model ini memiliki 7 miliar parameter. Data presisinya adalah 2 byte (bilangan floating point 16-bit default / 8 bit per byte).
Memori GPU = 7 x 109 x 2 byte ≈ 13,04 GiB
Selain memori yang digunakan untuk memuat model, Anda juga perlu mempertimbangkan ukuran Cache KV dan Pemanfaatan GPU. Biasanya, sebagian memori dicadangkan untuk buffering. Oleh karena itu, spesifikasi yang disarankan adalah 1GPU dengan 24 GiB memori, 8 vCPU, dan 32 GiB memori. Anda juga dapat merujuk pada tabel spesifikasi yang disarankan dan Model GPU dan spesifikasi. Untuk informasi lebih lanjut tentang penagihan instans yang dipercepat GPU ACS, lihat Ikhtisar Penagihan.
Nama model | Versi model | Ukuran model | Spesifikasi yang disarankan | ||
vCPU | Memori | Memori GPU | |||
DeepSeek-R1-Distill-Qwen-1.5B | 1.5B (1,5 miliar parameter) | 3,55 GB | 4 atau 6 | 30 GiB | 24 GiB |
DeepSeek-R1-Distill-Qwen-7B | 7B (7 miliar parameter) | 15,23 GB | 6 atau 8 | 32 GiB | 24 GiB |
DeepSeek-R1-Distill-Llama-8B | 8B (8 miliar parameter) | 16,06 GB | 6 atau 8 | 32 GiB | 24 GiB |
DeepSeek-R1-Distill-Qwen-14B | 14B (14 miliar parameter) | 29,54 GB | Lebih besar dari 8 | 64 GiB | 48 GiB |
DeepSeek-R1-Distill-Qwen-32B | 32B (32 miliar parameter) | 74,32 GB | Lebih besar dari 8 | 128 GiB | 96 GiB |
DeepSeek-R1-Distill-Llama-70B | 70B (70 miliar parameter) | 140,56 GB | Lebih besar dari 12 | 128 GiB | 192 GiB |
Pastikan spesifikasi instans yang dipercepat GPU ACS sesuai dengan Logika penyesuaian spesifikasi pod ACS.
Secara default, sebuah pod ACS menyediakan 30 GiB penyimpanan EphemeralStorage gratis. Gambar inferensi inference-nv-pytorch:25.02-vllm0.7.2-sglang0.4.3.post2-pytorch2.5-cuda12.4-20250305-serverless yang digunakan dalam contoh ini berukuran 9,8 GiB. Jika Anda membutuhkan lebih banyak ruang penyimpanan, sesuaikan ukuran EphemeralStorage. Untuk informasi lebih lanjut, lihat Tambahkan EphemeralStorage.
Prosedur
Langkah 1: Persiapkan file model DeepSeek-R1-Distill-Qwen-7B
Biasanya membutuhkan waktu 1 hingga 2 jam untuk mengunduh dan mengunggah model. Anda dapat submit a ticket untuk menyalin file model ke Bucket OSS Anda.
Jalankan perintah berikut untuk mengunduh model DeepSeek-R1-Distill-Qwen-7B dari ModelScope.
CatatanPeriksa apakah plug-in git-lfs telah diinstal. Jika belum, jalankan
yum install git-lfsatauapt-get install git-lfsuntuk menginstalnya. Untuk informasi lebih lanjut, lihat Instal git-lfs.git lfs install GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B.git cd DeepSeek-R1-Distill-Qwen-7B/ git lfs pullBuat direktori OSS dan unggah file model ke direktori tersebut.
CatatanUntuk menginstal dan menggunakan ossutil, lihat Instal ossutil.
ossutil mkdir oss://<your-bucket-name>/models/DeepSeek-R1-Distill-Qwen-7B ossutil cp -r ./DeepSeek-R1-Distill-Qwen-7B oss://<your-bucket-name>/models/DeepSeek-R1-Distill-Qwen-7BBuat PV dan PVC. Buat PV bernama
llm-modeldan PVC untuk kluster. Untuk informasi lebih lanjut, lihat Mount volume OSS yang diprovision secara statis.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 pada langkah sebelumnya.
Jalur OSS
Pilih jalur model, seperti
/models/DeepSeek-R1-Distill-Qwen-7B.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.
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> # Endpoint, 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-Distill-Qwen-7B/ 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
Jalankan perintah berikut untuk menerapkan layanan inferensi model DeepSeek-R1-Distill-Qwen-7B yang menggunakan kerangka vLLM.
Layanan inferensi mengekspos API HTTP yang kompatibel dengan OpenAI. Dalam blok kode berikut, parameter
--datayang disediakan oleh klien Arena digunakan untuk memperlakukan file parameter model sebagai dataset khusus dan memasangnya ke jalur yang ditentukan (/model/DeepSeek-R1-Distill-Qwen-7B) dari kontainer yang menjalankan layanan inferensi.--max_model_lenmenentukan panjang maksimum token yang dapat diproses oleh model. Anda dapat meningkatkan panjangnya untuk mendapatkan kinerja yang lebih tinggi. Namun, ini juga meningkatkan penggunaan Memori GPU.CatatanGanti variabel dalam perintah
gpu-model-series=<example-model>dengan model GPU aktual yang didukung oleh ACS. Submit a ticket untuk daftar model GPU yang didukung oleh ACS.egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/{image:tag}adalah alamat gambar publik. Kami merekomendasikan Anda gunakan VPC untuk mempercepat penarikan gambar kontainer AI.
arena serve custom \ --name=deepseek-r1 \ --version=v1 \ --gpus=1 \ --cpu=8 \ --memory=32Gi \ --replicas=1 \ --label=alibabacloud.com/compute-class=gpu \ --label=alibabacloud.com/gpu-model-series=<example-model> \ --restful-port=8000 \ --readiness-probe-action="tcpSocket" \ --readiness-probe-action-option="port: 8000" \ --readiness-probe-option="initialDelaySeconds: 30" \ --readiness-probe-option="periodSeconds: 30" \ --image=egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-nv-pytorch:25.02-vllm0.7.2-sglang0.4.3.post2-pytorch2.5-cuda12.4-20250305-serverless \ --data=llm-model:/models/DeepSeek-R1-Distill-Qwen-7B \ "vllm serve /models/DeepSeek-R1-Distill-Qwen-7B --port 8000 --trust-remote-code --served-model-name deepseek-r1 --max-model-len 32768 --gpu-memory-utilization 0.95 --enforce-eager"Hasil yang diharapkan:
service/deepseek-r1-v1 created deployment.apps/deepseek-r1-v1-custom-serving created INFO[0004] The Job deepseek-r1 has been submitted successfully INFO[0004] You can run `arena serve get deepseek-r1 --type custom-serving -n default` to check the job statusTabel berikut menjelaskan parameter.
Parameter
Deskripsi
--name
Nama layanan inferensi.
--version
Versi layanan inferensi.
--gpus
Jumlah GPU yang digunakan oleh setiap replika layanan inferensi.
--cpu
Jumlah vCPU yang digunakan oleh setiap replika layanan inferensi.
--memory
Jumlah memori yang digunakan oleh setiap replika layanan inferensi.
--replicas
Jumlah replika layanan inferensi.
--label
Tambahkan label berikut untuk tentukan daya komputasi GPU ACS.
--label=alibabacloud.com/compute-class=gpu--label=alibabacloud.com/gpu-model-series=<example-model>--restful-port
Port layanan inferensi yang akan diekspos.
--readiness-probe-action
Tipe koneksi probe kesiapan. Nilai valid:
httpGet,exec,grpc, dantcpSocket.--readiness-probe-action-option
Metode koneksi probe kesiapan.
--readiness-probe-option
Konfigurasi probe kesiapan.
--image
Alamat gambar layanan inferensi.
--data
Mount PVC bersama ke lingkungan runtime. Nilainya terdiri dari dua bagian yang dipisahkan oleh titik dua (:). Tentukan nama PVC di sisi kiri titik dua. Anda dapat menjalankan perintah
arena data listuntuk melihat PVC di kluster saat ini. Tentukan jalur tempat PVC dipasang di sisi kanan titik dua. Data pelatihan akan dibaca dari jalur yang ditentukan. Dengan cara ini, pekerjaan pelatihan Anda dapat mengambil data yang disimpan dalam PV yang diklaim oleh PVC.Jalankan perintah berikut untuk menanyakan detail layanan inferensi:
arena serve get deepseek-r1Hasil yang diharapkan:
Name: deepseek-r1 Namespace: default Type: Custom Version: v1 Desired: 1 Available: 1 Age: 6h Address: 10.0.78.27 Port: RESTFUL:8000 GPU: 1 Instances: NAME STATUS AGE READY RESTARTS GPU NODE ---- ------ --- ----- -------- --- ---- deepseek-r1-v1-custom-serving-54d579d994-dqwxz Running 1h 1/1 0 1 virtual-kubelet-cn-hangzhou-b
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-v1 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": "deepseek-r1", "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 yang sedang duduk di kelas tiga dari tahun 2035 di masa depan, dan menyampaikan tiga pesan utama pada saat yang sama: pelajari teknologi dengan baik, kuasai teknologi, dan dorong perkembangan teknologi dan ekonomi. Pertama, saya harus mempertimbangkan bahwa nada surat harus ramah 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. Pada saat yang sama, biarkan putrinya merasakan pentingnya ilmu pengetahuan dan teknologi dan picu minatnya pada ilmu pengetahuan dan teknologi. Mungkin perlu memulai 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 menekankan pentingnya mempelajari ilmu pengetahuan dan teknologi, dan mendorongnya untuk menjadi tuan dari ilmu pengetahuan dan teknologi dan berpartisipasi dalam pengembangan ilmu pengetahuan dan teknologi. Terakhir, ungkapkan harapan dan doa. \n\nDalam hal konten, perlu menyoroti dampak teknologi terhadap kehidupan, seperti asisten pintar, rumah pintar, kendaraan energi baru, dll. Semua ini adalah hal-hal yang mungkin pernah didengar anak-anak, tetapi detail spesifiknya mungkin perlu disederhanakan untuk menghindari terlalu teknis dan tetap menarik. \n\nPada saat yang sama, surat tersebut 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 dari ilmu pengetahuan dan teknologi, bukan sekadar permainan angka. \n\nTerakhir, 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 konkret dari teknologi masa depan, sehingga putri saya dapat merasakan daya tarik teknologi dan pentingnya belajar dalam suasana santai. \n</think>\n\nDear Future 2035: \n\nHalo! \n\nPertama, saya ingin memberi tahu Anda kabar baik: bumi telah memasuki era baru! Pada tahun 2035, teknologi bukan lagi cerita fiksi ilmiah, tetapi bagian dari kehidupan kita sehari-hari. Hari ini, saya menulis surat ini untuk memberi tahu Anda beberapa rahasia tentang masa depan dan bagaimana Anda harus hidup dan belajar di dunia yang berkembang pesat dengan ilmu pengetahuan dan teknologi ini. \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 dapat mengobrol dengan Anda, belajar bersama Anda, dan bahkan membantu Anda menyelesaikan masalah matematika! Bayangkan ketika Anda menghadapi masalah sulit, robot akan dengan sabar mengajari Anda cara menyelesaikan masalah langkah demi langkah, bukankah itu hebat? \n\n### 2. ** Pentingnya mempelajari 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 diubah oleh teknologi: dokter dapat menggunakan peralatan medis canggih untuk mendeteksi penyakit lebih awal; 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. \n\n Jadi, saya ingin memberi tahu Anda bahwa mempelajari 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 penguasa masa depan. Anda akan memiliki kesempatan untuk menciptakan teknologi baru dan mengubah hidup kita! \n\n### 3. **Jadilah penguasa 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 Yang penting adalah 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 berharap bahwa di masa depan Anda dapat mencintai ilmu pengetahuan dan teknologi, memahami ilmu pengetahuan dan teknologi, menguasai ilmu pengetahuan dan teknologi. Tidak hanya Anda harus belajar cara 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 untuk tantangan? \n\nTerakhir, saya ingin memberi tahu 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\nPutri tercinta di tahun 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: Bersihkan lingkungan
Jika Anda tidak lagi memerlukan layanan inferensi, hapus lingkungan segera.
Hapus layanan inferensi.
arena serve delete deepseek-r1Hasil yang diharapkan:
INFO[0007] The serving job deepseek-r1 with version v1 has been deleted successfullyHapus 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 menggunakan 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 berikut:
Untuk informasi lebih lanjut tentang DeepSeek R1 dan V3, lihat 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.