Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Inferensi dan Orkestrasi CPU
Ikhtisar
Instans CPU adalah opsi komputasi kelas satu untuk berbagai beban kerja AI di Amazon EKS. Dari model bahasa kecil (SLM) dan inferensi ML klasik hingga pipeline data dan orkestrasi agen, CPU menawarkan kinerja harga yang kuat, ketersediaan kapasitas yang luas, dan semantik penjadwalan Kubernetes yang sudah dikenal.
CPU dan GPU saling melengkapi, tidak kompetitif. Ketika pipeline AI agentic tumbuh dalam kompleksitas, permukaan beban kerja CPU tumbuh bersamanya: setiap panggilan inferensi dikelilingi oleh eksekusi alat, rakitan konteks, pencarian vektor, pagar pembatas, dan logika orkestrasi yang semuanya berjalan pada CPU. Kami merekomendasikan merancang arsitektur yang menggunakan kedua jenis komputasi dengan sengaja, menempatkan setiap beban kerja pada tingkat di mana ia memberikan kinerja biaya terbaik.
Tidak semua beban kerja membutuhkan GPU. Perutean, klasifikasi, pengambilan, penyematan, orkestrasi, dan semakin banyak inferensi model bahasa semuanya berjalan secara efektif pada CPU. Current-generation Instans CPU di arm64 dan x86 memberikan kinerja harga yang kuat untuk inferensi ML. Dikombinasikan dengan konsolidasi node Karpenter, penskalaan berbasis peristiwa KEDA, dan penyajian model terkuantisasi, ini menyediakan tumpukan siap produksi yang dapat dioperasikan oleh tim platform tanpa keahlian GPU yang mendalam.
Panduan ini untuk:
-
Insinyur platform merancang cluster EKS multi-penyewa untuk beban kerja AI.
-
Praktisi ML mengevaluasi backend inferensi untuk model di bawah parameter 30B.
-
FinOps tim yang mencari tuas biaya beton tanpa mengorbankan SLO.
Apa yang akan Anda pelajari:
-
Beban kerja AI mana yang termasuk dalam CPU dan di mana GPU atau Trainium diperlukan.
-
Bagaimana menerapkan kerangka keputusan empat dimensi untuk setiap beban kerja baru.
-
Dua pola produksi: pra-penyaringan SLM agen dan pertanian model kepadatan tinggi.
-
Praktik terbaik pengoptimalan: kuantisasi, pengepakan tempat sampah, penjadwalan Spot, dan penskalaan otomatis.
Awas
Setiap rekomendasi dalam panduan ini harus divalidasi secara empiris. Keluarga instans yang tepat (arm64, x86, GPU, atau Trainium) bergantung pada model, data, dan anggaran latensi Anda. Gunakan panduan ini sebagai titik awal yang terinformasi, lalu patokan sebelum melakukan.
Mengapa CPU untuk Beban Kerja AI?
Pipa AI produksi mendistribusikan pekerjaan di banyak tingkatan komputasi. CPU menangani routing, klasifikasi, pengambilan, orkestrasi, dan semakin banyak inferensi. Current-generation Instans CPU memberikan kinerja harga yang kuat dan penjadwalan Kubernetes yang familiar, menjadikannya pilihan praktis untuk banyak beban kerja AI.
Tiga faktor membuat CPU menarik untuk beban kerja ini:
Ketersediaan kapasitas
Instans GPU sering memerlukan reservasi kapasitas beberapa minggu sebelumnya. Instans CPU tersedia secara luas di semua wilayah AWS tanpa plugin perangkat khusus, tanpa konfigurasi DRA, dan tidak ada partisi MIG. Ketika Anda perlu menskalakan dengan cepat, kapasitas CPU adalah pilihan yang paling tersedia.
Ekonomi
Current-generation Instans CPU memberikan kinerja harga yang kuat untuk inferensi ML. Untuk tim yang menjalankan FinOps ulasan atau mengelola cluster multi-tenant, perbedaan biaya antara CPU dan GPU sangat signifikan, terutama untuk SLM terkuantisasi di mana akselerasi GPU memberikan pengembalian yang semakin berkurang. Kami merekomendasikan benchmarking di seluruh rangkaian instans yang tersedia (Graviton, AMD, Intel) untuk menemukan biaya per token terbaik untuk beban kerja Anda.
Kesederhanaan operasional
Pod CPU menggunakan penjadwalan Kubernetes standar (requests,, afinitas nodelimits, penyebaran topologi). Tidak ada plugin perangkat, tidak ada penjadwal khusus, tidak ada nvidia.com/gpu jenis sumber daya. Tim yang ingin menjalankan beban kerja AI tanpa keahlian GPU yang mendalam dapat mencapai produksi lebih cepat di CPU.
Menumbuhkan permukaan CPU di saluran pipa agen
Dalam pipeline AI agen, setiap panggilan inferensi GPU dikelilingi oleh pekerjaan CPU: eksekusi alat, perakitan konteks, pencarian vektor, pencarian penyematan, pagar pembatas, validasi respons, manajemen memori, dan logika orkestrasi. Ketika agen tumbuh lebih kompleks (lebih banyak alat, rantai yang lebih panjang, penalaran multi-langkah), beban kerja CPU ini tumbuh sangat linier. Protokol seperti MCP (Model Context Protocol) memperkuat ini lebih lanjut: setiap panggilan alat MCP memicu pengambilan data, transformasi, dan pemformatan yang berjalan sepenuhnya pada CPU.
CPU vs GPU/Trainium: Kapan Memilih Masing-masing
| Faktor | Pilih CPU | Pilih GPU/Trainium |
|---|---|---|
|
Ukuran Model |
SLM 1-8B (terkuantisasi); penyematan; pengklasifikasi |
8B+untuk inferensi online latensi rendah; 70B+secara umum |
|
Latensi SLO |
p95 100-500ms dapat diterima |
p95 <50 ms diperlukan |
|
Bersamaan |
< 100 req/s per titik akhir |
> 100 req/s berkelanjutan |
|
Jenis Beban Kerja |
Orkestrasi, pengambilan, ETL, penilaian batch |
Inferensi online, fine-tuning, pelatihan |
|
Kapasitas |
Ketersediaan segera, tidak ada reservasi |
Seringkali membutuhkan kapasitas cadangan |
|
Sensitivitas Biaya |
CPU memberikan $/token terbaik untuk beban kerja yang memenuhi syarat |
GPU diamortisasi pada pemanfaatan tinggi |
|
Keahlian Tim |
Operasi Kubernetes Standar |
Membutuhkan pengetahuan operasi GPU |
|
Kedaulatan Data |
Inferensi SLM di VPC; jejak audit penuh; data tidak pernah meninggalkan akun Anda |
Sama jika dikelola sendiri; tidak tersedia dengan API eksternal |
Tip
Ambang batas ini adalah titik awal. Sebaiknya jalankan mesin inferensi target Anda pada keluarga instance kandidat (arm64 dan x86) dengan model dan pola lalu lintas Anda yang sebenarnya sebelum melakukan ke tingkat komputasi.
Kerangka Keputusan Beban Kerja
Memilih komputasi yang tepat untuk beban kerja AI bermuara pada empat dimensi:
-
Ukuran dan presisi model: Apakah kuantisasi menjaga kualitas dalam kisaran yang dapat Anda terima?
-
SLO latensi dan throughput: Apa p50/p95 target dan tingkat permintaan puncak Anda?
-
Jenis beban kerja: Inferensi online, penilaian batch, pengambilan, atau orkestrasi?
-
Kendala biaya dan kapasitas: FinOps anggaran, ketersediaan daerah, strategi reservasi?
Gunakan tabel di bawah ini sebagai matriks keputusan.
| Beban kerja | CPU | GPU/Train | Catatan |
|---|---|---|---|
|
SLM (parameter 1-8B, terkuantisasi) |
Pilihan default. Kinerja harga yang kuat pada latensi 100-500 ms, QPS sedang. Benchmark di seluruh keluarga instance. |
Ketika p95 <50ms or concurrency >100 req/s. |
Kuantisasi Q4_K_M atau Q8_0 direkomendasikan |
|
Model sedang (parameter 8-30B) |
Batch, async, penilaian offline. Uji kuantisasi Q4. |
Inferensi online, konteks panjang, latensi ketat. |
Benchmark Q4 di seluruh keluarga instans |
|
LLM besar (70B+parameter) |
Non-real-time hanya, kuantisasi berat |
Default untuk inferensi online produksi |
Bahkan 70B dapat berjalan pada CPU; mengharapkan latensi tinggi |
|
Klasik ML/Embeddings/CV |
High-density melayani; bin-pack di seluruh node. |
Penglihatan berat atau multi-modal dalam skala. |
TorchServe, Triton pada CPU menangani ribuan model. |
|
Pipa data/ETL/Data sintetis |
Ray dan Spark pada CPU untuk persiapan data dan rekayasa fitur. |
N/A |
CPU menjangkar seluruh tahap persiapan data ini |
|
Orkestrasi agen/pengambilan RAG |
Network-bound layanan: gateway API, lapisan proxy, retriever, chunker. |
N/A |
Manfaat dari instance CPU bandwidth tinggi. |
|
Fine-tuning /Pelatihan |
Persiapan data dan orkestrasi pipa. |
Pelatihan model dan distilasi. |
Hibrida: Persiapan CPU, kereta GPU, kesimpulan CPU. |
|
Compliance-sensitive inferensi (FSI, perawatan kesehatan, pemerintah) |
SLM di VPC pada CPU. Data tetap dalam akun, jejak audit penuh. |
Sama jika dikelola sendiri di GPU. |
CPU menang pada biaya untuk model sub-8B di lingkungan yang diatur. |
Awas
Meskipun secara teknis dimungkinkan untuk menjalankan model 70B+pada CPU dengan kuantisasi berat (Q4 atau lebih rendah), ini hanya layak untuk beban kerja non-real-time, offline, atau batch. Harapkan tingkat pembuatan token dalam satu digit rendah (1-5 tokens/sec), persyaratan memori melebihi 40GB bahkan pada Q4, dan latensi diukur dalam menit per respons untuk output yang lebih lama. Untuk kasus penggunaan interaktif atau sensitif latensi, model 70B+termasuk dalam GPU atau Trainium.
Alur Kerja Benchmark Cepat
Sebelum berkomitmen ke keluarga instans, sebaiknya jalankan benchmark terstruktur yang membandingkan keluarga CPU kandidat Anda (arm64 dan x86) dengan GPU pada satu metrik yang sebanding: kueri biaya per 1.000 pada latensi p95 target Anda. Terapkan satu node per keluarga dengan konfigurasi model yang identik (kuantisasi yang sama, ukuran konteks, jumlah utas), masing-masing uji beban, dan bandingkan. Jika instance CPU memenuhi SLO p95 Anda, kemungkinan besar akan menang berdasarkan biaya. Jika meleset dengan selisih kecil, cobalah generasi terbaru dalam keluarga itu sebelum pindah ke GPU. Jika latensi masih terlalu tinggi pada target konkurensi Anda, itu adalah sinyal untuk memindahkan beban kerja ke GPU.
Pola Produksi
Pola 1: Agentic AI - SLM Pre-Filter pada CPU dengan Eskalasi LLM
Sebagian besar alur kerja agen mengeksekusi pola sempit yang sama berulang kali: mengklasifikasikan permintaan, memilih alat, mengekstrak data terstruktur, memvalidasi respons. Tugas-tugas ini tidak memerlukan model parameter 70B.
Penelitian tentang SLM (ar Xiv:2506.02153
Dalam pola ini, SLM pada CPU menangani sebagian besar permintaan end-to-end. Lapisan perutean (juga berjalan pada CPU) hanya meningkatkan kasus yang benar-benar kompleks ke LLM. GPU-hosted
Komponen yang berjalan pada CPU:
-
API gateway/lapisan proxy - menangani autentikasi, perutean, pembatasan laju
-
Orkestrator agen - mengelola panggilan alat dan status
-
Layanan inferensi SLM - model 1-8B terkuantisasi menggunakan mesin inferensi seperti llama.cpp
, Ollama, atau VllM pada CPU -
Pengambilan vektor — OpenSearch pada node CPU
Komponen pada GPU/Trainium:
-
LLM besar untuk sintesis kompleks, penalaran konteks panjang
Mengapa pola ini berfungsi: Dalam banyak alur kerja agen, 60-80% permintaan dapat diklasifikasikan atau diekstraksi oleh SLM. Untuk setiap panggilan LLM yang Anda hindari, Anda juga menghindari pekerjaan CPU di sekitarnya untuk merakit jendela konteks besar, menjalankan pagar pembatas pada respons yang panjang, dan mengelola keadaan kompleks. Skala tingkat CPU secara independen dari tingkat GPU.
Kategori beban kerja CPU dalam saluran agen tipikal meliputi: eksekusi alat (panggilan server MCP, panggilan API, kueri basis data), perakitan konteks, pencarian vektor dan pencarian penyematan, logika orkestrasi dan perencanaan, pagar pembatas dan penyaringan keselamatan, validasi respons dan pemformatan, memori agen dan manajemen status, dan. logging/observability
Pola ini juga sesuai dengan siklus hidup fine-tuning: mengumpulkan data domain pada node CPU, menyempurnakan GPU, lalu menerapkan model terkuantisasi kembali ke CPU untuk inferensi dengan biaya yang jauh lebih rendah daripada titik akhir LLM. Penelitian dari LoRa Land (ar Xiv:2405.00732
Pola 2: Pertanian Model High-Density CPU
Pipa produksi ML secara rutin menggunakan ratusan atau ribuan model yang lebih kecil: penyematan, pemberi rekomendasi, pengklasifikasi, pencetak gol, dan model visi komputer. BERT-based Secara individual ringan, model ini menjadi mahal ketika masing-masing diberi sumber daya GPU sendiri.
Kami merekomendasikan penyajian CPU densitas tinggi (bin-packing beberapa model per node menggunakan TorchServe atau Triton pada CPU), dengan Karpenter mengelola siklus hidup node dan penskalaan KEDA pada beban yang diamati.
Pola ini meluas secara alami ke arsitektur RAG: pembuatan embedding, chunking dokumen, dan pengambilan dari OpenSearch semua run hemat biaya pada node CPU, memasukkan hasil ke LLM hanya untuk langkah generasi terakhir. GPU-hosted CPU farm menangani volume; GPU menangani kompleksitas.
Untuk industri yang diatur (layanan keuangan, perawatan kesehatan, pemerintah), pola ini sangat menarik: ratusan model khusus yang menjalankan in-VPC pada CPU, dengan jejak audit penuh dan data yang tidak pernah keluar dari akun. Persyaratan kepatuhan untuk inferensi yang dikelola sendiri sejalan secara alami dengan keunggulan biaya CPU untuk model sub-8B.
Praktik Terbaik Optimasi
Kuantisasi
Menjalankan model 7B pada BF16 penuh pada CPU tidak praktis; menjalankannya pada kuantisasi Q4 layak dan hemat biaya. Memahami mengapa kuantisasi membantu CPU adalah kunci untuk membuat keputusan infrastruktur yang baik.
Mengapa kuantisasi penting untuk inferensi CPU. Inferensi CPU terikat dengan bandwidth memori, bukan terikat komputasi. Selama fase decode (menghasilkan token satu per satu), seluruh bobot model dibaca dari RAM untuk setiap token yang dihasilkan. CPU menghabiskan sebagian besar waktunya menunggu data datang dari memori, tidak melakukan matematika. Model 7B di BF16 kira-kira 14GB; pada Q4_K_M, menyusut menjadi sekitar 4GB. Karena bottleneck memindahkan byte dari RAM ke inti CPU, model yang 3,5x lebih kecil membaca 3,5x lebih cepat, yang diterjemahkan hampir langsung ke generasi token 3,5x lebih cepat. Inilah sebabnya mengapa kuantisasi adalah pengoptimalan tunggal yang paling berdampak untuk inferensi CPU, dan mengapa generasi CPU yang lebih baru dengan lebih banyak saluran memori menghasilkan inferensi yang lebih cepat bahkan pada kecepatan clock yang sama.
Sebaiknya buat mesin inferensi Anda dengan backend yang dioptimalkan untuk arsitektur (ARM NEON/SVE2 untuk arm64, AVX-512/AMX untuk x86), menyetel jumlah utas sama dengan jumlah vCPU, dan memilih format kuantisasi Q4_K_M atau Q8_0.
| Kuantisasi | Dampak Kualitas | Throughput vs BF16 | Kasus Penggunaan |
|---|---|---|---|
|
Q4_K_M |
Rendah (1-3% delta kebingungan, tergantung model) |
~ 4-5x lebih cepat |
Default produksi untuk SLM |
|
Q8_0 |
Dapat diabaikan |
~ 2x lebih cepat |
Quality-sensitive tugas |
|
Q5_K_M |
Sangat rendah |
~ 3.5x lebih cepat |
Keseimbangan kualitas dan kecepatan |
|
BF16 |
Tidak ada |
1x (garis dasar) |
Hindari pada CPU untuk model 7B + |
Untuk model sub-2B, CPU menang pada kinerja harga vs GPU. Model-model ini cukup kecil sehingga akselerasi GPU memberikan manfaat minimal sementara biaya per jam secara signifikan lebih tinggi. Jika beban kerja Anda dapat menggunakan model sub-2B, CPU adalah default yang disarankan.
Architecture-specific pengoptimalan: Pada arm64, instance Graviton generasi saat ini mendukung SVE2. Bangun mesin inferensi Anda dengan -march bendera yang sesuai untuk target Anda. Pada x86, instans AMD EPYC mendukung AVX-512, dan instans Intel Xeon menambahkan AMX untuk akselerasi matriks. Karena inferensi terikat dengan bandwidth memori, generasi CPU yang lebih baru dengan lebih banyak saluran memori DDR5 menghasilkan inferensi yang lebih cepat bahkan pada kecepatan clock yang sama. Saat memilih jenis instance, prioritaskan bandwidth memori di atas jumlah inti.
Ukuran jendela konteks: Untuk klasifikasi dan beban kerja perutean, input biasanya di bawah 200 token dan outputnya 2-3 token. Menyetel jendela konteks kecil (misalnya, 512 token) alih-alih 2048 default mengurangi penggunaan memori cache KV dan meningkatkan latensi per permintaan. Hanya tingkatkan jendela konteks jika input Anda benar-benar panjang.
Perhatian Flash: Aktifkan Perhatian Flash jika mesin inferensi Anda mendukungnya. Flash Attention mengurangi penggunaan memori untuk perhitungan perhatian dengan menghindari materialisasi matriks perhatian penuh. Pada CPU, manfaatnya lebih kecil daripada pada GPU, tetapi masih membantu untuk input yang lebih lama.
Tip
Degradasi kualitas Q4_K_M bervariasi menurut model dan tugas. Selalu evaluasi pada dataset Anda sendiri sebelum menerapkan ke produksi.
Bin-packing untuk penyajian padat
Untuk model mL dan penyematan klasik (masing-masing biasanya <500MB), tujuannya adalah kepadatan pod maksimum per node pada latensi ekor yang stabil. Dua hal menentukan apakah Anda mencapainya: permintaan sumber daya yang akurat, dan threading terkontrol.
Dasarkan Anda requests pada penggunaan p50-p90 yang diamati di bawah beban realistis. Gunakan Goldilocks, rekomendasi VPA, atau histogram Prometheus dari uji beban. Default hampir selalu salah di kedua arah.
Pustaka ML (PyTorch, ONNX Runtime, MKL, OpenBLAS) menelurkan thread sebanyak mungkin karena mereka dapat melihat VCPU pada node, bukan CPU yang dialokasikan ke pod. Pada node padat dengan 20 pod, setiap pod mencoba menelurkan 32 utas. Node meronta-ronta pada peralihan konteks dan lonjakan latensi p99. Perbaiki ini secara eksplisit:
env: - name: OMP_NUM_THREADS value: "2" # match your cpu request (2000m = 2 threads) - name: MKL_NUM_THREADS value: "2" - name: OPENBLAS_NUM_THREADS value: "2" - name: INTRA_OP_NUM_THREADS # PyTorch / ONNX Runtime value: "2" - name: NUM_INTER_THREADS value: "1" # keep inter-op parallelism minimal
Tetapkan setiap nilai sama dengan atau di bawah permintaan CPU Anda. Untuk pod dengan 4+ core, benchmark mulai dari 2-4 thread. Banyak model kecil berkinerja lebih baik dengan thread yang lebih sedikit karena efisiensi cache. Jika Anda menggunakan HPA dengan banyak pod tipis, 1-2 utas per pod hampir selalu menang.
Penjadwalan dan optimalisasi biaya
Dua praktik digabungkan untuk mengurangi biaya inferensi CPU secara signifikan: Instans spot dengan konsolidasi Karpenter, dan gambar kontainer multi-lengkungan.
Konsolidasi Karpenter bekerja dengan baik untuk inferensi CPU karena pod inferensi stateless di belakang antrian atau penyeimbang beban mentolerir interupsi dengan anggun. Konfigurasikan konsolidasi untuk bertindak pada node yang kurang dimanfaatkan dengan anggaran yang membatasi gangguan bersamaan (misalnya, 20% node sekaligus) untuk menghindari penurunan kapasitas selama penurunan skala. nodePoolSpesifikasi Karpenter memungkinkan Anda mencampur Spot dan On-Demand kapasitas dalam satu kumpulan, dengan Spot sebagai opsi pilihan dan On-Demand sebagai fallback.
Membangun gambar multi-lengkungan (arm64danamd64) membuka ini lebih lanjut. Dengan kedua arsitektur yang tersedia, Karpenter dapat memilih dari rangkaian lengkap keluarga instans (Graviton, AMD, Intel) berdasarkan harga dan ketersediaan waktu nyata. Ini sangat berharga untuk beban kerja Spot di mana diversifikasi di seluruh jenis dan arsitektur instans mengurangi frekuensi interupsi. Gunakan docker buildx atau pipeline CI dengan build multi-platform untuk menghasilkan manifes tunggal yang mencakup kedua arsitektur.
Optimalisasi startup kontainer
Saat Karpenter menyediakan node baru (scaling up, Spot replacement), runtime container perlu menarik image inferensi sebelum pod dapat dimulai. Untuk gambar inferensi multi-GB, ini dapat menambahkan 30-60 detik ke startup pod.
Sebaiknya gunakan Bottlerocket
Untuk panduan konfigurasi terperinci, lihat bagian Kinerja dari panduan ini, yang mencakup konfigurasi SOCI, pra-penarikan snapshot EBS, dan strategi cache runtime container.
Observabilitas
Tanpa observabilitas pada lapisan model, Anda menskalakan secara membabi buta. Kami merekomendasikan untuk mengekspos metrik Prometheus untuk setiap layanan inferensi dan menggunakannya untuk mendorong penskalaan KEDA dan dasbor operasional.
Sebagian besar server inferensi (llama.cpp, VllM, Triton, TorchServe) mengekspos Prometheus-compatible metrik pada titik akhir. /metrics Nama metrik bervariasi menurut server, tetapi konsepnya sama.
Metrik kunci untuk instrumen:
| Kategori Metrik | Deskripsi | Ambang Peringatan |
|---|---|---|
|
Pemrosesan permintaan/dalam penerbangan |
Jumlah permintaan yang saat ini ditangani oleh server. |
Gunakan untuk penskalaan (lihat bagian penskalaan otomatis di bawah) |
|
Permintaan antri/ditangguhkan |
Jumlah permintaan menunggu slot pemrosesan. |
Pemicu skala. Setiap antrian berkelanjutan berarti latensi akan menurun. |
|
Throughput token |
Token yang dihasilkan per detik. |
Waspada jika throughput turun di bawah 50% dari baseline di bawah beban |
|
Minta latensi |
End-to-end histogram latensi (pemrosesan cepat+pembuatan token). |
Peringatan pada p95 melebihi SLO Anda |
|
Pemanfaatan cache KV |
Seberapa penuh cache nilai kunci (0,0 hingga 1,0). Mendekati 1.0 berarti server akan mulai menolak atau mengantri permintaan. |
Peringatan pada 85% + |
|
Memori kontainer |
Memori RSS per pod ( |
Peringatan pada 85% dari batas |
Penskalaan otomatis: skala pada kedalaman antrian, bukan pemanfaatan CPU
Pemanfaatan CPU adalah metrik saturasi. Ini melonjak setelah latensi telah terdegradasi. Pada saat autoscaling berbasis pemanfaatan bereaksi, pengguna sudah menunggu.
Kedalaman antrian (permintaan deferred/waiting) adalah indikator utama. Ini naik sebelum latensi menurun, karena permintaan mulai mengantri ketika semua slot pemrosesan sibuk. Penskalaan pada kedalaman antrian berarti replika baru disediakan sementara replika yang sudah ada masih merespons secara normal.
KEDA mendukung penggabungan beberapa metrik ke dalam rumus penskalaan tunggal menggunakan scalingModifiers (membutuhkan KEDA 2.12+). Pola yang direkomendasikan untuk beban kerja inferensi adalah menggabungkan permintaan dalam penerbangan dengan permintaan antrian, yang sangat membobot metrik antrian:
advanced: scalingModifiers: formula: "running + (waiting * 10)" target: "25" activationTarget: "5"
Rumusnya running + (waiting * 10) berarti bahkan 3 permintaan antrian mendorong metrik gabungan ke 55, jauh di atas target 25. Penskalaan dimulai sebelum latensi menurun. The activationTarget of 5 mencegah noise memicu peristiwa skala-dari-nol yang tidak perlu.
Mengevaluasi Kualitas Model untuk Beban Kerja CPU-First
Menyebarkan SLM terkuantisasi pada CPU adalah keputusan biaya dan latensi. Masuk akal jika model masih menghasilkan output yang benar dan berguna untuk beban kerja Anda.
Model yang lebih kecil atau kuantisasi memotong biaya komputasi tetapi dapat mengurangi kualitas. Dampaknya bervariasi. Beban kerja yang bekerja dengan baik pada CPU (klasifikasi, ekstraksi, perutean, ringkasan, penyematan) sering mempertahankan kualitas yang baik dalam B-7B kisaran 3 dengan kuantisasi dan dorongan yang tepat.
Apa yang harus dievaluasi
Beban kerja yang berbeda menurun dengan cara yang berbeda:
| Beban kerja | Apa yang bisa terdegradasi | Apa yang harus diukur |
|---|---|---|
|
Klasifikasi maksud atau tiket |
Kesalahan pada input ambigu |
Akurasi, F1 per kelas |
|
Ekstraksi terstruktur (JSON) |
Bidang hilang atau skema yang salah |
Pencocokan yang tepat, validitas skema |
|
RAG menjawab |
Halusinasi atau mengabaikan konteks |
Kesetiaan, relevansi jawaban |
|
Ringkasan |
Fakta yang hilang atau cakupan yang buruk |
ROUGE-L, BertScore, ulasan manusia |
|
Perutean agen |
Memilih alat yang salah |
Akurasi alat |
|
Embeddings |
Kualitas pengambilan yang lebih buruk |
Ingat @K, NDCG |
Alur kerja evaluasi praktis
Sebaiknya buat pemeriksaan kualitas sebelum produksi, mirip dengan cara Anda menjalankan uji beban sebelum memilih jenis instans. Alur kerja memiliki empat tahap:
-
Build Eval Dataset — Buat dataset evaluasi kecil (100-300 contoh berlabel) dari beban kerja Anda yang sebenarnya. Hindari tolok ukur generik seperti MMLU yang mengukur penalaran umum daripada tugas Anda yang sebenarnya.
-
Menetapkan Baseline — Jalankan dataset terhadap model tepercaya (misalnya, LLM besar yang Anda tahu menghasilkan hasil yang benar).
-
Uji Model CPU - Jalankan kumpulan data yang sama pada SLM terkuantisasi Anda dan bandingkan.
-
Evaluasi — Tentukan ambang kualitas Anda sebelum pengujian, misalnya, “akurasi SLM dalam 5 poin persentase dari baseline.” Ambang batas yang tepat tergantung pada tugas: pengklasifikasi yang ditinjau oleh manusia dapat mentolerir lebih banyak kesalahan daripada sistem yang membuat keputusan otomatis.
Bagaimana memulihkan kualitas
Jika model berkinerja buruk, cobalah ini dalam urutan upaya:
-
Tambahkan beberapa contoh bidikan dalam prompt: Nol biaya, langsung. Termasuk 3-5 contoh berlabel dalam prompt sering menutup celah untuk tugas klasifikasi dan ekstraksi.
-
Gunakan format kuantisasi berkualitas lebih tinggi: Pindah dari Q4 ke Q8 sering mengembalikan banyak kualitas yang hilang, dengan biaya ~ 2x lebih banyak memori dan throughput yang lebih rendah.
-
Gunakan routing hybrid: Biarkan SLM menangani kasus sederhana dan mengirim input sulit ke model yang lebih besar. Ini adalah perubahan arsitektur tetapi membuat biaya CPU Anda tetap rendah untuk sebagian besar lalu lintas.
-
Fine-tune model di domain Anda: Opsi paling mahal, tetapi yang paling efektif. Penelitian dari LoRa Land (ar Xiv:2405.00732
) menemukan bahwa model 7B yang disetel dengan baik mengungguli sebagian besar tugas khusus domain yang GPT-4 diuji.