KVBoost: ταχύτερα LLM όταν το κοινό περιεχόμενο δεν βρίσκεται στην αρχή

Το KVBoost επαναχρησιμοποιεί chunks της KV cache πέρα από το κοινό prefix, με seam repair και ελεγχόμενο memory budget.

Απάντηση πρώτα: το KVBoost μειώνει τον χρόνο μέχρι το πρώτο token όταν επαναλαμβανόμενο περιεχόμενο υπάρχει μέσα στο prompt αλλά όχι απαραίτητα στην αρχή του. Αντί να ζητά κοινό leading prefix, τεμαχίζει την είσοδο, αναζητά ίδια chunks και επαναχρησιμοποιεί την αντίστοιχη KV cache.

Στο benchmark της εργασίας με 1.000 δείγματα bug localization, Qwen2.5-3B και μία RTX 4060, ο μέσος TTFT έπεσε στα 142,4 ms από 639,1 ms για full recomputation και 165,5 ms για vLLM prefix caching. Το κέρδος δεν είναι δωρεάν: chunks από άλλη θέση ή άλλο προηγούμενο context χρειάζονται seam repair, αυστηρή μέτρηση ποιότητας και fallback πριν χρησιμοποιηθούν σε production LLM, RAG ή AI-agent ροές.

Περιεχόμενα

Τι είναι το KVBoost και ποιο κενό καλύπτει

Κατά το prefill, ένα decoder-only transformer επεξεργάζεται το prompt πριν ξεκινήσει το autoregressive decode. Για κάθε token δημιουργεί key και value tensors που κρατούν την πληροφορία προσοχής. Όταν ένα μεγάλο system prompt, ένα retrieved document ή ένα few-shot example εμφανίζεται ξανά, ο πλήρης επανυπολογισμός αυτών των tensors προσθέτει latency πριν εμφανιστεί η απάντηση.

Το KVBoost είναι ερευνητικό σύστημα chunk-level KV cache reuse του Srihari Unnikrishnan για Hugging Face decoder models με RoPE. Η βασική του υπόθεση είναι ότι το κοινό περιεχόμενο δεν χρειάζεται να βρίσκεται από τη θέση μηδέν για να είναι υπολογιστικά χρήσιμο. Ένα document chunk μπορεί να εμφανιστεί μετά από διαφορετικό preamble, ανάμεσα σε εξατομικευμένες οδηγίες ή σε άλλη σειρά μέσα σε ένα RAG prompt.

Αυτή η υπόθεση αφορά ειδικά το prefill. Δεν κάνει το autoregressive decode ταχύτερο από μόνη της. Η επίσημη τεκμηρίωση του vLLM επισημαίνει το ίδιο όριο για το Automatic Prefix Caching: το όφελος μειώνεται όταν ο περισσότερος χρόνος καταναλώνεται στη δημιουργία πολλών νέων tokens και όχι στην επεξεργασία της εισόδου.

Η διάκριση είναι σημαντική για κάθε LLM inference stack που συνδυάζει vLLM και Transformers. Το ερώτημα δεν είναι απλώς «υπάρχει cache;», αλλά ποιο τμήμα της latency διαδρομής καλύπτει, σε ποια prompts βρίσκει hits και τι κόστος εισάγει η επαναχρησιμοποίηση.

Γιατί το prefix caching χάνει χρήσιμη επανάληψη

Το κλασικό prefix cache επαναχρησιμοποιεί KV blocks όταν ένα νέο αίτημα ξεκινά με την ίδια ακολουθία tokens με παλαιότερο αίτημα. Η προσέγγιση είναι ισχυρή για σταθερά system prompts, επαναλαμβανόμενες ερωτήσεις πάνω στο ίδιο μακρύ έγγραφο ή διαδοχικούς γύρους της ίδιας συνομιλίας. Όταν όμως αλλάξει το πρώτο μέρος, ο κοινός κορμός που ακολουθεί δεν αποτελεί πλέον κοινό prefix.

