@malikwas1f: Ornith-1.0-35B:一个Qwen3.6-35B-A3B的编码微调版本,在真实编码上略优于基础模型(aider 15/30 vs 13)——完整262K…

X AI KOLs Timeline 模型

摘要

宣布Ornith-1.0-35B,一个Qwen3.6-35B-A3B的编码微调版本,在aider基准测试上略优于基础模型。同时推广用于在RTX 3090上运行LLM的club-3090仓库。

🧠 Ornith-1.0-35B:一个Qwen3.6-35B-A3B的编码微调版本,在真实编码上略优于基础模型(aider 15/30 vs 13)——在2× RTX 3090上完整262K上下文速度约109 tok/s,因为它是一个3B激活的MoE。 诚实评估 + 与基础模型直接对比 👇 https://t.co/vV6XRU2arS
查看原文
查看缓存全文

缓存时间: 2026/06/26 10:10

🧠 Ornith-1.0-35B:基于 Qwen3.6-35B-A3B 的编码微调模型,在真实编码任务上略胜基础模型(aider 15/30 vs 13)—— 完整 262K 上下文,在 2× RTX 3090 上约 109 tok/s,因为它是 3B 激活参数的 MoE。真实评估 + 与基础模型正面对决 👇 https://t.co/vV6XRU2arS


noonghunna/club-3090

来源:https://github.com/noonghunna/club-3090

club-3090

在 RTX 3090 上本地运行 LLM 的配方指南。
多引擎(vLLM、llama.cpp、ik_llama)、多模型,设计上与模型无关。如果你有一到两块 RTX 3090,并希望在家、家庭实验室或作为开发后端运行现代 LLM,这个仓库汇集了可工作的配置、补丁和基准测试。

🎯 拥有 4090 或 5090? 这些配置支持跨设备运行——贡献者已经用实测数据对两者进行了测试:我能用 4090 吗?→ · 我能用 5090 吗?→。工具链针对 3090 校准,但配置区分了型号;各型号的注意事项(4090 更紧的闲置显存、5090 的 32 GB 限制)以及跨设备基准行都在 FAQ 中。

🎨 也想生成图像? 图像工作室套件 可在两张 GPU 上同时运行 Ideogram-4 图像生成 + 聊天模型 + Open WebUI——一条命令:bash scripts/setup-image-studio.sh。


快速开始

🪟 在 Windows 上? 以下步骤假设使用 Linux/macOS。请先设置 WSL2 → docs/WSL_SETUP.md(从头到尾)。原生 Windows 仅运行 上游 llama.cpp 二进制——本仓库的工具链均不适用。

# 1. 克隆仓库
git clone https://github.com/noonghunna/club-3090.git
cd club-3090

# 配置文件兼容性工具需要 PyYAML。Ubuntu LTS 通常通过 python3-yaml 提供;
# 否则运行:python3 -m pip install pyyaml

# 2. 选择/下载 + SHA 验证模型(交互式硬件感知选择器)
# (询问你选择哪个模型,然后模型权重放在哪里——选择仓库内默认路径、
# ~/models,或不同驱动器上的自定义路径。要跳过提示:`export MODEL_DIR=/path/to/models` 并传递模型名称。详见 FAQ。)
bash scripts/setup.sh
# 或脚本方式:
# bash scripts/setup.sh qwen3.6-27b

# 3. 选择配置并启动(交互式向导:询问模型 → GPU → 项目显存预算)
bash scripts/launch.sh
# 或让解析器为你的模型 + 硬件选择(.env 固定 ‖ 默认推荐):
# bash scripts/launch.sh --variant qwen3.6-27b/default   # 该模型的默认配置
# 或跳过向导,直接指定配置:
# bash scripts/launch.sh --variant beellama/dflash   # 单卡 BLESSED 默认 —— 代码快速(~100 代码 / 50 叙述 TPS),DFlash 推测解码(⚠️ 非官方多架构镜像;sm_89/120 未验证——见 docs/INFERENCE_ENGINES.md)
# bash scripts/launch.sh --variant ik-llama/iq4ks-mtp   # 单卡 BALANCED 替代 —— ~63/69 TPS,200K 上下文 + 视觉,显存最节省(ik_llama IQK 量化)
# bash scripts/launch.sh --variant llamacpp/default   # 单卡抗悬崖替代 —— 200K @ -ub 512,~51/60 TPS
# bash scripts/launch.sh --variant llamacpp/mtp-vision   # 单卡 49K + MTP + 视觉
# bash scripts/launch.sh --variant vllm/dual   # 双卡 262K + 视觉(vLLM 单卡路径在 #167 上阻塞)
# 或部分标志(向导填充其余):
# bash scripts/launch.sh --model qwen3.6-27b --gpus 0,1
# bash scripts/launch.sh --tp 2 --pp 1   # 覆盖 vLLM 并行度

