openYuanrong数据系统与vLLM集成为GLM-5模型提供多级缓存后端【免费下载链接】yuanrong-datasystemopenYuanrong 数据系统是以内存为中心、近计算的分布式异构多级缓存为AI训推、Agent、大数据、微服务等分布式应用提供高性能的数据对象KV与数据流访问、HBM/DRAM/SSD 多级缓存以及实例间零拷贝数据共享能力。项目地址: https://gitcode.com/openeuler/yuanrong-datasystem前往项目官网免费下载https://ar.openeuler.org/ar/openYuanrong数据系统是一款以内存为中心、近计算的分布式异构多级缓存系统专为AI训推、Agent、大数据等分布式应用打造。通过与vLLM集成它能为GLM-5等大模型提供高性能的KV缓存存储与请求间复用能力显著提升推理效率。为什么选择openYuanrong作为vLLM的缓存后端在大模型推理场景中KV缓存的管理直接影响系统性能。openYuanrong数据系统通过创新的多级缓存架构完美解决了传统方案面临的三大挑战显存瓶颈实现HBM/DRAM/SSD多级存储将冷数据自动迁移至低成本介质实例间数据共享通过零拷贝技术实现推理实例间的KV缓存复用降低重复计算弹性扩展支持动态扩缩容满足流量波动下的资源高效利用openYuanrong的核心优势openYuanrong数据系统的逻辑架构如下它通过多层次设计实现了高效的缓存管理核心优势包括多语言SDK支持提供Python/C接口轻松集成到vLLM等推理框架计算访问加速支持共享内存免拷贝、NPU间开发通信和P2P数据分发智能数据管理实现读写一致性、生命周期管理和缓存淘汰策略高可用集群管理包含节点发现、健康检查、故障恢复和弹性伸缩能力部署架构vLLM openYuanrong GLM-5在实际部署中openYuanrong与vLLM、GLM-5模型形成协同架构通过分布式Worker节点实现缓存资源的统一管理硬件环境要求部署GLM-5模型与openYuanrong数据系统的推荐配置如下::::{tab-set} :::{tab-item} Atlas A3单机 | 软硬件名称 | 版本/规格 | 作用 | |-------|----|----| | Atlas 800T/I A3单机 | 16张NPU卡(每张64G显存) | 运行异构大模型推理的物理硬件 | | vllm-ascend Docker 镜像 | vllm-ascend:0.18.0rc1 | 提供包含vLLM、CANN等预配置的容器环境 | | GLM-5 模型 | W4A8量化版本 | 智能体应用设计的高效推理模型权重 | | openYuanrong datasystem | 最新版 | 提供KV Cache外部存储与复用的核心组件 | | etcd | 3.5 | Datasystem集群与节点管理依赖组件 | ::: :::{tab-item} Atlas A2双机 | 软硬件名称 | 版本/规格 | 作用 | |-------|----|----| | Atlas 800T/I A2(双机) | 8张NPU卡(每张64G显存) | 运行异构大模型推理的物理硬件 | | vllm-ascend Docker 镜像 | vllm-ascend:0.18.0rc1 | 提供包含vLLM、CANN等预配置的容器环境 | | GLM-5 模型 | W4A8量化版本 | 智能体应用设计的高效推理模型权重 | | openYuanrong datasystem | 最新版 | 提供KV Cache外部存储与复用的核心组件 | | etcd | 3.5 | Datasystem集群与节点管理依赖组件 | ::: ::::快速部署步骤1. 准备基础环境获取GLM-5模型权重pip install modelscope modelscope download --model Eco-Tech/GLM-5-w4a8 --local_dir /home/models拉取vLLM-Ascend镜像# A3单机 docker pull quay.io/ascend/vllm-ascend:0.18.0rc1-a3 # A2双机 docker pull quay.io/ascend/vllm-ascend:0.18.0rc1启动容器以A3单机为例export IMAGEquay.io/ascend/vllm-ascend:0.18.0rc1-a3 export NAMEvllm-ascend docker run --rm \ --name $NAME \ --shm-size1g \ --nethost \ --device /dev/davinci0 \ # ... 省略其他设备映射 ... --device /dev/davinci15 \ --device /dev/davinci_manager \ --device /dev/devmm_svm \ --device /dev/hisi_hdc \ -v /usr/local/dcmi:/usr/local/dcmi \ # ... 省略其他 volume 映射 ... -it $IMAGE bash2. 安装openYuanrong数据系统在线安装pip install openyuanrong-datasystem验证安装python -c import yr.datasystem; print(Yuanrong Datasystem 安装成功)3. 启动openYuanrong服务创建启动脚本run_yr.sh#!/bin/bash # 配置参数 export HOST_IP192.168.1.100 # 替换为实际IP export ETCD_IP${HOST_IP} export WORKER_PORT18481 export ETCD_PORT2379 export SHM_SIZE512000 # 500GB共享内存 export NODE_TIMEOUT30 export NODE_DEAD_TIMEOUT60 export LIVENESS_PATH/workspace/liveness # 启动etcd etcd \ --name etcd-single \ --data-dir /tmp/etcd-data \ --listen-client-urls http://0.0.0.0:${ETCD_PORT} \ --advertise-client-urls http://${ETCD_IP}:${ETCD_PORT} \ --listen-peer-urls http://0.0.0.0:2380 \ --initial-advertise-peer-urls http://${ETCD_IP}:2380 \ --initial-cluster etcd-singlehttp://${ETCD_IP}:2380 \ /tmp/etcd.log 21 # 等待etcd启动 sleep 3 # 验证etcd etcdctl --endpoints ${ETCD_IP}:${ETCD_PORT} put key value etcdctl --endpoints ${ETCD_IP}:${ETCD_PORT} get key # 启动Datasystem Worker dscli start -w \ --worker_address ${HOST_IP}:${WORKER_PORT} \ --etcd_address ${ETCD_IP}:${ETCD_PORT} \ --shared_memory_size_mb ${SHM_SIZE} \ --node_timeout_s ${NODE_TIMEOUT} \ --node_dead_timeout_s ${NODE_DEAD_TIMEOUT} \ --liveness_check_path ${LIVENESS_PATH} echo Yuanrong服务启动完成运行启动脚本bash run_yr.sh4. 启动vLLM服务集成openYuanrong创建A3单机启动脚本run_glm5_yuanrong.sh#!/bin/bash # NPU性能优化配置 export HCCL_OP_EXPANSION_MODEAIV export OMP_PROC_BINDfalse export OMP_NUM_THREADS1 export HCCL_BUFFSIZE200 export PYTORCH_NPU_ALLOC_CONFexpandable_segments:True # vLLM配置 export VLLM_USE_V11 export VLLM_ENGINE_READY_TIMEOUT_S1800 export PYTHONHASHSEED0 # Yuanrong配置 export DS_WORKER_ADDR192.168.1.100:18481 # 替换为实际Worker地址 export DS_H2D_MEMCPY_POLICYdirect export DS_D2H_MEMCPY_POLICYdirect MODEL_PATH/home/models/GLM-5-w4a8 vllm serve $MODEL_PATH \ --host 0.0.0.0 \ --port 1025 \ --data-parallel-size 1 \ --tensor-parallel-size 16 \ --enable-expert-parallel \ --seed 1024 \ --served-model-name glm-5 \ --max-num-seqs 8 \ --max-model-len 200000 \ --max-num-batched-tokens 4096 \ --trust-remote-code \ --gpu-memory-utilization 0.95 \ --quantization ascend \ --enable-chunked-prefill \ --enable-prefix-caching \ --async-scheduling \ --kv-transfer-config { kv_connector: AscendStoreConnector, kv_role: kv_both, kv_connector_extra_config: { lookup_rpc_port: 0, backend: yuanrong } } 21 | tee ./glm-5_yuanrong.log启动服务bash run_glm5_yuanrong.sh功能验证与性能监控验证服务状态curl http://localhost:1025/health测试推理请求curl -H Content-type: application/json \ -X POST \ -d { model: glm-5, messages: [{ role: user, content: 你好请介绍一下人工智能的未来发展趋势。 }], stream: false, temperature: 0, max_tokens: 200 } http://localhost:1025/v1/chat/completions监控缓存命中率通过日志查看缓存命中情况# 查看Prefix Cache命中率 grep -E prefix cache hit|cache hit rate glm-5_yuanrong.log # 查看Yuanrong外部缓存命中率 grep -E yuanrong|YuanrongBackend|kv_cache|hit_rate glm-5_yuanrong.log启用Prometheus监控vllm serve ... --enable-metrics --metrics-port 8001然后通过以下命令获取详细指标curl http://localhost:8001/metrics | grep -E vllm_prefix_cache|external_prefix_cache常见问题解决etcd连接失败# 检查etcd健康状态 etcdctl --endpoints ${ETCD_IP}:2379 endpoint healthWorker注册失败# 检查Worker端口是否监听 netstat -tlnp | grep 18481内存不足(OOM)降低并发参数--max-model-len 65536 \ --max-num-seqs 4KV Cache未命中确保PYTHONHASHSEED设置一致echo $PYTHONHASHSEED # 应输出0总结通过将openYuanrong数据系统与vLLM集成我们为GLM-5模型构建了高效的多级缓存后端实现了显存优化通过多级缓存扩展存储容量降低单卡显存压力性能提升KV缓存复用减少重复计算降低首token延迟(TTFT)弹性扩展支持动态调整缓存资源适应不同负载需求详细部署指南可参考项目文档vLLM Ascend使用OpenYuanrong作为多级缓存最佳实践要开始使用这个强大的组合只需克隆仓库git clone https://gitcode.com/openeuler/yuanrong-datasystem按照部署文档配置环境启动服务并享受高性能的大模型推理体验openYuanrong数据系统与vLLM的集成为GLM-5等大模型的高效部署提供了理想的缓存解决方案特别适合需要处理长序列和高并发请求的智能体应用场景。【免费下载链接】yuanrong-datasystemopenYuanrong 数据系统是以内存为中心、近计算的分布式异构多级缓存为AI训推、Agent、大数据、微服务等分布式应用提供高性能的数据对象KV与数据流访问、HBM/DRAM/SSD 多级缓存以及实例间零拷贝数据共享能力。项目地址: https://gitcode.com/openeuler/yuanrong-datasystem创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考