Σε ένα RAG pipeline, τα ίδια documents μπορεί να αναδιατάσσονται από τον retriever, να προηγείται διαφορετική οδηγία ή να παρεμβάλλεται user-specific context. Σε έναν agent, tool descriptions και πολιτικές μπορεί να επανεμφανίζονται ανάμεσα σε διαφορετικά βήματα. Το αποτέλεσμα είναι πραγματική επανάληψη στο περιεχόμενο, αλλά μηδενικό leading-prefix match.

Το KVBoost αλλάζει τη μονάδα ταυτοποίησης από ολόκληρη την κοινή αρχή σε token chunks. Με προεπιλεγμένο μέγεθος 128 tokens, ψάχνει επαναλαμβανόμενα τμήματα σε οποιαδήποτε θέση της εισόδου. Το πλεονέκτημα συνοδεύεται από νέο ρίσκο: η κατάσταση ενός transformer token εξαρτάται από ό,τι προηγήθηκε, άρα το ίδιο κείμενο σε άλλη θέση ή μετά από άλλο context δεν έχει κατ’ ανάγκη ίδια KV tensors.

Full recomputation

Υπολογίζει ξανά ολόκληρο το prompt. Είναι το ασφαλές baseline για ποιότητα, αλλά πληρώνει όλο το prefill latency ακόμη και όταν μεγάλο μέρος της εισόδου επαναλαμβάνεται.

ΑκριβέςΥψηλό prefill

vLLM prefix cache

Επαναχρησιμοποιεί κοινά αρχικά blocks χωρίς seam repair. Είναι ιδανικό όταν τα prompts έχουν πραγματικό κοινό prefix, αλλά δεν αξιοποιεί μετακινημένα chunks.

Leading prefixΧωρίς approximate hit

KVBoost

Αναζητά ίδιο περιεχόμενο σε chunk επίπεδο. Τα exact hits επαναχρησιμοποιούνται άμεσα, ενώ τα content-only hits απαιτούν deviation-guided repair.

Οποιαδήποτε θέσηSeam repair

Chunks και dual hash: exact και approximate hits

Το ChunkRegistry χωρίζει την είσοδο σε σταθερά chunks, με προεπιλογή 128 tokens. Η fixed στρατηγική κόβει σε ακριβή offsets, η semantic στρατηγική μετακινεί το όριο προς κοντινή πρόταση ή παράγραφο και η document στρατηγική μπορεί να αντιμετωπίσει ολόκληρο το input ως ενιαίο chunk για προθέρμανση της cache.

Κάθε chunk παίρνει δύο ταυτότητες. Το prefix hash αλυσιδώνει τα tokens του chunk με το hash του προηγούμενου context. Ίδιο prefix hash σημαίνει ίδια tokens και ίδια ιστορία πριν από αυτά, επομένως το hit θεωρείται exact. Το content hash περιλαμβάνει μόνο τα token IDs του chunk και μπορεί να εντοπίσει το ίδιο περιεχόμενο ανεξάρτητα από τη θέση του.

Η lookup cascade δοκιμάζει πρώτα το prefix hash, μετά το content hash και τέλος δηλώνει miss. Το content-hash hit δεν βαφτίζεται ακριβές. Χαρακτηρίζεται approximate επειδή τα cached keys έχουν παραχθεί με άλλη RoPE θέση και επειδή το chunk έχει δει διαφορετικό προηγούμενο context. Αυτός ο διαχωρισμός exact και approximate είναι η ουσία του σχεδιασμού, όχι απλώς μια βελτιστοποίηση hash table.

Η εργασία περιγράφει επίσης overlap tokens και attention-sink tokens που μπορούν να εισαχθούν για καλύτερη συνέχεια στα όρια. Οι προεπιλογές τους είναι μηδέν. Δεν πρέπει λοιπόν να παρουσιάζονται ως υποχρεωτικά ενεργά ούτε ως δωρεάν: αυξάνουν το live compute για να μειώσουν πιθανές boundary αποκλίσεις.

