Qwen3-235B-A22B与KTransformers 0.3部署实践:源码安装与多并发测试全指南!

图片

一、环境准备

#配置CPU:Xeon(R) 8352V * 2内存:DDR4 2933 512G显卡:NVIDIA A40 48G(或3090 24G 实际使用不到16G)模型:unsloth/Qwen3-235B-A22B-128K-GGUF/Q4_K_MKTransformer:0.3(注意:4代以上cpu支持AMX)

测试总结:

1)#Qwen3-235B-A22B GGUF模型选择下载Q4_K_M(其它Q4版本如Q4_0不支持,报NotImplementedError错误)

2)cpu_infer默认情况下,四路并发时cpu存在瓶颈,拉低了每路的推理速度(2.73tps),设置合适cpu_infer消除瓶颈后,每路稳定到4.4tps

3)1k上下文+cpu_infer默认:单路推理速度 6.5tps,显存占用 10.4g,首次推理速度未减少;四路并发每路平均 2.73 tps,显存没明显变化,四路并发cpu存在瓶颈;

4)8k上下文+cpu_infer 62:单路推理速度 7.5 tps,显存占用 10.4g,首次推理速度未减少;四路并发每路平均 4.4 tps,显存没明显变化,四路并发cpu无瓶颈;

1,设置conda环境

# 新建环境​​​​​​​

# Download Miniconda# wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh# Create environmentconda create --name ktransformers python=3.11conda activate ktransformers

# 从0.2.4版本升级(需卸载ktransformers)​​​​​​​

pip list | grep ktransformerspip uninstall ktransformers

说明:两种方式均可以编译成功

2,系统环境(libstdcxx-ng、torch、cuda等依赖项)

环境依赖安装参考kt0.2.4版本安装

二、源码安装

1,下载源码​​​​​​​

# Clone repositorygit clone https://github.com/kvcache-ai/ktransformers.gitcd ktransformersgit submodule update --init --recursive

2,编译安装​​​​​​​

# Install single NUMA dependenciesUSE_BALANCE_SERVE=1  bash ./install.sh# For those who have two cpu and 1T RAM(Dual NUMA):USE_BALANCE_SERVE=1 USE_NUMA=1 bash ./install.sh

图片

3,模型准备

说明:原始模型model-*.safetensors文件不用下载

# 下载GGUF文件​​​​​​​

