sysHAX实战案例:在openEuler系统上部署DeepSeek模型的完整经验分享
sysHAX实战案例在openEuler系统上部署DeepSeek模型的完整经验分享【免费下载链接】sysHAXsysHAX Heterogeneous collaborative acceleration runtime项目地址: https://gitcode.com/openeuler/sysHAX前往项目官网免费下载https://ar.openeuler.org/ar/sysHAX是一款面向CPU xPUGPU/NPU/...异构计算架构的推理加速系统旨在通过智能任务调度与资源优化充分发挥不同硬件平台的计算优势实现大语言模型LLM推理性能的最大化。本文将详细介绍如何在openEuler系统上使用sysHAX部署DeepSeek模型帮助新手用户快速上手这一强大的异构协同加速运行时。一、了解sysHAX异构计算的终极加速方案 1.1 sysHAX核心架构解析sysHAX采用分层设计实现了从接口到执行的全流程优化。其系统架构主要包含以下几个关键层级sysHAX系统架构图API接口层提供标准的/v1/chat/completions接口兼容主流LLM服务调用方式核心引擎层负责生命周期管理与任务调度决策中间组件层包含调度器Scheduler、性能指标收集MetricsService和系统监控SystemMonitor执行层通过Runner组件处理请求转发服务层包含CPU服务和配置管理模块这种架构设计使sysHAX能够实现自动PD卸载、智能负载均衡、实时监控和性能优化等核心功能为大模型推理提供全方位的加速支持。1.2 异构计算的PD分离技术sysHAX的核心创新在于其动态任务拆分与调度机制即PD分离技术GPU与CPU协同工作流程图Prefill阶段对输入提示prompt进行上下文编码属于计算密集型任务由GPU/NPU等加速设备处理Decode阶段逐token生成输出内容属于访存密集型任务由CPU处理通过这种分工sysHAX能够充分发挥GPU的并行计算能力和CPU的内存访问优势实现整体推理性能的最大化。二、部署前准备软硬件环境要求2.1 软件环境配置部署sysHAX和DeepSeek模型需要满足以下软件版本要求类型版本要求说明操作系统openEuler 22.03 LTS / 24.03 LTS推荐使用官方LTS版本以获得最佳兼容性Python3.11及以上部署vllm服务所需Docker25及以上实现容器化部署简化环境配置模型DeepSeek系列模型sysHAX针对主流大模型优化2.2 硬件规格建议为获得最佳性能建议使用以下硬件配置类型型号说明服务器鲲鹏920系列服务器推荐920 7280Z以上推理加速功能针对鲲鹏架构优化GPUNvidia系列GPU用于加速Prefill阶段计算以下是典型的鲲鹏920服务器配置信息服务器CPU信息三、快速部署三步完成DeepSeek模型部署3.1 第一步搭建vllm-gpu容器首先拉取vllm-gpu镜像并创建容器# 拉取vllm(GPU)的docker镜像 docker pull hub.oepkgs.net/neocopilot/syshax/syshax-vllm-gpu:0.2.1 # 创建名为vllm_gpu的docker容器 docker run --name vllm_gpu \ --ipcshareable \ --shm-size64g \ --gpusall \ -p 8001:8001 \ -v /home/models:/home/models \ -w /home/ \ -it hub.oepkgs.net/neocopilot/syshax/syshax-vllm-gpu:0.2.1 bash在容器内启动vllm-gpu服务# 部署vllm(GPU)服务启用PD分离功能 vllm serve /home/models/DeepSeek-R1-Distill-Qwen-32B \ --host 0.0.0.0 \ --port 8001 \ --dtypehalf \ --block_size16 \ --preemption_modeswap \ --max_model_len8192 \ --tensor-parallel-size 2 \ --gpu_memory_utilization0.8 \ --enable_auto_pd_offload3.2 第二步搭建vllm-cpu容器拉取vllm-cpu镜像并创建容器与GPU容器共享IPC资源# 拉取vllm(CPU)的docker镜像 docker pull hub.oepkgs.net/neocopilot/syshax/syshax-vllm-cpu:0.2.1 # 创建名为vllm_cpu的容器与vllm_gpu共享IPC资源 docker run --name vllm_cpu \ --ipc container:vllm_gpu \ --shm-size64g \ --privileged \ -p 8002:8002 \ -v /home/models:/home/models \ -w /home/ \ -it hub.oepkgs.net/neocopilot/syshax/syshax-vllm-cpu:0.2.1 bash在容器内启动vllm-cpu服务启用CPU推理加速# 部署vllm(CPU)服务启用PD分离和CPU加速 INFERENCE_OP_MODEfused \ OMP_NUM_THREADS160 \ CUSTOM_CPU_AFFINITY0-159 \ SYSHAX_QUANTIZEq4_0 \ NRC4 \ vllm serve /home/models/DeepSeek-R1-Distill-Qwen-32B \ --host 0.0.0.0 \ --port 8002 \ --dtypehalf \ --block_size16 \ --preemption_modeswap \ --max_model_len8192 \ --enable_auto_pd_offload3.3 第三步配置并启动sysHAX服务首先克隆sysHAX代码仓库# 克隆sysHAX源代码 git clone -b v0.2.1 https://gitcode.com/openeuler/sysHAX.git cd sysHAX初始化并配置sysHAX# 初始化配置文件 python3 cli.py init # 设置GPU端口 python3 cli.py config gpu.port 8001 # 设置CPU端口 python3 cli.py config cpu.port 8002 # 设置sysHAX服务端口 python3 cli.py config conductor.port 8010 # 开启自动PD offload python3 cli.py config auto_pd_offload true # 配置CPU侧最大并发量 python3 cli.py config cpu_max_batch_size 5 # 配置请求超时时间秒 python3 cli.py config request_timeout 3600启动sysHAX服务# 启动sysHAX python3 cli.py run如需查看详细调试信息可使用# 启动sysHAX并显示DEBUG信息 DEBUG1 python3 cli.py run四、验证部署发起推理请求部署完成后可以通过curl命令发起推理请求curl http://0.0.0.0:8010/v1/chat/completions -H Content-Type: application/json -d { messages: [ { role: user, content: 介绍一下openEuler。 } ], stream: true, max_tokens: 1024 }参数说明stream: 启用流式传输结果将以数据流形式逐个token返回max_tokens: 限制响应生成的最大token数五、部署架构总结整个部署架构中sysHAX作为请求入口智能分配Prefill和Decode任务sysHAX部署架构图所有Prefill请求被路由至vllm-gpu处理Decode请求根据实时负载动态分配给vllm-cpu或vllm-gpu通过共享内存实现CPU和GPU之间的KV Cache传输这种架构充分利用了异构计算资源大幅提升了DeepSeek模型的推理性能和资源利用率。六、常见问题解决6.1 显存溢出问题如果遇到Torch.OutOfMemoryError: Cuda Out of Memory错误检查是否满足模型运行时的显存开销 ≤ 服务器的可用显存执行nvidia-smi命令查看是否有其他进程占用显存尝试降低gpu_memory_utilization参数值6.2 IPC连接失败如果创建容器时出现docker: Error response from daemon: fail to join ipc namespace错误确保vllm-gpu容器创建时ipc设置为shareable删除已创建的容器重新按步骤创建6.3 端口占用问题如果遇到port is already allocated错误使用netstat -tulpn命令查找占用端口的进程杀掉占用进程或更换端口号重新创建容器通过以上步骤您已经成功在openEuler系统上使用sysHAX部署了DeepSeek模型。sysHAX的异构协同加速技术将为您的大模型推理任务带来显著的性能提升充分发挥硬件资源的潜力。如需更详细的配置选项可参考项目中的官方文档或执行python3 cli.py config --help查看所有配置命令。【免费下载链接】sysHAXsysHAX Heterogeneous collaborative acceleration runtime项目地址: https://gitcode.com/openeuler/sysHAX创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