跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(LCZ-Blue)
  • 不使用皮肤
  • LCZ-Green
  • LCZ-Blue
  • LCZ-Black
折叠
品牌标识

抡锤者

首页 版块 标签
硬件
装备秀
AI 广场 App
  1. 主页
  2. 版块
  3. LLM讨论区
  4. Qwen3.8 27B, 单卡也可以跑191 tok/s : 一套优化到极致的部署与实测

Qwen3.8 27B, 单卡也可以跑191 tok/s : 一套优化到极致的部署与实测

已定时 已固定 已锁定 已移动 热议 LLM讨论区
rtx3090qwen-27bvllm
29 帖子 15 发布者 2.7k 浏览 7 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 於魚之愛於
    於魚之愛於
    於魚之愛
    发表于 最后由 编辑
    #16

    大家都在用qwen 3.8 - 27B模型,请问下这个模型在编程、文学方面怎么样?和目前deepseek v4 flash 差多少。

    johnnybegoodJ 1 条回复 最后回复
    0
    • 於魚之愛於 於魚之愛

      大家都在用qwen 3.8 - 27B模型,请问下这个模型在编程、文学方面怎么样?和目前deepseek v4 flash 差多少。

      johnnybegoodJ
      johnnybegoodJ
      johnnybegood
      王侯将相
      发表于 最后由 编辑
      #17

      @於魚之愛 说:

      大家都在用qwen 3.8 - 27B模型,请问下这个模型在编程、文学方面怎么样?和目前deepseek v4 flash 差多少。

      💻 编程能力对比:本地旗舰 vs 云端快枪
      Qwen 3.8-27B 在编程基准测试上表现抢眼,多项Agentic编程和软件工程评测得分甚至高于Claude Opus 4.6 Max。在SWE-bench Pro上得分61.7,LiveCodeBench v6更是达到90.3分。不过,这些亮眼数据目前主要来自阿里官方,缺乏独立的第三方复现验证。实际使用中,有用户反馈其代码能力的上下限差距较大,在复杂长任务中表现可能不够稳定。

      DeepSeek V4 Flash 则更侧重于“高效交付”。它在Terminal Bench 2.1上得分82.7,LiveCodeBench得分91.6,编程实力不容小觑。其MoE架构使得每次推理仅激活约13B参数,运行速度极快且API成本极低,非常适合需要快速迭代、批量处理代码的开发场景。社区实测中,有用户将其接入编码工具后反馈“works wonderfully”,未出现错误。

      小结:如果你追求本地部署、数据绝对隐私,且硬件配置充足,Qwen 3.8-27B是很好的选择。如果你需要低成本、高并发地处理编程任务,或集成到云端工作流中,DeepSeek V4 Flash的性价比和速度优势明显。

      ✍️ 文学创作对比:中文网文感 vs 全面创意力
      Qwen 3.8-27B 在中文文学创作上展现出独特的“网文质感”。有用户实测其辅助写小说时,能一针见血地指出文案“爽点不够、整体太平”,对爽文节奏的把控优于偏理工型的模型。社区还基于它训练了中文网文风格的LoRA模型,使其在写作时能带有自然的网络小说质感。其原生262K上下文(可扩展至1M)也足以一次性处理整本小说进行总结或改写。

      DeepSeek V4 Flash 的创意写作能力则更为“全面且稳定”。在第三方评测中,其“短篇故事开头”用例得分92.8分,“文学角色”扮演得分87分。正式版在角色扮演方面的提升显著,写文质量据评测可“基本追平GLM 5.2”。它的1M原生上下文非常适合处理超长篇小说,且生成速度快,有评测显示其创意写作速度可达67 tokens/秒,是前代的3倍。

      小结:如果你主要进行中文网络小说创作,且希望模型能理解“爽点”等网文特有概念,Qwen 3.8-27B的针对性更强。如果你需要广泛的创意写作支持(包括科幻、角色扮演等),并追求生成效率和极低的成本,DeepSeek V4 Flash是更稳妥的选择。

      💎 总结与选择建议
      两者的差距并非简单的“谁强谁弱”,而是设计哲学的不同:

      选择 Qwen 3.8-27B,如果你:拥有24GB以上显存的GPU,重视数据隐私和本地离线运行,需要图像/视频理解能力,且主要任务是中文网文创作或Agent编程。

      选择 DeepSeek V4 Flash,如果你:追求极致的API性价比,需要处理超长文本(百万级),看重稳定的云端服务速度,或希望模型在广泛的创意写作和编程任务中都有均衡表现。

      1 条回复 最后回复
      0
      • 苏福尔苏
        苏福尔苏
        苏福尔
        发表于 最后由 苏福尔 编辑
        #18

        测试平台 尔英12700H DDR4 64G 技嘉3090 24G
        chart_dashboard.png
        chart_speed_comparison.png
        ![chart_token_composition.png](https://upload.lczScreenShot_2026-09-16_141120_460.png
        .me/uploads/9cf793af-b18b-4eb8-bdb4-ec1a8fe535a9.png)
        chart_ttft.png
        chart_comparison.png

        johnnybegoodJ terryT 2 条回复 最后回复
        1
        • 苏福尔苏 苏福尔

          测试平台 尔英12700H DDR4 64G 技嘉3090 24G
          chart_dashboard.png
          chart_speed_comparison.png
          ![chart_token_composition.png](https://upload.lczScreenShot_2026-09-16_141120_460.png
          .me/uploads/9cf793af-b18b-4eb8-bdb4-ec1a8fe535a9.png)
          chart_ttft.png
          chart_comparison.png

          johnnybegoodJ
          johnnybegoodJ
          johnnybegood
          王侯将相
          发表于 最后由 编辑
          #19

          @苏福尔 这个也太猛了, 不知道做了什么优化?

          1 条回复 最后回复
          0
          • 毅袁毅
            毅袁毅
            毅袁
            发表于 最后由 编辑
            #20

            也部署了这个仓库:vLLM vs llama.cpp 同条件 A/B(3090 单卡,128K 上下文)

            楼主好,也部署了这个仓库(vLLM 0.28 + W4A16 AutoRound-fast + DFlash2),同样是单卡 3090 24G。但我的用法和楼主不太一样:我是拿它给 agent 长会话(DSH)当后端,每步平均上下文约 79K token,比仓库标准测速的 ~190 token 深得多。所以顺手做了 vLLM 和 llama.cpp 的同条件 A/B 对比,数据放出来供参考。

            部署配置

            项 vLLM 侧 llama.cpp 侧
            硬件 RTX 3090 24G 独占(功耗墙 280W),另有 3070 8G 未参与 同左
            环境 Windows 10 + WSL2 (Ubuntu),vLLM 0.28.0 原生 venv llama.cpp,Windows 原生
            模型 Qwen3.8-27B-W4A16-AutoRound-fast(项目自带,与楼主同款) Qwen3.8-27B-Uncensored-Q4_K_M.gguf
            KV 精度 int8(int8_per_token_head,CTX=long) q8_0
            上下文上限 131072 131072
            投机解码 DFlash2,7 草稿 draft-mtp,3 草稿
            视觉塔 启用 启用(mmproj F16)

            环境备注:Docker 路线放弃了——NVIDIA Container Toolkit 的 nvidia.github.io 源国内实测 0~1 KB/s,清华/中科大/阿里云镜像全 404/403。改走 WSL2 原生 venv + 离线 wheel(torch/vllm/triton/flashinfer 共 180 个 wheel 离线备好),装完不需要 toolkit。

            测试口径(保证可比性的 5 条)

            1. decode = completion_tokens / (total − ttft),严格剔除预填,绝不把 prefill 平均进去
            2. 用真实提示词(仓库文档 + vLLM 源码,约 3.2 MB),不用随机 token——投机解码接受率完全取决于草稿能否猜中,随机 token 跑分没有意义
            3. 每个提示词加盐,避免被前缀缓存服务,测到的才是「冷」预填
            4. 先预热再测,丢弃首轮(含 JIT 编译,读数偏低 30~50%)
            5. 两侧都关思考(enable_thinking: false)——否则思考 token 会把 max_tokens 预算吃光,两边不可比(实测:不关时 16 token 全被思考占掉,content 为空)

            实测数据

            冷预填

            上下文 vLLM llama
            ~1K 1141 t/s(0.90s) 977 t/s(1.05s)
            ~3.8K 1141 t/s(3.37s) 1083 t/s(3.54s)
            ~15.7K 936 t/s(16.78s) 1070 t/s(14.68s)
            ~44K 645 t/s(67.44s) 936 t/s(47.08s)

            vLLM 预填随上下文衰减明显(1141→645),llama 平稳得多(977→936),15.7K 起反超,44K 处快 45%。

            ★ 深上下文 decode(核心发现)

            上下文 vLLM llama 胜负
            ~1.9K 96.4 t/s 48.7 t/s vLLM 2.0×
            ~7.6K 72.1 t/s 50.7 t/s vLLM 1.4×
            ~23K 40.7 t/s 44.9 t/s llama 1.1×
            ~44K 29.2 t/s 42.4 t/s llama 1.45×
            ~75K 18.2 t/s 42.0 t/s llama 2.3×

            差距不在绝对速度,在衰减曲线的形状:

            vLLM : 96.4 → 18.2 t/s   掉 −81%   ← 断崖式衰减
            llama: 48.7 → 42.0 t/s   掉 −14%   ← 几乎平坦
            

            交叉点在 20K 附近:浅上下文 vLLM 快一倍,深上下文 llama 反超且差距持续拉大。

            前缀缓存(对 agent 场景价值最大的一项)

            冷 TTFT 热 TTFT 加速 命中率
            vLLM 39.38s 2.17s 18.2× 96%
            llama 31.65s 0.21s 147.6× 100%

            agent 场景反复发送同一前缀(工具定义 + 历史消息),llama 热启动几乎瞬时,这项差异直接体现在每一轮的响应延迟上。

            根因分析

            vLLM 为什么深上下文崩得快:

            1. 投机解码验证开销随上下文线性增长:DFlash2 每步要对 7 个草稿 token 做一次多查询验证注意力,上下文越长这一步的 KV 读取越贵。DFlash2 接受率 48.0%、tokens/step 4.36——这是它浅上下文快 2 倍的直接原因,但这个优势随上下文增长迅速蒸发
            2. int8 KV 反量化开销:CTX=long 用 int8_per_token_head 配 Triton attention 反量化,llama 的 q8_0 KV 有更成熟的 dequant 路径
            3. CUDA graph 捕获尺寸限制:为了不 OOM,max_cudagraph_capture_size 被压到 32,深上下文的部分 shape 落到 eager 路径

            llama 为什么能保持平坦:draft-mtp 是模型自带的 MTP 头(非独立草稿模型),验证成本远低于 DFlash2 的 7 草稿 + 路径选择器,GGML 的 KV 管理也更直接。代价是浅上下文只有 vLLM 的一半——MTP 接受率不如 DFlash2。

            结论与建议

            场景 推荐 理由
            agent 长会话(20K+ 上下文) llama.cpp 75K 处快 2.3×;热启动 0.21s
            短问答 / 单轮任务 vLLM 1.9K 处快 2.0×
            需要视觉 两者都支持 都加载了视觉塔

            我的当前决策:日常主力切回 llama.cpp,vLLM 方案完整保留作备选。

            给楼主和各位两个提示:

            1. 仓库标准测速(8 条真实聊天 prompt,~190 token)覆盖的是 vLLM 占优的浅上下文区间;如果拿来做 agent 长会话,建议补一组深上下文 decode 测试(23K/44K/75K),否则断崖要等真实使用才会暴露
            2. 「128K prefill 1200t/s」应该是前缀缓存开启 + 固定 prompt 的口径;我们的「冷预填」(加盐防前缀缓存命中)在 44K 是 645 t/s 且还在衰减。两个数字都对,口径不同

            顺带:无审查版也测了

            leminkozey/Qwen3.8-27B-Uncensored-W4A16-AutoRound(同 AutoRound W4A16 配方,abliterated 无审查版):DFlash2 接受率 52.2%(略高于官方版 48.0%)、tokens/step 4.66,浅上下文 ~100 tok/s,245K 上下文。深上下文衰减曲线与官方版一致——瓶颈在 vLLM/DFlash2 侧,不在模型侧。

            一个 Qwen3.8 的坑(与部署无关但很影响体验)

            Qwen3.8 官方 chat_template.jinja 默认 reasoning_effort=xhigh,思考 token 会把输出预算烧光导致 content 为空(实测同问题 xhigh=373 token / low=136 / enable_thinking=false=28,答案质量无差异)。vLLM 侧用请求参数 {"chat_template_kwargs": {"enable_thinking": false}} 即可覆盖,不用换模板。

            johnnybegoodJ 1 条回复 最后回复
            1
            • 毅袁毅 毅袁

              也部署了这个仓库:vLLM vs llama.cpp 同条件 A/B(3090 单卡,128K 上下文)

              楼主好,也部署了这个仓库(vLLM 0.28 + W4A16 AutoRound-fast + DFlash2),同样是单卡 3090 24G。但我的用法和楼主不太一样:我是拿它给 agent 长会话(DSH)当后端,每步平均上下文约 79K token,比仓库标准测速的 ~190 token 深得多。所以顺手做了 vLLM 和 llama.cpp 的同条件 A/B 对比,数据放出来供参考。

              部署配置

              项 vLLM 侧 llama.cpp 侧
              硬件 RTX 3090 24G 独占(功耗墙 280W),另有 3070 8G 未参与 同左
              环境 Windows 10 + WSL2 (Ubuntu),vLLM 0.28.0 原生 venv llama.cpp,Windows 原生
              模型 Qwen3.8-27B-W4A16-AutoRound-fast(项目自带,与楼主同款) Qwen3.8-27B-Uncensored-Q4_K_M.gguf
              KV 精度 int8(int8_per_token_head,CTX=long) q8_0
              上下文上限 131072 131072
              投机解码 DFlash2,7 草稿 draft-mtp,3 草稿
              视觉塔 启用 启用(mmproj F16)

              环境备注:Docker 路线放弃了——NVIDIA Container Toolkit 的 nvidia.github.io 源国内实测 0~1 KB/s,清华/中科大/阿里云镜像全 404/403。改走 WSL2 原生 venv + 离线 wheel(torch/vllm/triton/flashinfer 共 180 个 wheel 离线备好),装完不需要 toolkit。

              测试口径(保证可比性的 5 条)

              1. decode = completion_tokens / (total − ttft),严格剔除预填,绝不把 prefill 平均进去
              2. 用真实提示词(仓库文档 + vLLM 源码,约 3.2 MB),不用随机 token——投机解码接受率完全取决于草稿能否猜中,随机 token 跑分没有意义
              3. 每个提示词加盐,避免被前缀缓存服务,测到的才是「冷」预填
              4. 先预热再测,丢弃首轮(含 JIT 编译,读数偏低 30~50%)
              5. 两侧都关思考(enable_thinking: false)——否则思考 token 会把 max_tokens 预算吃光,两边不可比(实测:不关时 16 token 全被思考占掉,content 为空)

              实测数据

              冷预填

              上下文 vLLM llama
              ~1K 1141 t/s(0.90s) 977 t/s(1.05s)
              ~3.8K 1141 t/s(3.37s) 1083 t/s(3.54s)
              ~15.7K 936 t/s(16.78s) 1070 t/s(14.68s)
              ~44K 645 t/s(67.44s) 936 t/s(47.08s)

              vLLM 预填随上下文衰减明显(1141→645),llama 平稳得多(977→936),15.7K 起反超,44K 处快 45%。

              ★ 深上下文 decode(核心发现)

              上下文 vLLM llama 胜负
              ~1.9K 96.4 t/s 48.7 t/s vLLM 2.0×
              ~7.6K 72.1 t/s 50.7 t/s vLLM 1.4×
              ~23K 40.7 t/s 44.9 t/s llama 1.1×
              ~44K 29.2 t/s 42.4 t/s llama 1.45×
              ~75K 18.2 t/s 42.0 t/s llama 2.3×

              差距不在绝对速度,在衰减曲线的形状:

              vLLM : 96.4 → 18.2 t/s   掉 −81%   ← 断崖式衰减
              llama: 48.7 → 42.0 t/s   掉 −14%   ← 几乎平坦
              

              交叉点在 20K 附近:浅上下文 vLLM 快一倍,深上下文 llama 反超且差距持续拉大。

              前缀缓存(对 agent 场景价值最大的一项)

              冷 TTFT 热 TTFT 加速 命中率
              vLLM 39.38s 2.17s 18.2× 96%
              llama 31.65s 0.21s 147.6× 100%

              agent 场景反复发送同一前缀(工具定义 + 历史消息),llama 热启动几乎瞬时,这项差异直接体现在每一轮的响应延迟上。

              根因分析

              vLLM 为什么深上下文崩得快:

              1. 投机解码验证开销随上下文线性增长:DFlash2 每步要对 7 个草稿 token 做一次多查询验证注意力,上下文越长这一步的 KV 读取越贵。DFlash2 接受率 48.0%、tokens/step 4.36——这是它浅上下文快 2 倍的直接原因,但这个优势随上下文增长迅速蒸发
              2. int8 KV 反量化开销:CTX=long 用 int8_per_token_head 配 Triton attention 反量化,llama 的 q8_0 KV 有更成熟的 dequant 路径
              3. CUDA graph 捕获尺寸限制:为了不 OOM,max_cudagraph_capture_size 被压到 32,深上下文的部分 shape 落到 eager 路径

              llama 为什么能保持平坦:draft-mtp 是模型自带的 MTP 头(非独立草稿模型),验证成本远低于 DFlash2 的 7 草稿 + 路径选择器,GGML 的 KV 管理也更直接。代价是浅上下文只有 vLLM 的一半——MTP 接受率不如 DFlash2。

              结论与建议

              场景 推荐 理由
              agent 长会话(20K+ 上下文) llama.cpp 75K 处快 2.3×;热启动 0.21s
              短问答 / 单轮任务 vLLM 1.9K 处快 2.0×
              需要视觉 两者都支持 都加载了视觉塔

              我的当前决策:日常主力切回 llama.cpp,vLLM 方案完整保留作备选。

              给楼主和各位两个提示:

              1. 仓库标准测速(8 条真实聊天 prompt,~190 token)覆盖的是 vLLM 占优的浅上下文区间;如果拿来做 agent 长会话,建议补一组深上下文 decode 测试(23K/44K/75K),否则断崖要等真实使用才会暴露
              2. 「128K prefill 1200t/s」应该是前缀缓存开启 + 固定 prompt 的口径;我们的「冷预填」(加盐防前缀缓存命中)在 44K 是 645 t/s 且还在衰减。两个数字都对,口径不同

              顺带:无审查版也测了

              leminkozey/Qwen3.8-27B-Uncensored-W4A16-AutoRound(同 AutoRound W4A16 配方,abliterated 无审查版):DFlash2 接受率 52.2%(略高于官方版 48.0%)、tokens/step 4.66,浅上下文 ~100 tok/s,245K 上下文。深上下文衰减曲线与官方版一致——瓶颈在 vLLM/DFlash2 侧,不在模型侧。

              一个 Qwen3.8 的坑(与部署无关但很影响体验)

              Qwen3.8 官方 chat_template.jinja 默认 reasoning_effort=xhigh,思考 token 会把输出预算烧光导致 content 为空(实测同问题 xhigh=373 token / low=136 / enable_thinking=false=28,答案质量无差异)。vLLM 侧用请求参数 {"chat_template_kwargs": {"enable_thinking": false}} 即可覆盖,不用换模板。

              johnnybegoodJ
              johnnybegoodJ
              johnnybegood
              王侯将相
              发表于 最后由 编辑
              #21

              @毅袁 你这个测试可能有点问题, 我自己亲自用了两天, 128K上下文的时候, 编程coding也可以到170tok/s 左右。 为什么你的衰减这么严重

              1 条回复 最后回复
              0
              • 苏福尔苏 苏福尔

                测试平台 尔英12700H DDR4 64G 技嘉3090 24G
                chart_dashboard.png
                chart_speed_comparison.png
                ![chart_token_composition.png](https://upload.lczScreenShot_2026-09-16_141120_460.png
                .me/uploads/9cf793af-b18b-4eb8-bdb4-ec1a8fe535a9.png)
                chart_ttft.png
                chart_comparison.png

                terryT
                terryT
                terry
                易有太极
                发表于 最后由 编辑
                #22

                @苏福尔 可以单帖讲讲你的故事,确实很牛逼。

                油管:https://www.youtube.com/@抡锤者

                1 条回复 最后回复
                0
                • JACK 0J
                  JACK 0J
                  JACK 0
                  发表于 最后由 编辑
                  #23

                  今天线下收了一张华硕3090猛禽,等明天装机试一下。

                  1 条回复 最后回复
                  0
                  • 苏福尔苏
                    苏福尔苏
                    苏福尔
                    编写于 最后由 编辑
                    #24

                    3090 单卡开启 Qwen3.8-27B 图像理解实测:VISION=1 即可,文本/DFlash2 全保留,附可证伪验证

                    跟着楼主这套syv-ai/qwen38-27b-rtx3090 部署的,环境完全一致:RTX 3090 24G、SPEC=dflash2 、CTX=long (131072)、PREFIX_CACHE=1 、vLLM 0.28.0。原帖主要讲文本速度,补充一下 图像理解(vision)这条路径 的开启经历,给后来人参考。

                    结论先说:只需要在.env 加一行VISION=1 ,docker compose --profile single up -d 重建即可。 不用换模型、不用动量化、不用牺牲 DFlash2 和上下文长度。

                    1. 模型本来就带完整视觉塔

                    部署用的Qwen3.8-27B-W4A16-AutoRound 不是纯文本模型,config.json 架构是Qwen3_5ForConditionalGeneration ,处理器是Qwen3VLProcessor (图像+视频处理器都在)。关键点:量化时model.visual.* 视觉塔权重被特意排除在 int4 之外、保持 BF16,约 0.85 GiB 。默认启动参数里的--language-model-only 只是把这座塔"摘掉不加载"。

                    2. 实际改了什么

                    Bash

                    运行

                    1
                    2

                    # /root/qwen38-27b-rtx3090/.env 末尾追加 VISION=1

                    启动后命令行变化(PID 1 实测):

                    • 移除:--language-model-only
                    • 新增:--limit-mm-per-prompt {"image":{"count":1}}
                    • 新增:--mm-processor-kwargs {"size":{"shortest_edge":65536,"longest_edge":2097152}}
                      即每轮对话 1 张图、像素上限约 2048 个图像 token(截图/文档照/画面分析足够)。

                    3. 24G 显存是怎么塞下的:视觉塔 CPU offload

                    这个是项目自带的私有补丁(vision-tower-cpu-offload.patch ),VISION_OFFLOAD 默认就是 1:视觉塔 0.85 GiB 权重常驻 锁页主机内存 ,只在图片编码时把对应模块短暂拷上 GPU,编码完即释放。启动日志可见:

                    1
                    2

                    Total CPU offloaded parameters: 0.85 GPU KV cache size: 136,429 tokens

                    README 里作者也写明了:24G 上SPEC=dflash2 + VISION=1 不开 offload 会在 graph capture 阶段 OOM (960MB 的 split-KV verify buffer 分配不出来),开 offload 后 KV 池不缩水,编码输出与常驻显存逐 bit 一致。单图编码代价约 296→333ms(8192-patch,PCIe 4.0),实测中几乎无感。

                    4. 实测数据(2026-09-27)

                    启动后 stable healthy,/health 返回 200。显存 22.8/24 GiB,与纯文本模式基本持平。

                    测试 结果 纯文本回归(中文问答) 正常,0.9s,思考链完整 红底+蓝圆+黄方块,问背景/图形/颜色 "背景是红色;图中有一个蓝色的圆形和一个黄色的正方形。" 全对,image tokens=256 白底黑字 OCR(VISION-OK-2026) 逐字符准确读出,image tokens=100

                    特意用了可证伪的合成图而不是"描述一下这张图"——返回里usage.prompt_tokens_details.multimodal_tokens.image 有计数,能证明图真的进了模型,而不是被静默忽略后瞎编。

                    5. 几个坑/边界,供参考

                    1. 每轮限 1 张图 ,发第 2 张服务端直接 HTTP 400(At most 1 image(s) ),不会 OOM、不影响服务。
                    2. 像素超限只缩放不报错,超大图细节会被压掉。
                    3. 视频理解引擎层支持 (qwen3_5 注册了 image+video 双模态,cv2 解码依赖镜像里自带),但项目只验证过单图路径;而且 vLLM 启动是按最坏情况预留显存的,视频要开必须显式调帧数/分辨率限额,能不能过启动 profiling 是第一道关,目前没开。
                    4. 容器重启策略是no ,开机要手动起。
                    5. 回滚:删掉VISION=1 重建即可(建议先备份.env )。
                      整体感受:楼主这套方案视觉这块属于"功能都在、默认关掉、留了一个官方开关"的状态,开启成本比预想低很多,24G 单卡图文混合用完全可行.
                    PrioP 1 条回复 最后回复
                    0
                    • 苏福尔苏 苏福尔

                      3090 单卡开启 Qwen3.8-27B 图像理解实测:VISION=1 即可,文本/DFlash2 全保留,附可证伪验证

                      跟着楼主这套syv-ai/qwen38-27b-rtx3090 部署的,环境完全一致:RTX 3090 24G、SPEC=dflash2 、CTX=long (131072)、PREFIX_CACHE=1 、vLLM 0.28.0。原帖主要讲文本速度,补充一下 图像理解(vision)这条路径 的开启经历,给后来人参考。

                      结论先说:只需要在.env 加一行VISION=1 ,docker compose --profile single up -d 重建即可。 不用换模型、不用动量化、不用牺牲 DFlash2 和上下文长度。

                      1. 模型本来就带完整视觉塔

                      部署用的Qwen3.8-27B-W4A16-AutoRound 不是纯文本模型,config.json 架构是Qwen3_5ForConditionalGeneration ,处理器是Qwen3VLProcessor (图像+视频处理器都在)。关键点:量化时model.visual.* 视觉塔权重被特意排除在 int4 之外、保持 BF16,约 0.85 GiB 。默认启动参数里的--language-model-only 只是把这座塔"摘掉不加载"。

                      2. 实际改了什么

                      Bash

                      运行

                      1
                      2

                      # /root/qwen38-27b-rtx3090/.env 末尾追加 VISION=1

                      启动后命令行变化(PID 1 实测):

                      • 移除:--language-model-only
                      • 新增:--limit-mm-per-prompt {"image":{"count":1}}
                      • 新增:--mm-processor-kwargs {"size":{"shortest_edge":65536,"longest_edge":2097152}}
                        即每轮对话 1 张图、像素上限约 2048 个图像 token(截图/文档照/画面分析足够)。

                      3. 24G 显存是怎么塞下的:视觉塔 CPU offload

                      这个是项目自带的私有补丁(vision-tower-cpu-offload.patch ),VISION_OFFLOAD 默认就是 1:视觉塔 0.85 GiB 权重常驻 锁页主机内存 ,只在图片编码时把对应模块短暂拷上 GPU,编码完即释放。启动日志可见:

                      1
                      2

                      Total CPU offloaded parameters: 0.85 GPU KV cache size: 136,429 tokens

                      README 里作者也写明了:24G 上SPEC=dflash2 + VISION=1 不开 offload 会在 graph capture 阶段 OOM (960MB 的 split-KV verify buffer 分配不出来),开 offload 后 KV 池不缩水,编码输出与常驻显存逐 bit 一致。单图编码代价约 296→333ms(8192-patch,PCIe 4.0),实测中几乎无感。

                      4. 实测数据(2026-09-27)

                      启动后 stable healthy,/health 返回 200。显存 22.8/24 GiB,与纯文本模式基本持平。

                      测试 结果 纯文本回归(中文问答) 正常,0.9s,思考链完整 红底+蓝圆+黄方块,问背景/图形/颜色 "背景是红色;图中有一个蓝色的圆形和一个黄色的正方形。" 全对,image tokens=256 白底黑字 OCR(VISION-OK-2026) 逐字符准确读出,image tokens=100

                      特意用了可证伪的合成图而不是"描述一下这张图"——返回里usage.prompt_tokens_details.multimodal_tokens.image 有计数,能证明图真的进了模型,而不是被静默忽略后瞎编。

                      5. 几个坑/边界,供参考

                      1. 每轮限 1 张图 ,发第 2 张服务端直接 HTTP 400(At most 1 image(s) ),不会 OOM、不影响服务。
                      2. 像素超限只缩放不报错,超大图细节会被压掉。
                      3. 视频理解引擎层支持 (qwen3_5 注册了 image+video 双模态,cv2 解码依赖镜像里自带),但项目只验证过单图路径;而且 vLLM 启动是按最坏情况预留显存的,视频要开必须显式调帧数/分辨率限额,能不能过启动 profiling 是第一道关,目前没开。
                      4. 容器重启策略是no ,开机要手动起。
                      5. 回滚:删掉VISION=1 重建即可(建议先备份.env )。
                        整体感受:楼主这套方案视觉这块属于"功能都在、默认关掉、留了一个官方开关"的状态,开启成本比预想低很多,24G 单卡图文混合用完全可行.
                      PrioP
                      PrioP
                      Prio
                      体面乡绅
                      编写于 最后由 编辑
                      #25

                      @苏福尔 感谢,有遇到上下文一长,然后速度就变慢的问题吗

                      苏福尔苏 1 条回复 最后回复
                      0
                      • I
                        I
                        iamvirus
                        体面乡绅 硕果累累
                        编写于 最后由 编辑
                        #26

                        prefill就这样,生产就当单线程跑还可以

                        1 条回复 最后回复
                        0
                        • XiaoteX
                          XiaoteX
                          Xiaote
                          编写于 最后由 编辑
                          #27

                          🔥 本帖参与讨论人数已达 15+,入选热议,作者 +3 积分奖励,感谢分享!

                          奖励凭证:热议 +3 分 · 编号 h1656-363-1(系统自动发放,显示稍有延迟)

                          老特的AI助手,DeepSeek Flash驱动,没回你是因为被限速了~直接私信我会被封号~

                          1 条回复 最后回复
                          0
                          • PrioP Prio

                            @苏福尔 感谢,有遇到上下文一长,然后速度就变慢的问题吗

                            苏福尔苏
                            苏福尔苏
                            苏福尔
                            编写于 最后由 编辑
                            #28

                            @Prio 基本上实际工作中用的时候 token/s 80

                            1 条回复 最后回复
                            0
                            • PrioP Prio

                              @johnnybegood 您好贴主,可否分享一下双卡3090的实测速度结果和方案呢,目前单卡的上下文拉不到256k,我正在考虑要不要在买一张3090组双卡,采用这个方案可否实现256k上下文并且速度不知道可以增加多少,跪求测试数据了,感谢!!!!

                              johnnybegoodJ
                              johnnybegoodJ
                              johnnybegood
                              王侯将相
                              编写于 最后由 编辑
                              #29

                              @Prio 前一阵刚新购一张3090,本来想测3090双卡的,结果没用几天就坏了,现在返厂维修阶段。看情况吧。

                              1 条回复 最后回复
                              0

                              你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

                              厌倦了每次访问都刷到同样的帖子?您注册账号后,您下次访问时都将自动回到上次浏览的位置,并可选择接收新回复的通知(通过电子邮件或推送通知)。您还可以收藏帖子、为帖子点赞,以此向其他社区成员表达您的感谢。

                              有了你的建议,这篇帖子会更精彩哦 💗

                              注册 登录
                              回复
                              • 在新帖中回复
                              登录后回复
                              • 从旧到新
                              • 从新到旧
                              • 最多赞同


                              • 登录

                              • 登录或注册以进行搜索。
                              • 第一个帖子
                                最后一个帖子
                              0
                              • 版块
                              • 最新
                              • 标签
                              • 热门
                              • 用户
                              • 群组