Perangkat Keras & InferensiRiset 🇺🇸 12.08.2026 17:01

Cache KV Berjenjang untuk LLM Besar di Amazon SageMaker HyperPod dengan Curvine

Amazon Web ServicesAmazon Web Services MetaMeta DeepSeekDeepSeek vLLMvLLM
Posting ini menjelaskan arsitektur cache KV berjenjang di Amazon SageMaker HyperPod, memperluas hierarki cache dari GPU ke CPU ke pool NVMe bersama menggunakan Curvine, sistem file cache terdistribusi. Ini memungkinkan penggunaan ulang cache KV lintas replika, mencapai hingga 100% tingkat cache hit lintas Pod dan peningkatan TTFT hingga 2,7 kali. Solusi ini mengurangi biaya infrastruktur dengan memungkinkan beban kerja berjalan pada instance G6e yang lebih murah daripada P5.
Menjalankan inferensi large language model (LLM) dalam skala besar biasanya memaksa adanya trade-off pada cache KV: baik membayar instance GPU yang lebih besar untuk mengakomodasi cache KV yang terus bertambah, atau menerima time-to-first-token (TTFT) yang lambat karena prompt yang identik dihitung ulang pada setiap permintaan. Bagi tim yang menerapkan katalog luas model fondasi (FM) yang tersedia publik, seperti Qwen, Llama, DeepSeek, dan lainnya, di berbagai endpoint per lini bisnis, pipeline Retrieval Augmented Generation (RAG), atau aplikasi dialog multi-putaran, trade-off ini secara langsung berarti biaya infrastruktur yang lebih tinggi dan pengalaman pengguna yang menurun. Akar masalahnya adalah bahwa selama generasi, vLLM menyimpan kunci dan nilai attention untuk setiap token dalam cache KV, dan caching prefiks menggunakan kembali cache tersebut di seluruh permintaan dengan token awal yang sama. Pada instance yang hemat biaya seperti ml.g6e.4xlarge (48 GB per GPU), memori yang tersisa untuk caching prefiks terbatas, dan tingkat cache hit menurun pada prompt panjang, prompt sistem yang identik di-prefill ulang pada setiap permintaan, dan replika vLLM yang diskalakan secara horizontal masing-masing mempertahankan cache yang terisolasi. Solusinya membangun hierarki cache tiga tingkat: L0 (cache prefiks GPU), L1 (offload memori CPU), dan L2 (pool NVMe terdistribusi bersama melalui Curvine). L0 adalah lapisan paged-attention asli vLLM, L1 menggunakan LMCache untuk meng-offload blok GPU yang dikeluarkan ke DRAM host, dan L2 mengumpulkan drive NVMe lokal ke dalam namespace bersama melalui Curvine, dipasang sebagai PVC ReadWriteMany ke setiap Pod inferensi. Intelligent Routing HyperPod mengarahkan permintaan ke replika yang paling mungkin memiliki blok KV yang relevan, dengan strategi termasuk prefix-aware, kv-aware, dan round-robin. Efek bersihnya: hanya pada miss total sistem melakukan prefill ulang dari awal, secara substansial mengurangi TTFT untuk beban kerja dengan tumpang tindih prompt sedang hingga tinggi. Pada deployment uji, ini mencapai tingkat cache hit lintas Pod hingga 100%, peningkatan TTFT hingga 2,7x, dan latensi baca L2 lintas node sekitar 56 ms untuk prompt ~1.900 token. Dengan arsitektur ini, beban kerja yang sebelumnya memerlukan instance P5 dapat berjalan pada instance G6e yang lebih murah, mengurangi biaya per endpoint. Implementasinya memerlukan SageMaker HyperPod dengan Tiered Storage diaktifkan, cluster EKS, dan pemasangan Inference Operator dan Curvine. Postingan ini memandu melalui lima tahap: mengaktifkan Tiered Storage, memasang Inference Operator dan dependensinya, memasang Curvine, menambal Inference Operator untuk L2 berbasis filesystem, dan benchmarking.
Sumber: AWS ML blog — asli
Postingan kami sebelumnya tentang topik ini ↓
Berita terbaru