Processo de uso básico
在Python中使用FlashMLA进行解码主要包括以下几个步骤:
- 导入必要的模块:
from flash_mla import get_mla_metadata, flash_mla_with_kvcache
- 准备输入数据:包括查询张量、KV缓存数据、块表等
- 获取元数据:
tile_scheduler_metadata, num_splits = get_mla_metadata(cache_seqlens, s_q * h_q // h_kv, h_kv)
- 运行解码:
o_i, lse_i = flash_mla_with_kvcache(q_i, kvcache_i, block_table, cache_seqlens, dv, tile_scheduler_metadata, num_splits, causal=True)
Descrição do parâmetro
主要参数包括:
- q_i:查询张量
- kvcache_i:KV缓存数据
- block_table:分页缓存的块表
- cache_seqlens:定义KV缓存的序列长度
Essa resposta foi extraída do artigoFlashMLA: Otimizando kernels de decodificação MLA para GPUs Hopper (DeepSeek Open Source Week Day 1)O