Seam error και RoPE: γιατί η μεταφορά δεν είναι ακριβής

Όταν δύο independently cached chunks επανασυναρμολογούνται, τα tokens κοντά στο σημείο ένωσης δεν έχουν υπολογιστεί με το νέο γειτονικό context. Αυτό είναι το seam error. Η επίδραση δεν περιορίζεται κατ’ ανάγκη στο πρώτο token του chunk, επειδή οι attention αναπαραστάσεις μεταφέρουν πληροφορία μέσα από διαδοχικά layers.

Υπάρχει και positional πρόβλημα. Τα RoPE keys ενσωματώνουν περιστροφές που συνδέονται με την απόλυτη θέση. Ένα chunk που αποθηκεύτηκε στις θέσεις 0–127 δεν μπορεί να τοποθετηθεί αφελώς στις θέσεις 1.000–1.127 και να θεωρηθεί ισοδύναμο. Το prompt assembler πρέπει να διατηρεί τις νέες absolute position IDs, να ξέρει ποια chunks είναι exact ή approximate και να καταγράφει τις θέσεις των seams.

Αυτό εξηγεί γιατί ένα content-addressed cache χωρίς repair μπορεί να είναι γρήγορο αλλά λανθασμένο. Η ταυτότητα του κειμένου δεν είναι ίδια με την ταυτότητα της κατάστασης του transformer. Το KVBoost προσπαθεί να ανακτήσει το υπολογιστικό κέρδος χωρίς να αγνοήσει αυτή τη διαφορά.

SelectiveRecompute και CacheBlendRecompute

Το SelectiveRecompute επανεκτελεί ένα σταθερό παράθυρο στο τέλος κάθε cached chunk. Η προεπιλογή που περιγράφεται στην εργασία είναι 16 tokens. Με δύο seams σε prompt 512 tokens, το paper εκτιμά ότι η στρατηγική αντιστοιχεί περίπου στο 8% του πλήρους prefill. Είναι προβλέψιμη και εύκολη να ελεγχθεί, αλλά επιλέγει tokens με βάση τη θέση και όχι τη μετρημένη απόκλιση.

Το CacheBlendRecompute κάνει probe pass, συγκρίνει τα παλιά με τα ενημερωμένα key tensors μέσω cosine deviation και επανυπολογίζει τα tokens με τη μεγαλύτερη αλλαγή. Η προεπιλεγμένη περιγραφή στοχεύει περίπου στο 15% του prompt. Για content-hash matches η repair διαδικασία είναι υποχρεωτική, επειδή αυτά τα hits έχουν διαφορετική positional και contextual προέλευση.

Η δεύτερη στρατηγική είναι πιο στοχευμένη, όμως το probe έχει δικό του latency. Σε πολύ μεγάλο cached context μπορεί να κοστίσει εκατοντάδες milliseconds και να καταναλώσει μέρος του θεωρητικού κέρδους. Γι’ αυτό το recompute ratio πρέπει να μετριέται μαζί με το end-to-end TTFT και όχι να αντιμετωπίζεται ως απομονωμένη ρύθμιση.

Memory budget, eviction και quantization

Η cache λειτουργεί κάτω από σκληρό όριο bytes ώστε να μη διεκδικεί ανεξέλεγκτα τη VRAM που χρειάζονται τα weights και το generation KV cache. Πρόσφατα chunks μπορούν να μένουν pinned. Τα υπόλοιπα βαθμολογούνται με proxy σημαντικότητας που βασίζεται στον μέσο L2 norm των key tensors, ενώ το LRU λύνει ισοβαθμίες κατά την απομάκρυνση.

