openYuanrong数据系统实战指南:在LLM推理中构建分布式KVCache缓存
openYuanrong数据系统实战指南在LLM推理中构建分布式KVCache缓存【免费下载链接】yuanrong-datasystemopenYuanrong 数据系统是以内存为中心、近计算的分布式异构多级缓存为AI训推、Agent、大数据、微服务等分布式应用提供高性能的数据对象KV与数据流访问、HBM/DRAM/SSD 多级缓存以及实例间零拷贝数据共享能力。项目地址: https://gitcode.com/openeuler/yuanrong-datasystem前往项目官网免费下载https://ar.openeuler.org/ar/openYuanrong数据系统是一款以内存为中心、近计算的分布式异构多级缓存系统专为AI训推、Agent、大数据、微服务等分布式应用打造提供高性能的数据对象KV与数据流访问、HBM/DRAM/SSD多级缓存以及实例间零拷贝数据共享能力。在LLM推理场景中该系统能够构建高效的分布式KVCache缓存显著提升推理性能。一、LLM推理与KVCache的重要性LLM大语言模型推理过程中KVCache键值缓存扮演着至关重要的角色。它能够缓存推理过程中的中间结果避免重复计算从而有效降低推理延迟、提高吞吐量。然而随着模型规模和输入序列长度的增加KVCache的存储需求急剧增长传统的单机缓存方案面临着性能瓶颈和扩展性挑战。openYuanrong数据系统针对这一痛点提供了分布式KVCache解决方案。基于异构对象提供分布式多级缓存HBM/DRAM/SSD和高吞吐D2D/H2D/D2H访问能力实现Prefill阶段的KVCache缓存以及Prefill/Decode实例间KVCache快速传递提升推理吞吐。openYuanrong数据系统逻辑架构展示了其分布式多级缓存的设计二、openYuanrong数据系统的核心优势2.1 高性能分布式多级缓存openYuanrong数据系统基于DRAM/SSD构建分布式多级缓存应用实例通过共享内存免拷贝读写DRAM数据并提供高性能H2Dhost to device/D2Hdevice to host接口实现HBM与DRAM之间快速swap。这种设计使得KVCache能够高效地利用不同层级的存储资源在保证性能的同时降低成本。2.2 高可靠高可用系统支持分布式元数据管理实现系统水平线性扩展。支持元数据可靠性支持动态资源伸缩自动迁移数据确保在LLM推理过程中KVCache的稳定可用避免因单点故障导致的服务中断。2.3 专为LLM推理优化LLM长序列推理KVCache构建分布式KVCache实现Prefill阶段的KVCache缓存以及Prefill/Decode实例间KVCache快速传递。模型推理实例M-N快速弹性利用异构对象的卡间直通及P2P数据分发能力实现模型参数快速复制。三、在LLM推理中部署分布式KVCache的步骤3.1 环境准备在开始部署前请确保您的环境满足以下要求已配置RoCE网络以获得最佳性能。准备好部署节点例如Atlas 800T/I A3单机16张NPU卡(每张64G显存)。3.2 使用vllm_yuanrong_cli工具部署vllm_yuanrong_cli是一个功能强大的命令行工具旨在简化和自动化vLLM与YuanRong分布式KV缓存系统的部署和管理。它支持PD合并和PD分离两种核心部署架构。3.2.1 部署文件准备将vllm_yuanrong_cli.sh和deploy_env.sh放置在部署节点的同一目录下。其中deploy_env.sh是存储所有部署所需环境变量的配置文件用户需在此文件中进行部署前的配置。3.2.2 配置环境变量打开deploy_env.sh根据您的环境进行详细配置。关键配置项包括IP地址、端口、模型路径等。所有变量都使用前缀来区分其所属的角色例如MERGED_*用于PD合并模式的配置。3.2.3 执行部署命令根据您的部署需求执行相应的命令。例如在主节点上部署PD分离模式./vllm_yuanrong_cli.sh deploy primary在从节点上部署PD分离模式./vllm_yuanrong_cli.sh deploy secondary部署PD合并模式./vllm_yuanrong_cli.sh deploy merged3.3 配置YuanRong作为KV Pool后端在启动vLLM时需要指定YuanRong作为KV Pool后端。相关配置参数如下backendKV Pool存储后端使用YuanRong时设为yuanrong。kv_connector_extra_configKV Pool的附加配置。openYuanrong数据系统部署架构图展示了各组件之间的关系四、KVTest工具验证分布式KVCache性能kvtest是一个独立的C分布式KV性能测试工具用于对yuanrong-datasystem集群进行端到端的读写性能测试和缓存命中率验证。它支持Writer/Reader角色分离、Cache模式、Benchmark Set/Get模式、多节点部署、K8s自动发现等功能。4.1 Cache模式模拟LLM推理场景Cache模式使用cacheGetOrCreate流水线操作模拟LLM推理中的KVCache prefix缓存场景。Writer持续从Key Pool中随机选取key执行Get命中则返回未命中则Create MemoryCopy Set回填支持动态命中率控制。配置文件示例config/test_cache.json{ test_mode: cache, key_pool_size: 10000, inference_delay_ms: 100, hit_rate: 0.8 }4.2 多节点部署测试在同一台机器上部署2个Worker验证跨节点缓存命中和通知机制。每个Worker必须使用独立的rocksdb_store_dir。Writer配置示例config/writer0.json{ instance_id: 0, listen_port: 8080, rocksdb_store_dir: ./rocksdb0, remote_worker: 127.0.0.1:8081 }五、最佳实践与优化建议5.1 RH2D over RoCE加速openYuanrong datasystem现已集成对RH2D over RoCERDMA over Converged Ethernet的支持实现了分布式缓存在物理节点之间的硬件级加速。基于RH2D构建的全局缓存抽象透明化了下层拓扑使得应用能够以极简的编程方式在跨节点通信场景中实现数据直通充分释放底层硬件性能。5.2 合理配置线程数根据系统资源和负载情况合理配置处理对象/KV缓存的业务线程数。相关配置参数如下oc_thread_num配置服务端用于处理对象/KV缓存的业务线程数默认值为32。5.3 启用分布式主节点启用分布式主节点可以提高系统的可靠性和可用性。配置参数enable_distributed_master是否启用分布式主节点默认值为true。六、总结openYuanrong数据系统为LLM推理提供了强大的分布式KVCache解决方案通过构建多级缓存架构和优化数据传输机制有效提升了推理性能和系统扩展性。借助vllm_yuanrong_cli部署工具和kvtest性能测试工具用户可以轻松实现分布式KVCache的部署、配置和性能验证。无论是在学术研究还是工业应用中openYuanrong数据系统都展现出了在LLM推理场景下的巨大潜力。通过不断优化和创新它将为AI领域的发展提供更加强有力的支持。有关openYuanrong数据系统的更多详细信息请参阅项目中的官方文档如docs/source_zh_cn/best_practices/best_practices_for_kvcache.md等。【免费下载链接】yuanrong-datasystemopenYuanrong 数据系统是以内存为中心、近计算的分布式异构多级缓存为AI训推、Agent、大数据、微服务等分布式应用提供高性能的数据对象KV与数据流访问、HBM/DRAM/SSD 多级缓存以及实例间零拷贝数据共享能力。项目地址: https://gitcode.com/openeuler/yuanrong-datasystem创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