Context caching
Teknik til at gemme og genbruge tidligere beregnede repræsentationer af en kontekst for at reducere latens og beregningsomkostninger.
Kort fortalt
I stedet for at genberegne hele konteksten hver gang, gemmer man resultaterne fra første gang og bruger dem igen.
- Kategori
- teknik
- Niveau
- øvet
- Udtale
- /ˈkɒntekst ˈkæʃɪŋ/
Betydninger
2- 1
Caching af nøgle-værdi-par (KV-cache) under autoregressiv generering i transformermodeller, så tidligere tokens' attention-repræsentationer genbruges.
- Under tekstgenerering gemmer modellen KV-cachen for de hidtidige tokens, så kun det nyeste token skal beregnes fuldt ud.
- 2
Caching af hele kontekstens encoded repræsentation (fx embeddings) ved API-kald, så en identisk prompt ikke skal re-encodes.
- Med context caching kan en lang systemprompt gemmes og genbruges på tværs af flere brugerforespørgsler, hvilket sparer tid og omkostninger.
Hvornår bruges det
Bruges i store sprogmodeller til at fremskynde inferens, især ved gentagne anvendelser af samme kontekst (fx i chatbots eller RAG-systemer). Kan implementeres som KV-cache eller som caching af hele prompt-embeddings.
Kodeeksempel
class TransformerWithCache:
def __init__(self):
self.kv_cache = None
def generate(self, tokens):
if self.kv_cache:
# only process new token
new_token = tokens[-1:]
output, self.kv_cache = self.forward(new_token, self.kv_cache)
else:
output, self.kv_cache = self.forward(tokens, None)
return outputEn simpel klasse der illustrerer brug af KV-cache: Hvis cachen findes, behandles kun det sidste token.
Oprindelse
'Context' fra latin 'contexere' (sammenvævning) og 'caching' fra fransk 'cacher' (at gemme).
Afledte ord
2Kilder
2- OpenAI Context Caching Documentation
- Hugging Face KV-Cache Guide