Προαιρετικό disk tier χρησιμοποιεί memory-mapped αρχείο με σταθερά slots και index από hash σε θέση. Η εργασία αναφέρει 10–50 ms για ανάκτηση chunk από δίσκο έναντι 100–500 ms για GPU recomputation. Αυτά είναι μεγέθη της παρουσιαζόμενης υλοποίησης: storage, PCIe, tensor size, serialization και concurrency μπορούν να αλλάξουν ριζικά το αποτέλεσμα.

Για μεγαλύτερη χωρητικότητα, το KVBoost υλοποιεί KIVI-style ασύμμετρο quantization. Τα keys κβαντίζονται ανά channel και τα values ανά token, με int8 και int4 επιλογές. Η εργασία περιγράφει κατά προσέγγιση μείωση μνήμης 2× και 4× για τα cached tensors, όχι αντίστοιχη εγγυημένη μείωση της συνολικής peak GPU allocation.

Η διάκριση ανάμεσα σε cache footprint και end-to-end μνήμη είναι κρίσιμη. Όπως δείχνει και το ζήτημα του cache και bandwidth bottleneck σε MoE inference, μια τοπική βελτιστοποίηση δεν εξαφανίζει τα άλλα όρια του συστήματος. Το memory budget πρέπει να δοκιμαστεί με πραγματικό concurrency, μήκη output και fragmentation.

Τι ακριβώς μετρήθηκε στο benchmark

Τα πειράματα της εργασίας έγιναν με Qwen/Qwen2.5-3B σε float16, σε μία NVIDIA GeForce RTX 4060 με 8 GB VRAM. Το workload περιλάμβανε 1.000 multiple-choice δείγματα bug localization. Κοινό code context επαναχρησιμοποιούνταν σε ομάδες ερωτήσεων, δημιουργώντας cold request για το πρώτο δείγμα και warm-cache requests για όσα ακολουθούσαν.

Τα contexts κυμαίνονταν από 163 έως πάνω από 3.400 tokens. Οι τέσσερις ομάδες μήκους είχαν 218 δείγματα έως 500 tokens, 210 από 500 έως 1K, 204 από 1K έως 2K και 368 πάνω από 2K. Συγκρίθηκαν full recomputation, vLLM prefix caching και KVBoost με chunk size 128 και CacheBlendRecompute.

Οι βασικές μετρικές ήταν exact-match accuracy, time-to-first-token, peak GPU memory και ποσοστό cache reuse. Η επιλογή είναι κατάλληλη για το συγκεκριμένο σύντομο multiple-choice task, αλλά δεν καλύπτει throughput υπό πολλούς ταυτόχρονους χρήστες, p99 σε distributed serving ή ποιότητα μεγάλων ελεύθερων απαντήσεων.

Αυτός είναι ο λόγος που η αξιολόγηση πρέπει να διαβάζεται μαζί με το setup. Όπως συμβαίνει όταν το benchmark harness αλλάζει τον νικητή ενός AI συστήματος, ο αριθμός έχει νόημα μόνο αν workload, baseline, hardware και output μορφή μοιάζουν με την πραγματική χρήση.

Τι δείχνουν τα αποτελέσματα latency και ποιότητας

Ο μέσος TTFT ήταν 639,1 ms για full recomputation, 165,5 ms για vLLM prefix caching και 142,4 ms για KVBoost. Η διάμεσος ήταν 440,3, 80,0 και 76,1 ms αντίστοιχα, ενώ το p95 ήταν 1.702,0, 651,4 και 502,6 ms. Με βάση αυτές τις τιμές, το KVBoost έδωσε 4,49× mean speedup έναντι του baseline και 16% χαμηλότερο mean TTFT από το prefix cache.

KVBoost στο συγκεκριμένο πείραμα

Latency και ποιότητα σε 1.000 δείγματα bug localization

Οι τιμές αφορούν Qwen2.5-3B, float16 και μία RTX 4060. Δεν αποτελούν γενική πρόβλεψη για άλλο μοντέλο, hardware ή workload.

