当前位置: 首页 > news >正文

Docke启动Ktransformers部署Qwen3MOE模型实战与性能测试

docker运行Ktransformers部署Qwen3MOE模型实战及 性能测试

最开始拉取ktransformers:v0.3.1-AVX512版本,发现无论如何都启动不了大模型,后来发现是cpu不支持avx512指令集。

由于本地cpu不支持amx指令集,因此下载avx2版本镜像:

1.下载docker镜像并运行


docker pull approachingai/ktransformers:v0.3.1-AVX2
docker run -it --gpus all --privileged --shm-size 64g --name ktrans --network=host -v /home/xugq/models/:/models approachingai/ktransformers:v0.3.1-AVX512 /bin/bash

2.确定挂载卷并进入容器

通过该命令查看挂载卷:

docker inspect ktrans | grep -A 10 "Mounts"

执行结果:

 "Mounts": [{"Type": "bind","Source": "/home/xugq/models/Qwen3-30B-A3B-GGUF","Destination": "/Qwen3-30B-A3B-GGUF","Mode": "","RW": true,"Propagation": "rprivate"}],"Config": {

执行以下命令进入容器内部:

docker exec -it ktrans bash

3.启动qwen3-moe模型

执行以下代码启动Qwen 3 MoE :(注意model_path文件路径是容器内部的挂载路径,因为是在容器内部启动命令)

#普通指令集
python ktransformers/server/main.py --architectures Qwen3MoeForCausalLM --model_path /Qwen3-30B-A3B-GGUF --gguf_path /Qwen3-30B-A3B-GGUF/Qwen3-30B-A3B-Q4_K_M.gguf --optimize_config_path ktransformers/optimize/optimize_rules/Qwen3Moe-serve.yaml --backend_type balance_serve --port 8999
#支持amx指令集
python ktransformers/server/main.py --architectures Qwen3MoeForCausalLM --model_path <model_dir> --gguf_path <gguf_dir> --optimize_config_path ktransformers/optimize/optimize_rules/Qwen3Moe-serve-amx.yaml --backend_type balance_serve

一些可添加的额外参数参数:

  • --chunk_size: Maximum number of tokens processed in a single run by the engine.
    --chunk_size:引擎在一次运行中处理的最大令牌数。
  • --cache_lens: Total length of kvcache allocated by the scheduler. All requests share a kvcache space corresponding to 32768 tokens, and the space occupied will be released after the requests are completed.
    --cache_透镜 :调度程序分配的 kvcache 的总长度。所有请求共享一个 kvcache 空间,对应 32768 个 token,请求完成后释放所占用的空间。
  • --backend_type: balance_serve is a multi-concurrency backend engine introduced in version v0.2.4. The original single-concurrency engine is ktransformers.
    --backend_typebalance_serve 是 v0.2.4 中引入的多并发后端引擎。最初的单并发引擎是 ktransformers
  • --max_batch_size: Maximum number of requests (prefill + decode) processed in a single run by the engine. (Supported only by balance_serve)
    --max_batch_size:引擎在一次运行中处理的最大请求数(预填充+解码)。(仅支持 balance_serve

4.调用模型测试性能

访问服务器测试响应速度:

curl -X POST http://localhost:8999/v1/chat/completions \-H "accept: application/json" \-H "Content-Type: application/json" \-d '{"messages": [{"role": "user", "content": " <no_think>贵阳市有什么美丽的景点可以去旅游?"}],"model": "Qwen3-30B-A3B","temperature": 0.3,"top_p": 1.0,"stream": false
}'

收到回复:
请添加图片描述

查看服务器后台日志:
请添加图片描述

分析关键性能指标:

Performance(T/s): prefill 58.34309968405152, decode 19.089551765073455. Time(s): tokenize 0.023163557052612305, prefill 0.37707972526550293, decode 26.035184383392334

  1. Prefill(预填充)阶段
    • 速度:58.34 tokens/s
    • 耗时:0.38 秒
    • 说明:处理用户输入提示词(prompt)的速度,该阶段并行计算能力强,吞吐量高。
  2. Decode(解码)阶段
    • 速度:19.09 tokens/s
    • 耗时:26.04 秒
    • 说明:逐token生成回复内容的速度,受自回归生成特性限制,吞吐量较低。
  3. Tokenizer(分词)阶段
    • 耗时:0.023 秒
    • 耗时:26.04 秒
    • 说明:逐token生成回复内容的速度,受自回归生成特性限制,吞吐量较低。
  4. Tokenizer(分词)阶段
    • 耗时:0.023 秒
    • 说明:将文本转换为模型输入token的时间,通常不是瓶颈。

相关文章:

  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月7日第101弹
  • 快速上手shell脚本运行流程控制
  • 1-2 Linux-虚拟机(2025.6.7学习篇- win版本)
  • 投屏技术深度解析:从原理到成功率优化实战·优雅草卓伊凡
  • Java Map完全指南:从基础到高级应用
  • 【LRU】 (最近最少使用)
  • 绘制饼图详细过程
  • 60天python训练计划----day46 and day47
  • 利用qcustomplot绘制曲线图
  • [yolov11改进系列]基于yolov11使用CPA-Enhancer自适应增强器替换backbone提高低照度目标的python源码+训练源码
  • 【C/C++】algorithm清单以及适用场景
  • Ntfs!NtfsWriteLog函数分析之ntfs!NTFS_LOG_RECORD_HEADER结构的一个例子----NTFS源代码分析之七
  • leetcode刷题日记——1.组合总和
  • 【论文解读】DeepSeek-R1
  • 常用存储器介绍
  • 操作系统:分页存储管理方式(精简版、含例题)
  • 无需登录即可使用的Web应用网站
  • MySQL事务与锁中的MVCC 深度解析与面试题讲解
  • C++学习-入门到精通【15】异常处理深入剖析
  • Docker安装MQEX
  • wordpress搭建的网站能干什么/网络推广运营
  • 网站布局技术/官网seo优化
  • 湖南省人民政府网站集约化建设/全专业优化公司
  • c 做网站的六大对象/杭州seo网络推广
  • 网站建设流程咨询/站长工具是干嘛的
  • 江苏省建设信息网/济南seo小黑seo