2026年11月11日
RTX-3060-Runs-125B-Locally
详解如何在一张 12GB 显存的 RTX 3060 上,利用 MoE 显存缓存与 Speedy 引擎本地运行千亿大模型 Qwen3.8-125B。包含整机硬件基线、83.6GB 双分片 GGUF 下载配置、真实跑分中位数与 18 个高频避坑排雷。

RTX 3060 12GB 本地运行 125B 大模型全记录:Speedy 部署实测与避坑指南

导读与真实性边界说明:千亿参数 MoE 大模型(83.6GB 双分片权重 + 120K 超长上下文),在一张二手千余元的甜品卡上究竟能跑出什么水平?本文完整记录了我们在 NVIDIA RTX 3060 12GB + Ryzen 7 3700X + 96GB 系统内存(Linux 显示约 94GiB)+ Ubuntu 24.04 实测环境中,基于 DevDock-AI/Speedy (e307537) 运行 ISTA-DASLab Qwen3.8-Flash-Next-GSQ-RCO-GGUF (IQ3_S) 的测试数据与公开部署路线:六轮冷启动基准(reused=0)下 32K/120K Prefill 中位数达 1,005.3 / 920.1 tok/s、Decode 中位数达 59.1 / 68.2 tok/s,日常单轮监控演示约 70.6 tok/s。

⚠️ 适用范围声明:原视频实测成绩来自历史测试记录(复用已适配 CUDA 12.0.140 的 bin/strata 与既有模型资产,原测试机现已退役)。下文的新机部署步骤依据当前 Speedy 官方公开文档整理,并非在全新系统上重复验收的“一键保证书”;不同内存容量、驱动与源码提交下的性能存在差异,请先核对硬件与磁盘余量再操作。

🎬 本期配套视频已同步上线:
– YouTube 中文频道(@chen_yang):RTX 3060 12GB 挑战 125B 大模型实测与复现
– B站官方频道(玩客笔记):RTX 3060 12GB 竟然跑起了 125B!Speedy 完整部署教程,实测每秒 70 Token(BV1Ng4E6YEnY)


一、先算清“三级异构存储”总账:12GB 只是显存,不是整机内存

在本地大模型圈子里,最容易误导新手的说法就是“只要一张 12GB 显卡就能跑千亿模型”。

客观的工程事实是:83.6GB 的模型权重不可能凭空塞进 12GB 显存。 这套方案之所以能跑通,靠的是 “12GB GDDR6 显存专家缓存 + 96GB 系统物理内存 + PCIe 4.0×16 负载总线” 的协同配合——因此 16GB / 32GB 系统内存的电脑不能照搬本期 96GB 机器的成绩,也不能把“进程能启动”等同于“能稳定跑到每秒 60~70 Token”。

技嘉 RTX 3060 12GB 物理测试机台实拍