# pip install huggingface_hub hf_transfer# import os # Optional for faster downloading# os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
from huggingface_hub import snapshot_downloadsnapshot_download(  repo_id = "unsloth/Qwen3-235B-A22B-128K-GGUF",  local_dir = "Qwen3-235B-A22B-128K-GGUF",  allow_patterns = ["*235B-A22B-128K-Q4_K_M*"], # Qwen3-235B-A22B-128K-Q4_K_M-00001)
# from modelscope import snapshot_download# snapshot_download(#   repo_id = "unsloth/Qwen3-235B-A22B-128K-GGUF",#   local_dir = "Qwen3-235B-A22B-128K-GGUF",#   allow_patterns = ["*235B-A22B-Q4_0*"], # Qwen3-235B-A22B-128K-Q4_K_M-00001# )

图片

注意:模型选择下载Q4_K_M(其它Q4版本如Q4_0不支持)

4,启动命令​​​​​​​

# llamafile backendpython ktransformers/server/main.py --architectures Qwen3MoeForCausalLM --model_path <model_dir> --gguf_path <gguf_dir> --optimize_config_path ktransformers/optimize/optimize_rules/Qwen3Moe-serve.yaml --backend_type balance_serve# AMX backendpython 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

说明:intel四代及以上支持AMX命令的使用第二个命令​​​​​​​

python ktransformers/server/main.py \  --port 10002 \  --architectures Qwen3MoeForCausalLM \  --model_path <model_dir> \  --gguf_path <gguf_dir> \  --optimize_config_path ktransformers/optimize/optimize_rules/Qwen3Moe-serve.yaml \  --max_new_tokens 1024 \  --cache_lens 32768 \  --chunk_size 256 \  --max_batch_size 4 \  --backend_type balance_serve \  --force_think # useful for R1

参数说明:​​​​​​​

--port:设置kt服务端口--architectures:推理Qwen3 235B-A22 和 30B-A3B需增加,设置值为 Qwen3MoeForCausalLM--optimize_config_path:优化yaml配置文件路径,Qwen3推理不支持AMX的设置为Qwen3Moe-serve.yaml,支持AMX的设置为 Qwen3Moe-serve-amx.yaml--max_new_tokens:每个请求生成的最大 Token 数。--cache_lens:调度器分配的 kvcache 总长度。所有请求共享一个 kvcache 空间。--max_batch_size:引擎在一次运行中处理的最大请求数(预填充 + 解码)。(仅 balance_serve 支持)--chunk_size:引擎在一次运行中处理的最大令牌数。对应 32768 个 Token,请求完成后会释放占用的空间。--backend_type:balance_serve 是 v0.2.4 版本中引入的多并发后端引擎。最初的单并发引擎是 ktransformers。--model_path : safetensor 配置路径的路径(只需要配置,不需要模型 safetensors)。--force_think: 强制响应 DeepSeek R1 的 reasoning 标签。注意1:从版本 0.2.4 开始,${model_path} 目录名称的最后一段必须是包含模型配置文件的本地目录。目前不支持 Hugging Face 链接(例如 deepseek-ai/DeepSeek-R1)。注意2:max_batch_size、cache_lens 和 max_new_tokens 之间的关系应满足: cache_lens > max_batch_size * max_new_tokens ,否则并发数会降低。

三、测试体验

参数:1k上下文 + 四路并发 + cpu_infer 默认

1,启动kt推理服务 (1k + cpu_infer默认)​​​​​​​

python ktransformers/server/main.py \  --port 10002 \  --architectures Qwen3MoeForCausalLM \  --model_path /home/jovyan/models/Qwen/Qwen3-235B-A22B \  --gguf_path /home/jovyan/models/unsloth/Qwen3-235B-A22B-128K-GGUF/Q4_K_M \  --optimize_config_path ktransformers/optimize/optimize_rules/Qwen3Moe-serve.yaml \  --max_new_tokens 1024 \  --cache_lens 32768 \  --chunk_size 256 \  --max_batch_size 4 \  --backend_type balance_serve \  --force_think # useful for R1

图片

2,单路测试 ( 1k + cpu_infer 默认)​​​​​​​

curl -X 'POST' \  'http://localhost:10002/v1/chat/completions' \  -H 'accept: application/json' \  -H 'Content-Type: application/json' \  -d '{  "messages": [    {      "content": "你是谁",      "role": "user"    }  ],  "model": "Qwen3-235B-A22B",  "stream": false}'

# 单次首次推理速度 6.5 tps ( 1k + cpu_infer 默认)

图片

图片

# 单次非首次推理速度 6.5 tps ( 1k + cpu_infer 默认)​​​​​​​

curl -X POST http://localhost:10002/v1/chat/completions \  -H "accept: application/json" \  -H "Content-Type: application/json" \  -d '{    "messages": [      {"role": "user", "content": "比较9.11和9.8的大小"}    ],    "model": "Qwen3-235B-A22B",    "temperature": 0.3,    "top_p": 1.0,    "stream": false  }'

图片

图片

# gpu使用

图片

3,四路并发测试 ( 1k + cpu_infer 默认)

# 测试命令​​​​​​​

curl -X 'POST' \  'http://localhost:10002/v1/chat/completions' \  -H 'accept: application/json' \  -H 'Content-Type: application/json' \  -d '{  "messages": [    {      "content": "who are you?",      "role": "user"    }  ],  "model": "Qwen3-235B-A22B",  "stream": false}'

图片

# 四路并发测试结果:每路平均速度 2.73 tps ( 1k + cpu_infer 默认)

图片

# 场景1:四路同时在跑,单路平均 2.5tps

图片

# 场景2:完成1路后,3路在跑,单路平均3.2tps

图片

# 场景3:完成2路后,2路在跑,单路平均4.3tps

图片

# 场景4:完成3路后,1路在跑,单路平均7.5tps

图片

# gpu使用(基本没啥变化)

图片

说明:cpu_infer默认情况下,四路并发时cpu存在瓶颈,拉低了每路的推理速度

四、参数调优测试

参数:8k上下文 + 四路并发 + cpu_infer 62

1,启动kt服务 (8k + cpu_infer 62)​​​​​​​

# 8k + cpu_infer 62 python ktransformers/server/main.py \  --port 10002 \  --architectures Qwen3MoeForCausalLM \  --model_path /home/jovyan/models/Qwen/Qwen3-235B-A22B \  --gguf_path /home/jovyan/models/unsloth/Qwen3-235B-A22B-128K-GGUF/Q4_K_M \  --optimize_config_path ktransformers/optimize/optimize_rules/Qwen3Moe-serve.yaml \  --cpu_infer 62 \  --max_new_tokens 8192 \  --cache_lens 32768 \  --chunk_size 256 \  --max_batch_size 4 \  --backend_type balance_serve \  --force_think # useful for R1

图片

2,单路测试(8k + cpu_infer 62)

测试场景一:数字比较

图片

# 单路推理速度:7.5 tps (8k + cpu_infer 62)

图片

# gpu使用(没什么变化)

图片

# 测试场景二:扑克牌问题​​​​​​​

curl -X POST http://localhost:10002/v1/chat/completions \  -H "accept: application/json" \  -H "Content-Type: application/json" \  -d '{    "messages": [      {"role": "user", "content": "桌子上有16张扑克牌:红桃A、Q、4,黑桃J、8、4、2、7、3,草花K、Q、5、4、6,方块A、5。从这16张牌中挑出一张牌,并把这张牌的点数告诉X先生,把这张牌的花色告诉Y先生。这时,问X先生和Y先生:你们能从已知的点数或花色中推知这张牌是什么牌吗?X先生:我不知道这张牌。Y先生:我知道你不知道这张牌。X先生:现在我知道这张牌了。Y先生:我也知道了。问,这张牌是多少?"}    ],    "model": "Qwen3-235B-A22B",    "temperature": 0.3,    "top_p": 1.0,    "stream": false  }'

图片

图片

# 单路推理速度:7.5 tps (8k + cpu_infer 62)

图片

# gpu使用(显存占用基本没变化)

图片

3,四路并发测试(8k + cpu_infer 62)​​​​​​​

curl -X POST http://localhost:10002/v1/chat/completions \  -H "accept: application/json" \  -H "Content-Type: application/json" \  -d '{    "messages": [      {"role": "user", "content": "Compare the sizes of 9.11 and 9.8"}    ],    "model": "Qwen3-235B-A22B",    "temperature": 0.3,    "top_p": 1.0,    "stream": false  }'

# 四路数字比较

图片

# 四路推理速度:每路平均速度 4.44 tps (8k + cpu_infer 62)

图片

# 场景1:四路同时在跑,单路平均 4.4tps

图片

# 场景2:完成1路后,3路在跑,单路平均 4.4tps

图片

# 场景3:完成2路后,2路在跑,单路平均4.4tps

图片

# 场景4:完成3路后,1路在跑,单路平均7.7tps

图片

# gpu使用(变化不大)

图片

说明:

1)增加上下文,参数需满足: cache_lens > max_batch_size * max_new_tokens 