# 查看本机可运行的变体及每个模型的默认视图
# (按 GPU 数量过滤硬件;添加 --all 查看所有变体):
# bash scripts/switch.sh --list   # 本机可运行
# bash scripts/switch.sh --list --all   # 所有

# 固定自己的默认值,使 bare `launch.sh` 直接启动:
# bash scripts/switch.sh --set-default ik-llama/iq4ks-mtp   # 例如,偏好均衡的 ik-llama 路径而非 beellama 默认;清除:--clear-default qwen3.6-27b

# 4. 冒烟测试(启动器已经打印了此 curl 命令)
curl -sf http://localhost:8020/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"qwen3.6-27b-autoround","messages":[{"role":"user","content":"Capital of France?"}],"max_tokens":200}'

# 5. 运行标准基准测试
bash scripts/bench.sh

# 6. 之后切换,无需重新运行向导:
bash scripts/switch.sh vllm/long-vision   # 例如

# 7. 保持安装为最新(Genesis 版本更新、新 compose 变体、补丁更新):
bash scripts/update.sh

launch.sh 会调用 switch.sh(停止旧配置,启动新配置),然后执行 verify-full.sh,以便你在指向客户端之前确保服务正常运行。所有辅助脚本见 scripts/。

喜欢屏幕界面而非命令行?—— 服务驾驶舱 (c3)

c3 是一个类似 lazydocker 的终端 UI,它将同一个流程 —— 发现 → 服务 → 操作 → 验证 —— 集成在一个键盘驱动的驾驶舱中:浏览目录并用 ⏎ 启动一个变体,查看实时 GPU / 场景 / 容器,运行 Doctor 健康检查,以及(生产者通道)走通添加模型的流程。

# 从仓库目录安装(驾驶舱 + 仓库内核心包):
uv pip install -e tools/serve-cockpit   # 使用 uv(推荐——一条命令)
# ...或普通 pip:
pip install -e tools/tui-core && pip install -e tools/serve-cockpit
c3   # 启动(也可:python -m club3090_cockpit)

首次运行: 按 S → 设置 Model Dir(权重下载位置)+ HuggingFace token → Ctrl+S 保存;然后按 r 浏览目录并启动一个服务。c3 --lean(或应用内 [C])隐藏生产者通道,仅显示消费者视图。执行 git pull 后,重新运行安装命令以获取新依赖和 UI 更改。完整快捷键及详情 → tools/serve-cockpit/。

⚠️ 单卡长上下文注意: Cliff 2(在 >~50K 单提示时 GDN 预填充 OOM)在 24 GB 单卡 vLLM 上仍然存在。Genesis v7.72.2 PN59 本应修复,但未在分块预填充中生效。解决方法: vllm/dual(TP=2 可避开)或 llamacpp/default(不同引擎,无悬崖)。完整诊断见 docs/CLIFFS.md。


简而言之 —— 这是什么

  • 两条互补路线 —— 根据你的工作负载选择:
    • 🏎 vLLM 双卡 = 最大吞吐量。最高 127 TPS 代码(DFlash)或 4 并发流 @ 262K(turbo)。完整功能栈(视觉·工具·MTP·流式)。
    • 🛡 llama.cpp 单卡 = 最大鲁棒性。单张 3090 上 完整 200K 上下文(最大安全——边界充足,见 CLIFFS)。经过压力测试:无预填充悬崖,25K 令牌工具返回正常,91K needle 阶梯测试通过。~51 / 60 TPS(Q4_K_M + MTP)—— 比 vLLM 双卡慢,但在真实使用工具的 agent 上不会崩溃。
  • 经过验证的 Docker compose 配置,适用于两条路线 —— 内嵌 OpenAI 兼容 API,端口 localhost:8020
  • 多引擎:vLLM(完整功能)、llama.cpp(最大上下文+鲁棒性)、ik_llama(最佳 GGUF 量化)。(已评估 SGLang —— 目前在 Ampere 上受阻;见 docs/engines/SGLANG.md。)
  • 与模型无关:目前提供 Qwen3.6-27B 及其同类模型的精选配置;结构随模型添加而扩展
  • 通用 pull(v0.8.0,v0.8.2 扩展)—— 评估任何 safetensors HF 仓库,获得诚实的单行适配结论(--recommend),当 pull 硬阻塞时,在同意后一步发送脱敏诊断(--submit-last)。每次发布扩大架构覆盖范围。见 docs/PULL.md

刚接触本地 AI? → docs/LOCAL_AI_PRIMER.md —— 白话英语:硬件 / 引擎 / 模型大小 / 量化如何配合。

新用户? → docs/GETTING_STARTED.md —— 5 分钟从克隆到 curl。