1.1 本期历史实测环境基线(Issue #127)

项目 本期成功实测环境 新机部署提示
显卡 (GPU) NVIDIA GeForce RTX 3060 12GB(负载态 PCIe 4.0×16) Ampere 架构对应 CUDA sm_86;空闲时 PCIe 自动降档属正常节能行为
处理器与内存 Ryzen 7 3700X(8 核 16 线程)/ 约 96GB 物理内存(free -h 约 94GiB) 权重主要由系统 RAM 配合显存缓存服务;更小内存需按官方安装器评估,速度不作保证
本地存储 NVMe SSD IQ3_S 双分片合计 83.6GB(十进制)/ 约 77.9GiB(二进制),另需 packs、MTP、源码与缓存;建议预留 120GB 以上可用空间
操作系统 Ubuntu 24.04 LTS 本教程仅面向 Linux;Windows 的编译链、驱动与 WDDM 显存调度机制不同
驱动与 CUDA NVIDIA Driver 595.99.02 / CUDA Toolkit 12.0.140 当前 Speedy 官方源码构建文档主要面向 CUDA 13.x;切勿为模仿视频随意改动生产机驱动
推理引擎 Speedy commit e307537(启用 MTP 多 Token 预测) 新机从零安装请优先核对当前官方仓库版本与 --help 输出

容量单位提醒:Hugging Face 官方页面标注 IQ3_S 两个分片分别为 54.8GB + 28.8GB = 83.6GB(十进制),在 Linux du 中显示约为 77.9GiB(二进制)。视频口播中提到的“约 79GB”是口语近似,实际核对请以官方文件字节与 SHA256 为准。

1.2 为什么 12GB 显存跑得动?MoE 稀疏激活与显存专家缓存

Qwen3.8-Flash-Next 采用 MoE(混合专家)架构。与每次吐字都要搬运全部权重的稠密(Dense)模型不同,MoE 每一步只激活其中一小部分路由专家与共享专家:

  • 自动显存专家缓存:在本轮实测配置中,Speedy 在 RTX 3060 显存内自动分配了 2,554 个专家槽位(约 4.90GiB 显存缓存),稳态总显存占用控制在 约 11,509 MiB;
  • RAM + VRAM 分层服务:高频命中的热专家直接留在显卡显存内高速计算,未命中的专家由系统大内存经 PCIe 链路按需交换;
  • MTP 投机解码配合:六轮正式测试中 MTP 接受比例为 63.64%–81.82%(注:MTP 接受率代表草稿 Token 验证通过比例,不代表回答内容的事实正确率)。

二、真机实测数据核对:严格区分单轮演示与六轮冷读入中位数

为了杜绝“拿 Prefill 冒充生成速度”或“拿单次面板峰值冒充稳定均值”,我们将两类历史观测记录分开列出:

RTX 3060 实测 Monitor 监控仪表盘

2.1 Issue #127 正式六轮冷读入基准(reused=0)

在关闭缓存复用(reused=0)、32K 与 120K 各连续执行三轮的严格口径下:

测试档位 三轮冷 Prefill 记录 (tok/s) Prefill 中位数 Decode 生成中位数 首次冷读入耗时中位 稳态显存占用
32K 上下文(3 轮) 1005.3 / 1046.9 / 946.2 1,005.3 tok/s 59.1 tok/s 约 32 秒级 ~11,509 MiB
120K 上下文(3 轮) 907.3 / 952.6 / 920.1 920.1 tok/s 68.2 tok/s 130.482 秒(约 130.5 秒) ~11,509 MiB
  • Prefill vs Decode:Prefill 是模型读入提示词的速度,Decode 才是模型逐词生成回答的速度。切勿将 1005.3 tok/s 理解为每秒写出上千个词。
  • 单次历史监控演示说明:视频中出现的 70.6 tok/s(显存 11.6/12GB)以及 5K–30K 多档单轮演示的 70–75 tok/s,属于另一组真实历史单轮监控记录,不能与上方六轮 reused=0 基准混为同一组中位数。

S12 官方 3060 跑分全景图表

2.2 与历史 RTX 3080 10GB 数据的观察对照(非严格单变量 A/B)

S13 历史 3060 vs 3080 对比分析图

在早期 Issue #124 的 RTX 3080 10GB 历史测试中,32K 与 120K 冷 Prefill 中位数分别为 1,307.6 tok/s 与 1,272.7 tok/s。横向对照可见,RTX 3060 12GB 在该历史观测下达到了 3080 约 76.9%(32K) 与 72.3%(120K) 的 Prefill 水平。需要注意:两台测试环境的显卡架构细节、显存容量及具体配置参数并不相同,仅作跨档位参考,不构成严格单变量因果推断。


三、部署实操参考:官方交互式安装与手动源码构建两条路线

以下步骤整理自配套资料包(01_零基础安装部署教程.md 与 02_手动构建与配置参考.md),仅面向本人可管理的 Ubuntu Linux 机器。

第 1 步:安装前只读环境体检(不改系统、不启模型)

打开 Ubuntu 终端,依次确认显卡、CUDA 编译器、整机内存与磁盘剩余空间:

nvidia-smi
nvcc --version
free -h
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT
df -h "$HOME"
python3 --version
cmake --version

解压配套资料包后,也可直接运行纯只读体检脚本:

bash scripts/01_check_environment.sh

判读要点:
– nvidia-smi 右上角显示的 CUDA Version 是驱动最高兼容版本;真正的编译工具链版本以 nvcc --version 为准。若提示找不到 nvcc,先检查 /usr/local/cuda/bin 是否已加入 PATH,切勿盲目覆盖系统驱动。
– 初次运行前确保 RTX 3060 没有被其他大模型服务或高负载图形程序占满显存。

第 2 步:路线 A(推荐新手)— 使用 Speedy 官方 ./setup.sh 准备资产

打开 DevDock-AI/Speedy 官方仓库 并阅读 docs/SOURCE_INSTALL.md。官方交互式 setup.sh 会引导准备 Python 虚拟环境、推理引擎、双分片 GGUF、packs/iq3_s/(含 tokenizer)与 mtp/rt/ 草稿层资源:

mkdir -p "$HOME/projects/ai/speedy-3060-guide"
cd "$HOME/projects/ai/speedy-3060-guide"

git clone https://github.com/DevDock-AI/Speedy.git speedy
cd speedy

git rev-parse --short HEAD
./setup.sh --help

核对当前版本的 --help 参数说明后,可按以下方向准备 IQ3_S、关闭视觉模块并以保守的 32K (32768) 上下文起步验证:

# 注意:--no-start 仅代表准备完成后不立即拉起服务,执行过程中仍会下载大体积模型与依赖
./setup.sh --family qwen --model IQ3_S --context 32768 --vision no --no-start

如果上游新版本的选项名称与上行命令有出入,一律以本机 ./setup.sh --help 输出为准。使用官方安装器时无需再手工重复下载同一套 GGUF。

第 3 步:核对模型双分片文件名与 SHA256 完整性

本期使用的公开量化仓库为 ISTA-DASLab/Qwen3.8-Flash-Next-GSQ-RCO-GGUF(位于 IQ3_S/ 目录)。两个分片必须同时存在:

IQ3_S/
├── Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00001-of-00002.gguf   # 54.8GB(十进制)
└── Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00002-of-00002.gguf   # 28.8GB(十进制)

官方页面与历史 #127 记录一致的参考 SHA256:

00001 分片:4c1eb2ceb4915e1192f4f386021897bde56a97f40a0bb78bb86465e0f7d2aca3
00002 分片:316b46f3a2dbd68c900f43136ab9449f9dcc3725dfd8c794847c204bc161e113

如需单独通过 Hugging Face 官方 CLI 下载(请先确认磁盘余量充足):

python3 -m venv .hfcli-venv
.hfcli-venv/bin/pip install 'huggingface_hub[cli]'

.hfcli-venv/bin/hf download ISTA-DASLab/Qwen3.8-Flash-Next-GSQ-RCO-GGUF \
  --include 'IQ3_S/*' \
  --local-dir "$HOME/projects/ai/qwen38-models"

⚠️ 仅下载两个 GGUF 分片不等于部署完成:Speedy 运行还需要匹配版本生成的 packs/iq3_s/(内含 tokenizer/)与 mtp/rt/ 目录。切勿将不同版本或未知来源的 pack / MTP 文件强行混拼。可使用资料包的只读校验脚本核查目录结构:

# 默认快速核查文件与非空目录存在性,不读取 83.6GB 全量字节
python3 /path/to/EP19_RTX3060_125B_Deployment_Kit/scripts/02_verify_assets.py \
  --weights-dir /YOUR/WEIGHTS/IQ3_S \
  --pack-dir /YOUR/PACKS/iq3_s \
  --mtp-dir /YOUR/STRATA_DATA/mtp/rt \
  --engine "$PWD/build/strata"

# 如需完整计算 83.6GB 双分片哈希比对,再显式追加 --sha256

第 4 步:路线 B(进阶可选)— 手动编译 build/strata 与生成本机配置

熟悉 Linux CMake 构建的用户,可参考官方 docs/BUILD-LINUX.md 针对 RTX 3060 的 Ampere sm_86 架构编译 build/strata(注:历史测试机的 CUDA 12.0.140 最小兼容改动未包含在公开源码中;当前官方构建说明主要面向 CUDA 13 环境):

export PATH=/usr/local/cuda/bin:$PATH
nvcc --version

cmake -S . -B build -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DSTRATA_ENABLE_CUDA=ON \
  -DCMAKE_CUDA_ARCHITECTURES=86 \
  -DSTRATA_MMQ_KQUANTS=ON \
  -DSTRATA_MMQ_TQ_OVERLAY=ON \
  -DSTRATA_NATIVE_EXPERTS=ON \
  -DSTRATA_Q6K_EXPERTS=ON

cmake --build build --target strata -j 4

python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
ls -lh build/strata

生成本机配置文件时,可借助资料包内的单次写入脚本 03_fill_config.py 从仓库官方模板 configs/cards/rtx3080-10gb/1x/strata-iq3_s.json 填充本机真实路径(脚本强制绑定 127.0.0.1 且绝不覆盖已有文件):

mkdir -p configs/mine

python3 /path/to/EP19_RTX3060_125B_Deployment_Kit/scripts/03_fill_config.py \
  --template configs/cards/rtx3080-10gb/1x/strata-iq3_s.json \
  --speedy-root "$PWD" \
  --weights-dir /YOUR/WEIGHTS/IQ3_S \
  --pack-dir /YOUR/PACKS/iq3_s \
  --mtp-dir /YOUR/STRATA_DATA/mtp/rt \
  --out configs/mine/strata-3060-iq3_s.json \
  --context 32768

python3 -m json.tool configs/mine/strata-3060-iq3_s.json >/dev/null

配置重要提醒:仓库内的 rtx3080-10gb/1x/strata-iq3_s.json(及资料包 templates/strata-iq3_s-upstream3080-reference.json)是上游 RTX 3080 10GB 参考形状,并非退役 3060 测试机的原始私有配置。首次运行请先从 --context 32768 起步观察 --kv-resident、--vram-reserve-mib 与引擎日志,确认稳定后再评估是否上调至 131072。

第 5 步:启动本地服务与真实问答验证

当引擎、双分片权重、pack、tokenizer 与 MTP 全部就位后,在 Speedy 根目录启动本地回环服务:

.venv/bin/python serve/server.py \
  --engine strata \
  --config configs/mine/strata-3060-iq3_s.json \
  --port 8080

打开第二个终端执行只读探针检查:

curl -i http://127.0.0.1:8080/health
curl -sS http://127.0.0.1:8080/v1/models

# 或使用资料包只读探测脚本(仅请求 127.0.0.1 的 /health 与 /v1/models)
python3 /path/to/EP19_RTX3060_125B_Deployment_Kit/scripts/04_probe_local.py --port 8080

随后通过自带 WebUI 或本地接口发送一条中文测试问题(例如:“请用中文解释什么是 MoE,并举一个生活中的例子”),确认能返回正常中文回答且 nvidia-smi 同步出现 GPU 计算负载,才算真正部署跑通。


四、高频排错与避坑要点(摘自《05_常见问题.md》)

  1. nvidia-smi 显示 CUDA 13,但 nvcc --version 显示 12,冲突吗?
    不冲突。前者是显卡驱动支持的最高 CUDA 协议版本,后者才是本机实际安装的编译工具链版本。CMake 编译以 nvcc 为准,无需因此盲目升降驱动。
  2. 只下载第 1 个 54.8GB 分片能不能先跑起来?
    不行。第一分片为主模型权重(--native),第二分片含 n-gram 查表与辅助数据(--ple-gguf),缺一不可;同时还需配套版本的专家 pack、tokenizer 与 MTP 目录。
  3. 只有 RTX 3060 12GB + 32GB 系统内存,能跑到 70 tok/s 吗?
    不能保证。本期实测机配有约 96GB 物理内存;内存不足时部分权重读取会退化到磁盘交换甚至触发内存不足退出,切勿按 96GB 机器的表现预期低内存主机。
  4. 提交 120K 超长提示词后两分钟没吐字,是程序卡死了吗?
    未必。历史实测中 120K 冷 Prefill 中位数本身就需要 约 130.5 秒,这属于首次读入上下文的正常计算阶段。请先观察 GPU 利用率与服务日志是否有 OOM 报错,不要误杀正在 Prefill 的进程。
  5. 报 CUDA out of memory 时,能把 --vram-reserve-mib 改成 0 吗?
    不建议。应先排查是否有其他进程占用显存,并从 32768 上下文起步调优;盲目将显存预留清零极易在长上下文推理中途引发崩溃。
  6. 可以把服务改为 0.0.0.0 直接暴露到公网吗?
    默认严禁裸奔开放公网。请保持绑定 127.0.0.1 本机回环;如确需局域网或远程访问,务必先阅读官方 SECURITY.md 配置 API Key 鉴权与访问控制。

五、配套资料包下载、上游仓库与交流社群

本期整理归档的 EP19_RTX3060_125B_部署资料包_v1.zip 文件清单如下:

EP19_RTX3060_125B_Deployment_Kit/
├── README.md                                        # 资料包总览、使用顺序与权限安全边界
├── 01_零基础安装部署教程.md                          # 新手友好的完整图文教程与验证步骤
├── 02_手动构建与配置参考.md                          # CMake sm_86 编译与手动配置填充指南
├── 03_视频画面与命令速查.md                          # 视频镜头命令对照与真实性角标说明
├── 04_实测证据及来源.md                              # #127 六轮基准数据、历史 SHA256 与证据分级
├── 05_常见问题.md                                    # 18 条高频症状与最小排错手册
├── PACKAGE_MANIFEST.json                            # 资料包版本、测试状态与文件字节清单
├── SHA256SUMS.txt                                   # 包内全部文件 SHA256 校验值
├── scripts/
│   ├── 01_check_environment.sh                      # 纯只读机器硬件与工具链检查
│   ├── 02_verify_assets.py                          # 只读双分片 GGUF / pack / MTP 完整性核验
│   ├── 03_fill_config.py                            # 单次写入生成绑定 127.0.0.1 的本机 JSON 配置
│   └── 04_probe_local.py                            # 本机 8080 端口 /health 与 /v1/models 只读探测
└── templates/
    └── strata-iq3_s-upstream3080-reference.json     # 上游单卡 IQ3_S 参考模板(非 3060 原机私有配置)

RTX 3060 12GB × 125B 部署资料包 V1 已上线

查看 RTX 3060 专题资料页 · 打开夸克网盘资料包

内含《EP19_RTX3060_125B_部署资料包_v1.zip》(5 篇中文部署与排错文档、4 个只读/受控辅助脚本、参考配置模板与 SHA256 清单)及《RTX3060本地AI资料中心.pdf》可点击索引。当前 V1 不含 83.6GB 模型权重、引擎二进制或原始测速日志;也可在 B站评论区或私信发送【3060】自动获取。

公开上游源码与模型地址

如果您在本地复现过程中遇到硬件选型、CUDA 工具链兼容或 MoE 显存缓存调优问题,欢迎扫描下方微信二维码添加作者,备注「3060」加入「玩客笔记 · 本地算力极客交流群」一起交流探讨:

玩客笔记作者微信技术交流二维码


本文基于历史实测记录与开源上游公开文档编制,转载请注明出处:玩客笔记 (blog.757688.xyz)

About The Author

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注