142,4 msΜέσος TTFT με KVBoost έναντι 639,1 ms για full recomputation
4,49×Mean TTFT speedup του KVBoost απέναντι στον πλήρη επανυπολογισμό
16%Χαμηλότερος μέσος TTFT από το vLLM prefix caching στο ίδιο benchmark
99,2%Exact-match accuracy έναντι 99,1% για full recomputation και vLLM

Η μικρή διαφορά accuracy δεν παρουσιάζεται από τον συγγραφέα ως συστηματική βελτίωση ποιότητας. Το σωστό συμπέρασμα είναι ότι δεν ανιχνεύτηκε regression στο αξιολογημένο task. Το average reuse ήταν 36,4% για KVBoost και 39,5% για vLLM, παρότι το KVBoost είχε χαμηλότερο TTFT στη συγκεκριμένη υλοποίηση.

Η peak GPU memory μειώθηκε μόνο κατά 14,8 MB ή 0,24%. Το κύριο μετρημένο όφελος ήταν η αποφυγή recomputation και όχι μια θεαματική πτώση της συνολικής μνήμης. Η πληροφορία αυτή αποτρέπει μια συνηθισμένη υπερερμηνεία: quantized cached chunks μπορεί να χωρούν περισσότερα, χωρίς η συνολική εφαρμογή να καταναλώνει αναλογικά λιγότερη VRAM.

Πότε κερδίζει — και πότε όχι

Στο bucket έως 500 tokens, το KVBoost είχε μέσο TTFT 48,8 ms έναντι 74,9 ms για vLLM, πλεονέκτημα 1,53×. Στα 500–1K ήταν 73,7 έναντι 100,5 ms, στα 1K–2K 118,9 έναντι 138,8 ms και πάνω από 2K 250,2 έναντι 271,2 ms. Το πλεονέκτημα έναντι prefix caching μειώθηκε όσο το κοινό leading prefix κάλυπτε μεγαλύτερο μέρος της μακράς εισόδου.

Απέναντι στον πλήρη επανυπολογισμό, το speedup αυξήθηκε από 3,34× στο μικρότερο bucket έως 4,84× στο 2K+. Η εργασία εντοπίζει το sweet spot σε workloads όπου πολλά κοινά segments εμφανίζονται σε μη αρχικές θέσεις, τα system prompts ακολουθούν μεταβαλλόμενο preamble ή γίνεται batch generation πάνω σε σταθερό corpus.

Το απλό prefix cache παραμένει προτιμότερο όταν υπάρχει πραγματικά κοινή αρχή και απαιτείται ακριβής positional correctness. Δεν πληρώνει probe ούτε seam-repair overhead. Αν τα outputs είναι πολύ μεγάλα και το decode κυριαρχεί στο συνολικό latency, καμία από τις δύο prefill optimizations δεν αρκεί από μόνη της.

Η απόφαση πρέπει να βασιστεί σε prompt traces. Χωρίς να μετρηθεί ποιο περιεχόμενο επαναλαμβάνεται, σε ποιες θέσεις, πόσο συχνά το traffic είναι warm και τι ποσοστό του χρόνου ανήκει στο prefill, η επιλογή cache μένει υπόθεση.

Συμβατότητα και τεχνικοί περιορισμοί

Η εργασία στοχεύει Hugging Face decoder models με RoPE και διεπαφή past_key_values. Αναφέρει οικογένειες Qwen2, LLaMA, Mistral, Mixtral, Gemma, Phi, StableLM και InternLM. Δεν καλύπτει MPT ή Falcon με ALiBi, GPT-2 με learned absolute positions, ούτε Mistral όταν είναι ενεργό sliding-window attention στην παρουσιαζόμενη υλοποίηση.