2)设置cpu_infer参数,能明显提升推理速度,特别是思路并发

五、问题及总结

#Qwen3-235B-A22B  #KTransformers 0.3 

#KTransformers部署  #KTransformers多并发测试

问题1:

图片

 解决:进入项目根目录

git submodule update --init --recursive

问题2:

图片

 解决:在ktransformers/csrc/balance_serve/CMakeLists.txt里第一行增加以下设置

set(CMAKE_CUDA_STANDARD 17)

图片

问题3:

图片

解决:更换Qwen3-235B-A22B-GGUF模型,使用Q4_K_M版本

 一、大模型风口已至:月薪30K+的AI岗正在批量诞生

2025年大模型应用呈现爆发式增长,根据工信部最新数据:

国内大模型相关岗位缺口达47万

初级工程师平均薪资28K

70%企业存在"能用模型不会调优"的痛点

真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!

二、如何学习大模型 AI ?


🔥AI取代的不是人类,而是不会用AI的人!麦肯锡最新报告显示:掌握AI工具的从业者生产效率提升47%,薪资溢价达34%!🚀

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工

📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)

 

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

*   大模型 AI 能干什么?
*   大模型是怎样获得「智能」的?
*   用好 AI 的核心心法
*   大模型应用业务架构
*   大模型应用技术架构
*   代码示例:向 GPT-3.5 灌入新知识
*   提示工程的意义和核心思想
*   Prompt 典型构成
*   指令调优方法论
*   思维链和思维树
*   Prompt 攻击和防范
*   …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

