CANN/ge异步KV缓存传输API

CANN/ge异步KV缓存传输API
# transfer_cache_async【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge产品支持情况Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 推理系列产品支持Atlas A2 训练系列产品不支持函数功能异步分层传输KV Cache。函数原型transfer_cache_async(src_cache: KvCache, layer_synchronizer: LayerSynchronizer, transfer_configs: Union[List[TransferConfig], Tuple[TransferConfig]], src_block_indices: Optional[Union[List[int], Tuple[int]]] None, dst_block_indices: Optional[Union[List[int], Tuple[int]]] None, dst_block_memory_size: Optional[int] None) - CacheTask参数说明参数名称数据类型取值说明src_cacheKvCache源Cache。layer_synchronizerLayerSynchronizerLayerSynchronizer的实现类对象transfer_configsUnion[List[TransferConfig], Tuple[TransferConfig]]传输配置列表或元组src_block_indicesOptional[Union[List[int], Tuple[int]]]源Cache的block indices当源Cache为PA场景时设置dst_block_indicesOptional[Union[List[int], Tuple[int]]]目的Cache的block indices当目的Cache为PA场景时设置dst_block_memory_sizeOptional[int]目的Cache每个block占用的内存大小当目的Cache为PA场景时设置。如果源Cache也为PA场景则可省略该参数此时会自动将其设置为源Cache每个block占用的内存大小。该参数设置为0时等同于省略该参数。调用示例from llm_datadist import * ... class LayerSynchronizerImpl(LayerSynchronizer): def synchronize_layer(self, layer_index: int, timeout_in_millis: Optional[int]) - bool: # need control time for transfer layer here. return True num_layers 40 dst_cluster_id 2 # need register decoder kv addr here. decoder_addrs ... assert(len(decoder_addrs) 2*num_layers) transfer_config TransferConfig(dst_cluster_id, decoder_addrs, range(0, num_layers), 0) cache_task kv_cache_manager.transfer_cache_async(kv_cache, LayerSynchronizerImpl(), [transfer_config]) cache_task.synchronize() cache_task.get_results()返回值正常情况下返回CacheTask。传入数据类型错误会抛出TypeError或ValueError异常。传入数据非法会抛出LLMException异常。约束说明当前仅支持src_cache与dst_cache都为连续cache的场景以及src_cache与dst_cache都为PA的场景。使用同一条链路时此接口和pull_cache、pull_blocks接口不支持并发。本接口不支持并发调用。单进程多卡模式下不支持调用该接口。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考