Η τεχνική είναι λοιπόν RoPE-only και model compatibility δεν σημαίνει validated quality. Το chunk size παραμένει ευαίσθητη παράμετρος: πολύ μικρά chunks αυξάνουν τα seams και το repair cost, ενώ πολύ μεγάλα μειώνουν την πιθανότητα hit. Ο σωστός συμβιβασμός εξαρτάται από τη δομή των πραγματικών prompts.

Το πείραμα είναι single-GPU και η εργασία δεν παρουσιάζει κατανομή cache shards για tensor parallelism. Επίσης αναφέρει ότι το probe cost μεγαλώνει σε contexts πάνω από 8K tokens. Η αξιολόγηση περιορίζεται σε bug localization με σύντομα outputs και δεν αποδεικνύει ίδια συμπεριφορά σε code completion, multi-document summarization ή μακροσκελή generation.

Το δημόσιο repository έχει εξελιχθεί και περιγράφει επιπλέον δυνατότητες, όπως server, batching και attention optimizations. Για πιστή αναπαραγωγή των αριθμών του paper, μια ομάδα πρέπει να κλειδώσει version, commit, dependencies και benchmark configuration αντί να υποθέσει ότι το σημερινό main branch είναι ταυτόσημο με το πειραματικό artifact.

Τι σημαίνει για RAG, agents και AI προϊόντα

Στο RAG, το ίδιο retrieved document μπορεί να εμφανίζεται σε διαφορετική σειρά ή μετά από διαφορετικές οδηγίες. Η warm() διεπαφή έχει σχεδιαστεί για να προφορτώνει κοινό υλικό, ώστε επόμενα prompts να ανακτούν τα KV tensors αντί να τα υπολογίζουν ξανά. Αυτό είναι ιδιαίτερα σχετικό όταν ένα field-aware RAG σύστημα περιορίζει το context στα σωστά δεδομένα αλλά διατηρεί επαναλαμβανόμενα document chunks.

Για AI agents, σταθερές πολιτικές, tool descriptions και τμήματα ιστορικού μπορούν θεωρητικά να δώσουν content hits ακόμη κι όταν δεν βρίσκονται στην αρχή. Η ίδια ιδέα ενδιαφέρει ένα private chatbot που απαντά από εταιρική γνώση, όπου πολλοί χρήστες ρωτούν πάνω στα ίδια έγγραφα με διαφορετικό conversation context.

Αυτές είναι εφαρμογές της αρχιτεκτονικής, όχι απόδειξη ότι κάθε e-commerce assistant θα γίνει 4,49× ταχύτερο. Το πραγματικό όφελος εξαρτάται από repetition topology, tokenizer alignment, warm traffic, disk promotions, model size και repair overhead. Χρειάζεται replay πραγματικών traces αντί για συνθετική μεταφορά του benchmark.

Στο επίπεδο προϊόντος, η χαμηλότερη TTFT έχει αξία όταν ο χρήστης αντιλαμβάνεται την αναμονή πριν αρχίσει η απάντηση. Αν όμως η απόκριση παράγει εκατοντάδες tokens, το decode throughput, το batching και η ουρά μπορεί να έχουν μεγαλύτερη επίδραση στη συνολική εμπειρία.

Από το benchmark σε ελεγχόμενο production rollout

Το ασφαλές rollout ξεκινά με trace analysis και exact-only mode. Η ομάδα χαρτογραφεί κοινά leading prefixes, chunks που μετακινούνται και περιεχόμενο που αλλάζει κατά λίγα tokens. Στη συνέχεια συγκρίνει full recomputation, υπάρχον prefix cache και KVBoost στο ίδιο hardware, με ίδια prompts, ίδια outputs και κοινό load profile. Η αρχή είναι ίδια με την end-to-end δοκιμή ενός γρήγορου GPU kernel μέσα στο πραγματικό μοντέλο: μια τοπική μέτρηση δεν αρκεί αν το συνολικό σύστημα δεν κερδίζει.