已在运行,想比较引擎? → docs/engines/

选择引擎(vLLM / llama.cpp / ik_llama)? → docs/INFERENCE_ENGINES.md

量化名称令你困惑(Q4_K_M vs IQ4_KS vs AWQ)? → docs/QUANTIZATION.md

硬件问题(4090、NVLink、功率限制)? → docs/HARDWARE.md

不知道 TPS / KV / MTP 是什么意思? → docs/GLOSSARY.md


选择你的路径

你拥有从这里开始
1× RTX 3090docs/SINGLE_CARD.md —— 工作负载 → 配置 → 快速开始
2× RTX 3090(PCIe / NVLink 自动检测)docs/DUAL_CARD.md —— 工作负载 → 配置 → 快速开始
3+ GPU(任何型号 —— 4× 3090、8× A6000、混合)docs/MULTI_CARD.md —— TP 缩放数学、从 dual.yml 推导、有效 TP 值
不在支持列表中的模型 / 任何 HF safetensors 仓库docs/PULL.md —— 通用 pull 流程:根据 KV 数学进行评估,诚实地说明置信度
考虑自托管 vs 云 APIdocs/COMPARISONS.md —— 成本交叉点 + 各自的优势

每个硬件页面列出该卡数下的所有支持模型及其可用配置,加上实测 TPS 和每种工作负载的陷阱。特定模型的深度分析(量化、Genesis 补丁、引擎内部)位于 models/<model>/ 下。


支持模型

