decode op• Data kinds: tokens × tokens × tokens → tokens
• Call: import fullseye as fs; fs.ledger.kv_cache_decode(query_step, key_cache, value_cache, scale=None) -> 'np.ndarray' (implementation को सीधे call करना हो तो import llmcore; llmcore.kv_cache_decode(query_step, key_cache, value_cache, scale=None) -> 'np.ndarray', registry से लेना हो तो opsllmcore.get("kv_cache_decode"))
केवल 1 token आगे बढ़ने वाला inference (KV Cache) → tokens (1, dv)।
causal mask के अंतर्गत भविष्य को बदल देने पर भी पहले के outputs 1 bit भी नहीं हिलते (measured 0.0e+00), इसलिए पूरे हो चुके key/value को रख लेना और केवल 1 row की गणना करना काफ़ी है — क्रम से 1-1 row आगे बढ़ने का परिणाम पूरे sequence को एक साथ चलाने के परिणाम से मेल खाता है (relative अंतर 1.6e-16)। प्रति 1 step computation O(T d) है, जो एक साथ वाले O(T² d) को T steps में बाँटने के बराबर है।
Args:
query_step: (1, d) float। अभी generate किया जाने वाला 1 token।
key_cache: (T, d) float। अब तक देखी गई keys (स्वयं सहित)।
value_cache: (T, dv) float। उतनी ही लंबाई की values।
scale: score का गुणक। None होने पर 1/√d।
Returns:
tokens (1, dv) float: एक साथ चलाने पर मिली आख़िरी row से मेल खाता है।
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• poc_attention_identities — py -3.11 examples/poc_attention_identities.py
tokens को input के रूप में लेते हैं)rms_norm · rope_rotate · attention_scores · attention_apply · attention_softmax · attention_tiled · attention_linear · attention_grouped
decode)—
*Provenance: llmcore.py — LLMCORE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.