Τα quality checks πρέπει να καλύπτουν περισσότερα από exact match. Για ελεύθερες απαντήσεις χρειάζονται output agreement, task metrics, groundedness, tool-call correctness και χειροκίνητη επιθεώρηση failure clusters. Το approximate hit δεν πρέπει να περνά αόρατο: χρειάζεται telemetry για deviation, repair ratio και fallback.

Το hard memory budget πρέπει να αφήνει χώρο για weights, ενεργά requests και generation KV cache. Παράλληλα, η cache χρειάζεται tenant isolation, versioned keys για model και tokenizer, έλεγχο ακύρωσης όταν αλλάζουν prompts και σαφή πολιτική για ευαίσθητο retrieved content. Η ταχύτητα δεν δικαιολογεί cross-user leakage.

Κανόνας απόφασης για KVBoost

Ενεργοποιήστε approximate reuse μόνο όταν τα traces αποδεικνύουν το κέρδος

Go σημαίνει συχνά επαναλαμβανόμενα non-prefix chunks, μετρημένο prefill bottleneck, σταθερό output agreement, ελεγχόμενο recompute ratio, tenant-safe keys και άμεσο fallback. No-go σημαίνει κυρίως κοινό leading prefix, decode-bound latency, ασταθής ποιότητα ή probe cost που εξαφανίζει το όφελος.

Η παραγωγική απόφαση μοιάζει περισσότερο με αξιολόγηση συστήματος παρά με εγκατάσταση βιβλιοθήκης. Χρειάζεται παρακολούθηση p95 και p99, όχι μόνο mean TTFT, καθώς και ξεχωριστές καμπύλες ανά context bucket, cold ή warm κατάσταση και τύπο cache hit.

Επτά έλεγχοι πριν από την απόφαση

Ένα pilot μπορεί να παραμείνει μικρό, αρκεί να αναπαριστά το πραγματικό prompt topology και να έχει σαφή acceptance criteria. Οι παρακάτω έλεγχοι μετατρέπουν το KVBoost από θεωρητική βελτιστοποίηση σε μετρήσιμη επιχειρησιακή επιλογή.

Επτά έλεγχοι για KV cache reuse πριν από το production

  1. Βήμα 1Χαρτογραφήστε το prompt topology

    Μετρήστε πόσο κείμενο επαναλαμβάνεται, αν είναι leading prefix ή μετακινούμενο chunk και ποια τμήματα αλλάζουν ανά χρήστη ή αίτημα.

  2. Βήμα 2Χωρίστε cold και warm traffic

    Καταγράψτε ξεχωριστά TTFT, hit rate και reuse ratio, ώστε οι γρήγορες warm κλήσεις να μη συγκαλύπτουν το πραγματικό κόστος των cold requests.

  3. Βήμα 3Κλειδώστε τα baselines

    Συγκρίνετε full recomputation, το υπάρχον prefix cache και KVBoost με ίδιο model commit, tokenizer, prompt, output length και concurrency.

  4. Βήμα 4Ξεκινήστε με exact-only reuse

    Επιβεβαιώστε πρώτα το prefix-hash path και προσθέστε content-hash hits μόνο όταν υπάρχει μετρήσιμο κέρδος και αξιόπιστη repair telemetry.

  5. Βήμα 5Μετρήστε ποιότητα ανά hit type

    Συγκρίνετε exact, approximate και miss σε output agreement, task accuracy, groundedness και tool-call correctness, όχι μόνο σε συνολικό μέσο όρο.

  6. Βήμα 6Προστατέψτε μνήμη και δεδομένα

    Ορίστε hard cache budget, eviction, model-version keys, tenant isolation και invalidation όταν αλλάζει tokenizer, policy ή retrieved document.

  7. Βήμα 7Κρατήστε fallback και observability

    Ενεργοποιήστε άμεση επιστροφή σε full recomputation ή prefix caching και παρακολουθήστε p95/p99 TTFT, repair ratio, disk promotions και quality alerts.

