keyword: kvcache, encoder, decoder, netron, relax runtime, virtual machine
kv cache, encoder, decoder, Netron, Relax runtime, VirtualMachine初始使用 init_zero_past_kv() 建立 16 個 KV 張量(4 層 × 每層 4 個)。
使用 Netron 確認 decoder 模型輸入順序為:
past_key_values.N.decoder.{key,value}
past_key_values.N.encoder.{key,value}
發現 decoder 僅在使用到某層時回傳對應的 KV,因此我們調整策略:
decoder_kvs 作為 fallbackmatch_cast error(1, 80, 3000) 的 mel spectrogram,必須為 float32。float16,導致 VM 報錯,後已修正。input_ids: 最新 tokenencoder_out: 固定輸出past_key_values: 上一輪的快取out[0]: logitsout[1:]: 更新後的 decoder KV(不保證回傳所有 8 組)