*   为什么要做 RAG
*   搭建一个简单的 ChatPDF
*   检索的基础概念
*   什么是向量表示(Embeddings)
*   向量数据库与向量检索
*   基于向量检索的 RAG
*   搭建 RAG 系统的扩展知识
*   混合检索与 RAG-Fusion 简介
*   向量模型本地部署
*   …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

*   为什么要做 RAG
*   什么是模型
*   什么是模型训练
*   求解器 & 损失函数简介
*   小实验2:手写一个简单的神经网络并训练它
*   什么是训练/预训练/微调/轻量化微调
*   Transformer结构简介
*   轻量化微调
*   实验数据集的构建
*   …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

*   硬件选型
*   带你了解全球大模型
*   使用国产大模型服务
*   搭建 OpenAI 代理
*   热身:基于阿里云 PAI 部署 Stable Diffusion
*   在本地计算机运行大模型
*   大模型的私有化部署
*   基于 vLLM 部署大模型
*   案例:如何优雅地在阿里云私有部署开源大模型
*   部署一套开源 LLM 项目
*   内容安全
*   互联网信息服务算法备案
*   …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

### CentOS 镜像中 README 文件的作用 README 文件通常作为文档的一部分,在操作系统或软件包的分发过程中起到指导和说明的作用。对于 CentOS 的镜像而言,其 README 文件的主要意义在于提供关于该版本的操作系统的关键信息以及安装指南。 #### 1. 提供版本信息 README 文件会明确指出当前镜像是哪个具体版本的 CentOS,例如 `CentOS Linux release 7.9.2009 (Core)`[^1]。这有助于用户确认所下载的是正确的发行版,并了解其兼容的硬件和软件环境。 #### 2. 描述安装前准备事项 在实际部署之前,用户可能需要完成一些必要的准备工作,比如安装工具 Git 或者其他依赖项。这些内容往往会在 README 中有所提及,帮助新手快速上手。 #### 3. 解决常见问题 针对可能出现的问题,如文件上传验证通过后的反馈机制——返回文件名表示成功[^2];或者如何正确配置服务端口映射等复杂场景下的解决方案也可能被记录下来以便查阅。 #### 4. 列举第三方库源地址 有时为了扩展功能,官方文档还会给出获取额外资源的方法论实例:“`wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz`” 就是用来示范怎样从外部站点拉取所需组件的例子之一[^3]。 #### 5. 展示高级设置教程 除了基本操作外,更深入的技术细节也会包含其中,例如为了让 NVM 成为全局变量而修改特定路径下的脚本文件 `/etc/profile.d/nvm.sh` [^4] ,或者是利用 FTP 协议传输大容量数据时推荐采用 Binary Mode 来保持文件完整性[^5]。 综上所述,README 不仅是一个简单的介绍性文本,更是连接开发最终用户的桥梁,它承载着丰富的背景资料和技术支持,使得整个安装过程更加顺畅高效。 ```bash # 示例命令展示如何查看本地是否存在类似的 readme 文档 ls /path/to/your/downloaded/image/*.txt | grep -i "readme" cat /path/to/found/readme.txt ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值