Το KVBoost δείχνει ότι η θέση του κοινού περιεχομένου δεν χρειάζεται να ακυρώνει την επαναχρησιμοποίηση. Η αξία του όμως αποδεικνύεται μόνο αν χαμηλώνει το πραγματικό prefill latency, διατηρεί την ποιότητα στο δικό σας workload και λειτουργεί μέσα σε ελεγχόμενο memory, security και rollback πλαίσιο.

Από το LLM benchmark σε μετρήσιμο AI workflow

Σχεδιάστε latency, ποιότητα και fallback μαζί

Η TWO DOTS χαρτογραφεί πραγματικά prompt traces, RAG και agent ροές, acceptance criteria, observability και ασφαλή integrations ώστε μια inference βελτιστοποίηση να παράγει επιχειρησιακό αποτέλεσμα χωρίς να κρύβει αποκλίσεις ποιότητας.

Συχνές ερωτήσεις

Τι είναι το KVBoost;

Είναι ερευνητικό σύστημα chunk-level επαναχρησιμοποίησης KV cache για Hugging Face decoder models με RoPE. Συνδυάζει exact και approximate cache lookup με υποχρεωτική επισκευή όταν το ίδιο περιεχόμενο εμφανίζεται σε διαφορετική θέση ή context.

Πώς διαφέρει από το prefix caching;

Το prefix caching αξιοποιεί κοινή αρχική ακολουθία tokens. Το KVBoost αναζητά επαναλαμβανόμενα chunks και σε μη αρχικές θέσεις, αλλά πληρώνει πρόσθετο κόστος για να διορθώσει positional και context αποκλίσεις.

Τι είναι το seam error;

Είναι η απόκλιση στα όρια όταν ενώνονται cached chunks που είχαν υπολογιστεί με διαφορετικό προηγούμενο context. Αν δεν επισκευαστεί, μπορεί να αλλάξει τις attention αναπαραστάσεις και το αποτέλεσμα.

Ποια επίδοση αναφέρει η εργασία;

Στο benchmark 1.000 δειγμάτων bug localization με Qwen2.5-3B και RTX 4060, το KVBoost είχε μέσο TTFT 142,4 ms, έναντι 639,1 ms για full recomputation και 165,5 ms για vLLM prefix caching.

Υπήρξε απώλεια ακρίβειας;

Δεν ανιχνεύτηκε στο συγκεκριμένο multiple-choice task: 99,2% exact match για KVBoost έναντι 99,1% για τις δύο βάσεις σύγκρισης. Το αποτέλεσμα δεν αποτελεί γενική εγγύηση για άλλα μοντέλα ή workloads.

Μειώνει σημαντικά τη μέγιστη GPU μνήμη;

Όχι στο πείραμα της εργασίας. Η peak GPU allocation μειώθηκε κατά 14,8 MB ή 0,24%, επομένως το κύριο μετρημένο όφελος ήταν χαμηλότερο prefill latency και όχι μεγάλη πτώση της κορυφαίας μνήμης.

Πότε είναι προτιμότερο το απλό prefix cache;

Όταν τα αιτήματα μοιράζονται πραγματικό leading prefix και απαιτείται ακριβής positional correctness, το prefix cache αποφεύγει seam-repair overhead. Το KVBoost έχει περισσότερο νόημα όταν τα κοινά chunks μετακινούνται ή παρεμβάλλονται.

Τι πρέπει να μετρήσει μια ομάδα πριν το production rollout;

Πρέπει να μετρήσει cold και warm TTFT, p95 και p99, cache hit και reuse ratio, recompute ratio, output agreement, memory budget και fallback rate πάνω σε πραγματικά prompts. Οι μετρήσεις πρέπει να γίνουν στο δικό της serving stack και hardware.

Ενημερωτικό Δελτίο

Εισάγετε τη διεύθυνση email σας παρακάτω για να εγγραφείτε στο ενημερωτικό δελτίο μας