模型状态卡数引擎亮点
Qwen3.6-27B生产就绪 ⭐1× / 2× 3090vLLM ✅ · llama.cpp ✅ · ik_llama ✅视觉·工具·MTP n=3 · 最高 262K 上下文 · vLLM 双卡 = 89/127 TPS · llama.cpp 单卡 = 200K 最大安全,无预填充悬崖 · ik_llama IQ4_KS = ~60/69 TPS(最快的单卡)
Gemma 4 31B生产就绪1× 1 / 2× 3090vLLM ✅(双卡)· llama.cpp ⚠️(社区分支;主线因 FA hdim=512 受阻)视觉·工具·MTP n=3(Google 官方草稿模型)或 DFlash n=7(z-lab 草稿模型)· 通过 INT8 PTH KV 实现最高 262K 上下文(PR #40391 供应商版本)· MTP 双卡 = 106/141 TPS @ 32K,95/126 @ 262K · DFlash 双卡 = 105/177 TPS @ 32K(代码最优)· beellama.cpp = 单卡默认 ⭐ 47/88 TPS,131–200K 上下文,109–114/150 8-pack(讨论 #239)
Qwen3.6 35B-A3B生产就绪(ik-llama 单卡 · vLLM 双卡)1× / 2× 3090vLLM ✅ · ik_llama ✅ · llama.cpp ✅(主线可运行——见 docs/HARDWARE.md;ik_llama 是官方单卡路径)MoE(256 专家 × 8 活跃,约 3 B 活跃参数) · 视觉·工具·ik_llama fit-mtp.yml 单卡(Mudler APEX I-Compact) = 103/149 TPS @ 196K,hermes 11/20 + aider 12/30 + cli 12/40(PR #243)· ik_llama byteshape-iq4xs 单卡 = 113/129 TPS @ 完整 262K,110/150 8-pack(PR #293)· vLLM 双卡 = 178/174 TPS @ 262K + 视觉(v0.22.0 稳定版;在该 MoE 上 TP=2 时 MTP 净负)
Gemma 4 26B-A4B通过 AWQ 生产就绪(Intel AutoRound INT4 在 Ampere 上受阻)2× 3090 2vLLM ✅(AWQ 覆盖)· llama.cpp ❌MoE(128 专家 × 8 活跃,约 4 B 活跃参数) · 视觉·工具·AWQ 双卡 = 139/139 TPS @ 32K,CV 0.2% / 0.0%

1 单卡 Gemma 4 在 Ampere 24 GB 上:vLLM + 主线 llama.cpp 受阻(head_dim=512 FA 障碍,尚无 Ampere FA 内核)。社区 beellama.cpp 分支以 FA_ALL_QUANTS=ON 构建,在单张 3090 上正常运行 —— 47/88 TPS,100–150K 上下文,109/114 8-pack(2026-05-27 验证)。32 GB+ GPU 可运行标准 vLLM 路径(已在 RTX 5090 32 GB 上由 @apnar 验证)。 2 Gemma 4 26B-A4B 单卡尚未在 Ampere 上测试;应在 24 GB 3090 上以中等上下文适配,但配置目前仅限双卡。更多模型即将推出 —— 它们将放在 models/<model>/ 下,采用相同的内部模式。


实测 TPS 一览

Qwen3.6-27B 各配置的 TPS
基准测试协议:3 次预热 + 5 次测量。方法见 scripts/bench.sh。各配置详情 + 逐次运行数据 + 显存 + AL/接收率: models/qwen3.6-27b/CHANGELOG.md。


基准测试

在自己的机器上复现上述数字。所有基准测试针对 当前正在运行 的配置(先通过 launch.sh 启动一个)。

吞吐量(TPS) —— 标准叙述 + 代码基准(每个提示 3 次预热 + 5 次测量):

bash scripts/bench.sh

行为质量 —— 工具调用正确性、指令遵循、结构化输出等,通过 benchlocal-cli:

bash scripts/quality-test.sh               # --medium: 5 个包(默认,约 15-25 分钟,无需 Docker)
bash scripts/quality-test.sh --quick       # 2 个包(约 5-10 分钟,无需 Docker)
bash scripts/quality-test.sh --full        # 8 个包 / 150 个场景(约 25-40 分钟,需要 Docker)
bash scripts/quality-test.sh --pack aider-polyglot-30   # 单个命名包
bash scripts/quality-test.sh --reasoning   # HE+/LCB/GPQA(gated)/GSM 推理套件——独立于 --full;代码包需要 Docker

完整重新基准测试(一个模型,所有项目) —— 标准 5 步流程(bench → verify-stress → quality-test --full → soak → aider-polyglot-30),每段约 1.75-2 小时。所有产物放在 results/rebench/<model>/ 下:

bash scripts/rebench-full.sh                         # 从 MODEL 自动标记
bash scripts/rebench-full.sh --tag qwen-int8         # 显式标记
bash scripts/rebench-full.sh --skip soak,aider       # 跳过阶段(CSV)
bash scripts/rebench-full.sh --resume                # 恢复中断的运行(跳过已完成步骤)
# 端点优先模式(非 Docker 引擎:llama-swap、ramalama、原生 llama-server 等):
bash scripts/rebench-full.sh \
  --url http://HOST:PORT --model 'MODEL-NAME' --engine llama-cpp   # vllm|llama-cpp|sglang|other

在不同模型上运行两次 rebench-full.sh 以组装匹配配置的正面对决。完整测试流水线参考: docs/QUALITY_TEST.md。


诊断

当提交 bug、共享跨设备数据或回复分类线程时,生成一份可直接粘贴的诊断报告 —— 它捕获硬件、操作系统、GPU、容器运行时、栈版本和活动容器状态,格式为 markdown。默认隐藏主目录路径、主机名、用户名和 HF 令牌,因此可以安全地粘贴到公开 issue 或讨论中。

# 快速报告(约 2 秒)—— 硬件 + 栈 + 启动日志亮点
bash scripts/report.sh

# 将完整跨设备传递捕获到文件中,准备粘贴到 issue/讨论中
# (约 35 分钟——使用 --full 进行约 2 秒的仅硬件捕获)
bash scripts/report.sh --full > my-rig.md

# 添加实时测试输出(根据线程需要选择):
bash scripts/report.sh --verify      # + verify-full.sh(约 1-2 分钟)
bash scripts/report.sh --stress      # + verify-stress.sh 7/7(约 5-10 分钟)
bash scripts/report.sh --soak        # + 持续 soak(约 25 分钟)—— 捕获 Cliff 2b
bash scripts/report.sh --bench       # + bench.sh TPS(约 3 分钟)
bash scripts/report.sh --full        # 全部四个 —— 标准“所有”跨设备传递(约 35 分钟)

# 仅内部共享(禁用隐藏):
bash scripts/report.sh --no-redact

--soak 是独立标志,因为一个配置可能通过验证 + 压力 + 基准测试,但在多轮持续 soak 中失败(Cliff 2b,约 25K 累积令牌)—— 目前 soak 是唯一能捕获这种 agentic 工作负载失败模式的测试。见 docs/CLIFFS.md。

如果 launch.sh / switch.sh 无法启动 —— 直接加载 compose

启动脚本将启动包装在预检(硬件 / 空闲显存检查)、.env 解析和 Python 驱动的变体→compose 注册表中。如果其中任何一个出错 —— 错误的预检失败、Windows 上的 CRLF/.env 问题或缺少 PyYAML —— 绕过它们,用纯 Docker 启动 compose。两种升级方案(假设您已下载权重 —— 快速开始步骤 2):

# 1. 仅跳过硬件 / 空闲显存预检(保留 .env + 注册表):
bash scripts/switch.sh --force llamacpp/default

# 2. 完全绕过脚本 —— 直接用 Docker 启动 compose 文件。
# 将 MODEL_DIR 设置为权重所在位置(示例:~/models)
export MODEL_DIR=~/models
docker compose -f composes/llamacpp.default.yml up -d

相似文章