排错方案 · 109 条

每一条都来自一次真实排障:先说触发条件,再给版本指纹,最后写失效边界 —— 也就是「什么情况下这条不要照搬」。

环境与安装(27)

pip 装成功了程序还是缺包:多 Python 环境的静默错配

pip 返回 Successfully installed、import 也真的通,程序还是报 ModuleNotFoundError —— 因为机器上同时活着三套 Python。

1 条命令判据 / 5 张对照表 · L1

「装不上就重装」之前,先看四种「装不上」各要多少代价

「装不上就重装环境」在大多数情况下是白做的。四种「装不上」代价完全不同:真正装不上(红字依赖冲突)重装有效;装成功但程序看不见(装错环境)重装完全无效,修复成本只要一条 pip -V;只有某个功能报缺包是可选依赖缺失,单独装那一个;

4 类症状 / 3 张判定表 · L1

Docker / WSL2 里 GPU 用不了:驱动在宿主机,容器里只装 runtime

宿主机的 nvidia-smi 一切正常,进了容器就报 could not select device driver 或 nvidia-smi 找不到 —— 根因是容器默认不把 GPU 传进去…

2 条线 / 8 步 / 10 分钟 · L1

模型加载报 header / deserializing 错:改配置全白搭,先比对文件大小

报 Error while deserializing header 或 unexpected end of file,很多人第一反应是去调参数、换插件 —— 但这类报错改任何配置都没用,因为文件本身就是坏的。

5 步 / 看文件大小 1 分钟 · L1

C 盘突然爆满:模型没存 C 盘,但缓存全在 C 盘

明明把模型都放在了 D 盘,C 盘却一天掉几十 G —— 因为 pip 缓存、HuggingFace 缓存、torch 下载、Docker 镜像、以及各类 appdata 默认都写在 C 盘用户目录。

5 个环境变量 / 10 分钟 · L1

升级一个包整个环境就崩:numpy 1.x/2.x 断代是最经典的那种

pip install -U 随手升一个包,之后程序报 _ARRAY_API not found 或 cannot import name —— 本地 AI 栈依赖极深…

5 步 / 10 分钟 · L1

pip 缓存空间账:list 命令看不见的那 8 个 G

pip cache list 只列可复用的 wheel(本机 7 个共 1.4 MB),HTTP 下载缓存完全不进列表——而它才是空间大头(本机 8454.2 MB / 2844 个文件,两者差约 6000 倍)。

6 步 / 2 分钟 · L0

同名模型多精度副本:白占的 57 个 G

同一个模型在 diffusion_models 里存了四份(fp8 与 fp16 混着),合计约 57 GB。多精度副本的占用是加法、能力却高度重叠——日常只用到其中一份。该按实际用到的版本留一删余,而不是当成备份留着。

6 步 / 5 分钟 · L1

dsh 插件目录的 node_modules 是运行必需品:软链共享会让插件全部不激活

7 个自建 dsh 插件共 2402MB,其中 6 个 node_modules 各占 247MB(protobuf 19MB)。

6 步 / 20 分钟 · L0

改了 OLLAMA_MODELS 也只搬走一半:Ollama 在 C 盘还留 4.35 GiB

把 OLLAMA_MODELS 指到 D 盘只解决了「模型权重放哪」,解决不了「程序本体放哪」和「安装包放哪」。本机实测(Ollama 0.40.

4.350 GiB · 1.540 GiB 安装包 · 占模型库 50.4% · L0

DGX Spark 升级模型没删旧权重:四台白占 1.4TB,其中 616.90 GiB 是硬链接假象

「删了旧目录却没释放空间」的排查法:先按 inode 去重算真实体积,再看链接计数(%n)。本机四台 DGX Spark 实测:每台旧权重 476 GiB,四台名义合计 2,089.

四台各 476 GiB / 名义 2,089.92 GiB / 实释放 1,473.02 GiB · L0

ComfyUI 官方模板就绪度怎么核:502 个模板里只有 4 个能直接跑

判断「这台机器能不能跑某个 ComfyUI 模板」不要看模板总数,要三查:一查模板是否吃本地权重(api_ 前缀的 231 个发请求到厂商服务器)、二查加载器下拉框里有没有对应文件名(那是 ComfyUI 从磁盘真实扫出来的)、三查单个权重…

502 模板 / 305 权重 / 1.04 TiB / 61 小时 · L0

模型库按文件名去重会删错真模型:40 个文件名里有 17 个重名

对模型库做「按文件名去重」是危险的:diffusers 目录里每个模型都有一份 unet/diffusion_pytorch_model.safetensors、text_encoder/model.

57 条目 / 40 名称 / 17 重名 / 可删 43.70 GiB / 不可删 45.03 GiB · L1

Ollama 局域网访问怎么通:三道门 + 2.16 秒启动空窗

Ollama 从「本机能用」到「别的机器能用」要过三层完全不同的检查:应用层绑定地址(OLLAMA_HOST,默认只听 127.0.0.

3 道门 / 17+1 条来源 / 0 条防火墙规则 / 2.16 秒空窗 · L0

本地部署大模型要多少显存:权重只是首付,KV 才是月供

算显存只算权重的结果一定会崩。真实账单 = 权重 + KV 缓存 + 固定开销。以 Nanbeige4.3-33B(33B 稠密)为例:bf16 权重 66,238,009,168 B = 61.69 GiB;

61.69 GiB bf16 / KV 208 KiB 每token / 七档零差值 / 512K=104 GiB / 16G 卡 6-24 档 · L1

本地部署的时间账:加载慢一半不怪硬盘,卡人的是第一次搬权重

同机实测 NVMe 顺序读 2.3 GB/s(绕过 page cache),610 MB 模型纯 IO 只需 0.27 秒,而实测加载要 0.54 秒——差的那一半在解析 GGUF 和建映射,换再贵的盘也省不掉。

610 MB / 69 GB 两档 · NVMe 顺序读写四项 · L1

DGX Spark 双网怎么测:千兆口 118.7 MB/s,200G 环网 16 流 13.8 GB/s

同一批文件,千兆管理网实测 118.7 MB/s,200G 环网 16 流 13796.5 MB/s,差 116 倍。但单流只跑出 4.

约 5 步 / 30 分钟实测 · L0

llama.cpp 纯 CPU 跑 PLaMo 0.8B:五步命令 + 线程扫到饱和点

一台没有显卡的机器也能跑 0.8B 翻译模型:546.6 MiB 的 GGUF,4 核老机器全核 7.59 tok/s 已经能用,单线程只有 2.01。

约 5 步 / 25 分钟 · L0

本地部署模型放哪块盘:三介质同一套方法测出来的配盘顺序

同一份 288.46GB 权重,DGX Spark #1 板载 NVMe 读进去 25 秒,NAS 上 0.93 小时,差 135 倍。

4 步 / 约 20 分钟(含造测试文件) · L0

模型权重从下载到上机:四跳链路 + 校验一跳的完整计时

同一份 54.74GB 权重,公网单流 56.7 天、千兆内网 7.8 分钟、200G 环网 4.14 秒,差 118 万倍。但搬完还有一跳没人提:校验。

54.74GB 权重 / 四跳链路 · 未标注

ARM 小机跑端侧模型的三个前置门槛:指令集、glibc、cmake

4 核 Cortex-A55 的 ARM 盒子(3.9GB 内存、零 swap、Debian 12)跑 llama.cpp 官方 arm64 预编译包,下载 200 成功、运行直接报 GLIBCXX_3.4.32 / GLIBC_2.

5 步 / 约 30 分钟(不含下载与编译) · 未标注

下模型慢不是源的问题:同一天同一个源,五条路径差 180 倍

同一份 573MB 的模型文件、同一天、同一个镜像源,五条路径测出 21.3 / 2.4 / 1.16 / 0.12 MB/s,最慢那条要 79.6 分钟。而走内网只要 4.9 秒(117.1 MB/s,千兆吃到 93.7%)。

3 步 / 约 10 分钟(不含实际下载时间) · 未标注

本地部署 Qwen3.8-Flash-Next:131 个分片怎么放盘,别急着合并

360GB 权重、144 个文件、131 个分片。网上说「分片多所以加载慢」,我按同口径重测:单文件 3184.8 MB/s vs 96 分片 2928.1 MB/s,只差 8.8%。

7 步 / 约 40 分钟(不含 360GB 下载时间) · 未标注

大模型权重跨机搬运怎么开并行:8 路只给 2.68 倍,三个背锅侠全被排除

同一份 475.25GiB(48 个真实 safetensors 分片)在 200G 环网上搬全量:串行 0.9067 GB/s 耗时 562.82 秒,8 路并行 2.4328 GB/s 耗时 209.75 秒,加速比只有 2.

475.25 GiB / 48 分片(真实生产权重) · 未标注

读盘块大小设错,475 GiB 权重多等 85 秒:16MB 是拐点,NAS 上怎么调都没用

同一份 475.25 GiB 真实生产权重(48 个分片、510,296,708,312 B),在三种介质上各读一遍完整全量:Spark #1 板载 NVMe 128MB 块 12.847 GB/s(39.

475.25 GiB(48 分片 / 510,296,708,312 B) · 未标注

Edge0-145B 的 98GB 分三层放:专家库进网络盘,一个 token 要等 6 分钟

Edge0-145B 的 98.13 GiB 不是一份文件,是三层:词表 ple-fp8.gguf 51.20 GB、专家库 experts.bin 40.08 GB、骨架 model-skeleton.gguf 5.

98.13 GiB(93 文件 / ple 51.20GB + experts 40.08GB + 骨架 5.99GB) · 未标注

1.2B 的模型,697MB,3.9G 盒子上只能开官方一半的上下文

LFM2.5-1.2B-Instruct 的 16 层里只有 6 层存 KV(位置 2/5/8/10/12/14),另 10 层是卷积层,压根没有 KV cache。

697.0 MiB(Q4_K_M 单档;仓库 24 文件合计 14.5GB) · 未标注

排障(21)

内网推理服务「偶尔连不上」:先查代理环境变量,别查配置

推理服务明明 curl 得通、端口在听、机器不忙,客户端却报 Connection error,而且「有时能通、有时不通」。

8 步 / 10 分钟 · L1

显存没释放不是显卡坏了:先分清「真占用」和「残进程虚占」

nvidia-smi 显示显存被占了好几 G,但进程列表里看不到程序 —— 这是上个任务异常退出(崩溃或被强杀)后 CUDA context 没归还留下的「虚占」。它和「真显存不足」的处置完全相反:真不足要降负载,虚占要杀残进程或重启服务。

4 条判据 / 5 分钟 · L1

「端口被占用」十次有九次是上次没退干净:换端口只止血,杀残进程才根治

启动报 Address already in use,但自己明明没开第二个实例 —— 因为「关窗口」不等于「进程退出」,服务常跑在子进程里,Ctrl+C 只断了前台。

5 步 / 3 分钟 · L1

显存明明够却 OOM:先看报错里 reserved but unallocated 是不是大于 1GB

按计算显存明明够,还是报 CUDA out of memory —— 但报错里那句「If reserved but unallocated memory is large」暴露了真相:显存被缓存分配器预留成碎片了…

4 步 / 5 分钟 · L1

本地服务起来了、API 却调不通:先 curl,curl 通就是客户端的事

本地推理服务明明起来了,OpenAI 客户端却报 401 或 404 —— 九成是路径、鉴权、端口三处里的一处对不上:客户端默认请求 /v1/chat/completions,服务实际可能是别的路径;服务要 API key 而客户端没带;

5 步 / 5 分钟 · L1

自定义节点挂了却不报错:重启后查一行日志

ComfyUI 启动日志里一行 IMPORT FAILED,插件管理器自此再没加载;而进程在跑、端口在通、图照出——五个常用「是否正常」判据有四个全绿。根因是 GitPython 已装、但机器上没有 git 可执行文件。

6 步 / 5 分钟 · L0

片子开头空 3 秒没人发现:每道工序各自验收,一定会漏掉工序之间

47 条已发布成片,每一条的开头都是空的 —— 第一次出声全落在 3.2 秒之后。原因很简单:片头视频文件没有音轨,拼接后那 3 秒纯静音被原样接到了最前面。

7 步 / 15 分钟 · L1

三平台各出一条片最后只剩一条:跳过被当成了完成

一条选题分三个平台出片,日志里三行「✓ 成片」体积完全相同(3.96 MB),耗时 75 秒 / 0.3 秒 / 0.3 秒。

7 步 / 20 分钟 · L1

ffmpeg 拼片头不该重编:加 7 秒,全片被重走一遍编码器

成片加 3 秒片头 + 4 秒片尾,两段合计只占发布版体积 1.6%,但产线的 concat 步骤把 116.4 秒正片整段用 libx264 重编了一遍,多出 725,385 字节 = +10.05%。

两路线对照 / 116 秒正片 · L1

Ollama 向量入库静默截断 2048 token:超出部分对检索贡献是精确的零

Ollama /api/embed 在模型上下文上限处静默截断:文档超 2048 token 后接口照返 200、照给 768 维向量,无任何报错。实测 2600 字与 4000 字的文档,向量余弦相似度 1.00000000(完全相同)。

整篇 vs 切块 / 检索命中对照 · L1

本地 14B 写长文有天花板:要 5000 字只给 2400,且它自己认为写完了

本机 5090D + Ollama 0.40.4 + qwen2.5:14b(Q4_K_M / 14.8B / 上下文 32768)的长度指令遵守度实测。

5 档长度 · 10 次采样 · 全部 stop · L0

Ollama 冷加载的时间大头不在读盘:小模型 93% 花在固定开销上

本机 RTX 5090D 32GB + Ollama 0.40.4 的「模型冷加载 vs 裸顺序读权重文件」同条件对照。14B 对话模型(qwen2.5:14b Q4_K_M)权重 8,988,110,688 B = 8.

8.371 GiB vs 0.2555 GiB · 各 5 次取样 · L0

模型文件先读头再加载:260 KB 看清 1438 个张量,别让加载器替你全读 16 GiB

safetensors 的文件结构是「8 字节头长度 + 一段 JSON + 权重数据」,JSON 里写明每个张量的名字、形状、精度和字节偏移。

260 KB · 5,671× · 省 36.7% · L0

ffmpeg 字幕每行几个字是算出来的:12 号字 16 字 705px,第 17 个就折行

ASS/SRT 字幕在竖屏 768×1344 里折不折行,由「画面宽 ÷ 字号」决定,不是一个可填的参数。本机实测:微软雅黑 Bold / FontSize=12 / MarginV=80 / 2px 描边下…

705 px · 16 字 · 28.4% · L0

显存到底还剩多少:四种读法差 16GB,面板可能是死的

同一张 RTX 5090D 32GB,同一时刻四种读法给出不同答案:nvidia-smi 直接 NVML 初始化失败(rc=255);torch mem_get_info 报空闲 30.26 GiB;

四口径对照 · 差 16.34 GiB · L1

统一内存机器查显存,四个命令给出四个答案,最大差 17.5 倍

同一台 DGX Spark(GB10,121.7 GiB 统一内存)跑着 DeepSeek-V4.1-Flash,同一时刻四个口径:nvidia-smi 的 used_memory 报 94.43 GiB、docker stats 报 5.

4 台 × 121.69 GiB 统一内存 · L1

多机推理先认清拓扑:环上 rank 顺序就是物理顺序,加机器不加带宽

四台机器之间是环还是交换机,决定了多机推理能不能起来、值不值。实测一根 4 节点环:200G 网卡四条边平均只跑 102.8 Gbps(达成率 51.4%),单条 TCP 更是只有 40 Gbps;

约 6 个命令 / 10 分钟自查 · L0

NAS 能不能当模型盘:随机读差 33 倍,加载 6.5 秒变 4 分 47 秒

同一个 19.53GB 真实权重、同一台主机:本机盘读完 6.5 秒,NAS 上 4 分 47 秒,差 44 倍。而把文件搬上 NAS 本身花了 4 分 26 秒——搬一次够本机加载 41 次。

约 6 步 / 15 分钟自查 · L0

NAS 测出 10MB/s 别急着换盘:一个同步落盘标志让它慢 7.3 倍

同一个 NAS、同一块网、同一个 512MB 文件,四种写句柄写法:强制同步落盘 10.6 MB/s、纯无缓冲 76.9、普通缓冲加末尾刷盘 62.5、本机盘对照 2048。

约 6 步 / 10 分钟自查 · L0

端侧选盘别只看顺序读:同一块闪存 4K 读 32.2、64MB 读 557 MB/s,差 17 倍

端侧主机(aarch64 4 核 A55 / 3.9G 内存)同一块板载闪存,iflag=direct 下只改块大小:1MB 块 183 MB/s、64MB 块 557 MB/s、4K 块 32.2 MB/s,跨度 17 倍。

224G 板载闪存 / 512MB 与 16MB 两档总量 · 未标注

DeepSeek 智能体跑通实录:四个坑,最狠那个报错不在日志里

从零把 DeepSeek dsh-superagent(MIT,约 3.7 万行 TypeScript)跑到能自己提 PR,花了约 5 小时,最久的一段卡了 2 小时。

约 3.7 万行 TypeScript(MIT)/ 单工单 50 秒 · 未标注

性能(24)

并发加到 16 吞吐反而没涨:找到收益天花板与实用拐点

把并发从 1 一路加到 16,吞吐涨到并发 8 就停住了,16 甚至略降(148.95 → 148.22 tok/s),但单请求等待从 13.13 秒涨到 20.24 秒。结论:并发 4 是实用拐点,8 是收益天花板,16 是纯亏。

5 步 / 30 分钟 · L1

ComfyUI 出图性能测试:如何测出真值而不是缓存

把 ComfyUI 当性能测试工具时,同 seed 同参数第二次提交根本不进 GPU,直接返回缓存。本方案给出可复现的测量方法。

约 40 行 Python · L0

数字人口播 53 秒,机器要跑 20 分钟:成本全在逐帧重绘口型

一条 53.3 秒的数字人口播片,从切段到出片花了 20 分 16 秒。234 字文案切 7 段,前 6 段各 8.0 秒画面、每段约 3 分 6 秒,折合每生成 1 秒画面需要 18 到 23 秒。

7 步 / 20 分钟 · L1

SDXL 出图时间不过原点:每张先花 0.378 秒固定开销

把 SDXL 采样步数从 48 压到 1,单张出图时间只从 4.391 秒降到 0.448 秒 —— 步数差 48 倍,时间只差 9.8 倍,说明时间线不过原点。

6 步 / 20 分钟 · L0

SDXL 出大图的墙不是显存,是训练画布 1024:超过 1536 主体就开始复制

本机 5090D 把 SDXL 从 512 一路加到 4096²,32GB 显存峰值 32064 MiB 也没 OOM;4096² 单张 72.948 秒,是 1024²(2.259 秒)的 32.3 倍。

6 步 / 25 分钟 · L0

SDXL 采样器耗时差 64%、画面差与耗时无关:euler 与 ddim 同 seed 出图逐像素一致

同 seed / 同 20 步 / 同 1024² 下,11 个采样器耗时从 lms 2.186 秒到 dpmpp_2s_ancestral 4.137 秒(差 64%),但画面变化与耗时无关:慢的 heun(3.

5 步 / 20 分钟 · L1

Ollama 默认吃 14.3G 显存,改一个参数降到 9.7G(16GB 卡装不下 14B 的真原因)

同一台 5090D、同一个 qwen2.5:14b(Q4_K_M,9.0GB),只改上下文长度 num_ctx:2048/4096/8192/16384/32768 → 实际显存 8.45/8.83/9.71/11.23/14.

5 档扫描 / 10 分钟 · L0

显卡编码反而更慢更大:nvenc 体积 2.44 倍只换回第五位小数的画质

同一段 116.4 秒正片四种编码参数各跑一遍:libx264 medium 2.40 秒 / 6,922,428 B,fast 2.27 秒 / 6,649,384 B,veryfast 2.

4 档编码器 / 116 秒正片 · L1

本地 embedding 慢不在显卡:并发 8 拿 7.57 倍,并发 16 零收益还翻倍延迟

同一批 240 份文档(每份 295 字 / 297 token)只改客户端并发数:并发 1 为 42.65 份/秒、GPU 利用率仅 27%、功耗 51.0 W;并发 8 达 322.74 份/秒(7.57 倍)、功耗 162.6 W;

五档并发 / 拐点 8 · L1

CPU 跑 14B 只到 9.5 token/s:核数翻 6 倍只快 1.88 倍,卡的是内存带宽

本机 24 核 Ultra 7 270K Plus + DDR5-6000 双通道(理论 96 GB/s)上,把 RTX 5090D 摘掉(num_gpu=0,/api/ps 复核 size_vram=0),跑 qwen2.

24 核 · 9.5 token/s · 实读 85.3 GB/s · L1

OLLAMA_NUM_PARALLEL 不是并发开关,是显存配额:一个槽位 6 GiB

把 NUM_PARALLEL 从 1 调到 2,KV cache 从 6144 变 12288 MiB(正好两倍),模型本体 8148 MiB 不动;

6 GiB/槽 · KV 2×与4× · 32877 > 32606 · 16G 双槽差 4278 MiB · L1

本地部署拉模型权重:8 线程只快 1.77 倍,卡的是链路不是线程

分块并发下载能加速,但收益远低于线程数。本机对 hf-mirror.com 实测:单线程 2.68 MiB/s,并发 2/4/8 得 3.85/4.34/4.73 MiB/s,加速比 1.00/1.44/1.62/1.77 倍。

2.68→4.73 MiB/s / 1.77 倍 / 每线程降至 22% / 24 档 435.40 GiB / 实测 31 分 15 秒 · L1

本地部署模型加载慢:块大小差 12.7 倍,mmap 其实只读了 0.08%

加载慢先别换盘。本机对同一 9.4 GiB GGUF 做无缓冲直读(FILE_FLAG_NO_BUFFERING),块大小从 4KB 到 16MB 共 13 档:4KB 只有 243.9 MiB/s,16MB 到 3090.

13 档块大小 · 3 块 NVMe · L0

CPU 跑本地大模型,线程数配错会让 80 核输给 8 核

同一台双路 Xeon(80 逻辑核)跑 0.6B 小模型,线程数从 1 扫到 80:峰值出现在 8 线程(36.27 tok/s),16 线程不再涨,20 线程掉 24%,开满 80 线程只剩 11.

10 组配置 · 每组 5 次采样 · 80 逻辑核 / 2 NUMA 节点 · L1

搬 TB 级模型权重,跨网段比同网段多等 44 小时,而且只能单向推

同一份 1.06 TB 权重,按实测带宽:跨网段(走 VPN 隧道)6.4 MB/s 要 46.0 小时,同网段千兆 118.2 MB/s 只要 2.49 小时,目标机本机盘 8.9 GB/s 仅 119 秒。

1.06 TB / 54 分片 · L0

端侧设备选型先查指令集:缺 i8mm 的机器,int8 量化比 fp32 慢 47 倍

一台 4 核 ARM 端侧机(Cortex-A55)实测:int8 512³ 矩阵乘 0.98182 秒,fp32 512³ 只要 0.02090 秒,int8 反而慢 47 倍。

4 核 aarch64 / 3.9 GB / 零 swap · L0

看到「KV 省 75%」别急着信:去 config 数层数,30 秒能验算完

Kimi Linear 48B-A3B 官方称 KV 最多省 75%。翻 config:27 层里 7 层全注意力、20 层是线性注意力,20/27 = 74.07% —— 节省比例恒等于线性层占比,因为线性层状态是固定大小不随序列增长。

27 层 / 7 层全注意力 / 权重 98.25 GB · L1

算 tok/s 上限之前先量带宽:标称 273 GB/s 的机器,四台实测只到 233.6

四台 DGX Spark(GB10 统一内存)实测 copy 512MB 分别为 229.6 / 225.9 / 228.3 / 233.6 GB/s,对标称 273 GB/s 的达成率只有 82.7%-85.6%,四台离散度 3.4%。

4× DGX Spark / 统一内存 121.69 GiB/台 · L0

权重落盘慢 35 倍不是盘坏了,是分片太碎:每文件固定开销 3.7 毫秒

同一块 NVMe、同一总量 1200MB,只改文件切法:1200 个 1MB 小文件 4.45 秒,3 个 400MB 大文件 0.12 秒,差 35-37 倍。中间两档单调递增(1049 / 3102 MB/s),是台阶不是抖动。

约 5 个命令 / 3 分钟自查 · L0

Ollama 并发该开几个槽:峰值在 4 槽,16 槽比单槽还慢

同一台 5090D 跑 qwen2.5:14b,五档槽位扫描:61.25 → 97.33 → 180.92 → 158.82 → 55.71 tok/s,峰值在 4 槽,开到 16 槽比只开 1 槽还低 9%。

约 5 步 / 40 分钟实测 · L0

Arete-27B 装得下吗:混合注意力省 75% KV,但省不动权重

Arete-27B 64 层里只有 16 层是全注意力,每 token KV 只要 64 KiB,对全 64 层口径压缩 4.00 倍,256K 上下文 KV 从 64 GiB 降到 16 GiB —— 这部分是真的。

Q4_K_M 17.20GB / 每 token 64KiB · 未标注

下大模型前先算 GB 与 GiB:同一个权重两种口径差一百多 GiB

Kimi K3.1 Pro 权重 1,561,355,966,953 字节 = 1561.36 GB = 1454.13 GiB,换算系数 1.0737。

1 步 / 约 30 秒(一条 df 命令) · 未标注

5090D 与 5060Ti 怎么选:价差 4.96 倍只买到 3.35 倍速度,每万张成本反而更高

SDXL 1024x1024 单张:5090D 4.98 秒 对 5060Ti 16.68 秒(3.35 倍)。2026-11-11 实采价:5090D 32GB 33,200 起、5060Ti 16GB 6,699,价差 4.96 倍。

SDXL 1024x1024 / batch1 与 batch4 / 双卡同条件 · 未标注

端侧跑大模型先分清「装得下」和「跑得动」:体积涨 10.9 倍,速度掉 25.4 倍

同一台 20 核 ARM 机器(122GB 统一内存)、同一份 llama.cpp b12128、同一套 taskset 绑核,唯一变量是权重体积:PLaMo 0.8B Q4_K_M(544.09 MiB)decode 51.

5.767 GiB(UD-IQ1_S)/ 544.09 MiB(Q4_K_M 对照) · 未标注

产出质量(7)

SDXL 批量出图跑色:加一段风格块把色相漂移压掉四成

同一提示词只换 seed,SDXL 出的 8 张图跨了 4 个色系(青绿山水/红枫版画/暖米复古/宣纸留白),跨图色相极差 80.35°、圆标准差 23.36°。

4 步 / 10 分钟 · L1

口播稿时长换算:我那个公式错了三处(rate 系数 / 计量单位 / 口径错配)

秒数≈CJK÷(4.33×(1+rate)) 这条公式错了三处:4.33 只在 rate=+0% 成立;公式只数中文,看不见占 83% 的 ASCII 与标点;拿写稿口径的公式去算产线口径。三处都不报错,只是成片比你算的长 9%。

3 步 / 1 分钟 · L1

出图质检全红别急着重跑:一把尺子量五种图

五步电商出图产线(白底/场景/抠图/换背景/放大)跑完,质检脚本报 5 张全不合格。复核发现三条失败原因是「背景偏色,应接近纯白」——而被测的是深色场景图、RGBA 透明底抠图与换背景成品,拿白底尺子量必然 100% 不合格。

6 步 / 10 分钟 · L0

批量导出全报成功,产物却是空壳:验收要看产物内部

Blender 后台批量导出时,导出算子会返回成功却写出 132 字节的空壳文件 —— 容器里网格为空、节点为空,即忠实导出了一个空场景。返回值、退出码、文件存在、体积正常四条判据全绿也证明不了产物里有东西。

6 步 / 10 分钟 · L1

成片声音总比别家小:问题不在配音,在产线没有响度归一化

把手上 47 条已出成片全量量了一遍,没有一条做过响度归一化。整体响度全部落在 -25.69 ~ -22.64 LUFS,最响的一条离流媒体基准 -14 LUFS 还差 8.64 个刻度。

7 步 / 20 分钟 · L1

SDXL 12 步之后每步只值 15 个 RMS:加步数的收益断崖

固定 seed 只改 steps,相邻档两张图做像素 RMS 对比:4→8 步改变 33.75、8→12 改变 27.80、12→16 降到 12.83;

5 步 / 15 分钟 · L0

一个 47 MiB 的 LoRA 自带训练账本:7750 步、7412 张图、每张 297.7 毫秒

训练脚本(kohya / 秋叶系)会把整场训练的参数与时间戳写进 safetensors 的 __metadata__。本机一个 SDXL offset 示例 LoRA(47.

2206.63 秒 · 7750 步 · 297.7 ms/张 · L0

成本账(24)

AI 生图产能不是资产,是分母:三万张图卖不出去的那笔账

本机 5090D 实测 SDXL 1024×1024 稳态单张 5.15 秒,一天满载 16776 张、扣掉停机散热重跑后约两万张/天即六十万张/月。

4 步 / 可当天算完 · L1

四张 5060Ti 产能不如一张 5090D:别用「卡数」算产能,用「显存冗余」算

四张同型号卡不等于四倍产能。可并行的只有采样,模型加载/VAE 解码/写盘/人看图全部串行;16GB 单卡装下 SDXL 后只剩几百 MB 余量,batch 根本铺不开。

4 步 / 3 分钟 · L0

AI 生图接单卡在收款:三道关里只有第三道会让你亏钱

AI 生图接单的三道关:找单(询价多成交少)、做图(交付标准没定义,改七版客户说第一版好)、收款(没有验收与付款的绑定)。前两道卡住只损失时间,第三道卡住损失的是已付出去的成本(电费、机时、推掉的其他事),且很难挽回。

3 句话 / 开单前 5 分钟 · L1

集群慢不一定是卡不够:三种慢,只有一种值得花钱

集群慢不一定是卡不够 —— 「慢」有三种,只有一种值得花钱。显存接近 0 是显卡压根没参与计算(配置问题,加卡一分钱作用没有);只有第一轮慢是预热,属正常开销;并发上去了单请求反而更慢,说明撞的是通信墙(加卡会更糟)。

3 步判断 / 6 条数据 · L1

16GB 显存卡的产线策略:不要试图用小卡追大卡

实测证明:16GB 卡加大 batch 追 5090D,差距会从 3.35 倍扩大到 3.89 倍。正确做法是降并发、拉长单张、用常驻进程吃掉冷启动。

约 30 行配置 · L0

出图产能账:把冷启动的那 7 秒算进去

同一套出图工作流、同一台卡、同一模型,首轮 24.99 秒、次轮 17.63 秒(差 41.7%)——差的不是推理,是把 checkpoint 从磁盘搬进显存的固定开销。

6 步 / 15 分钟 · L0

清缓存前先按内容去重:真正占地方的往往不在你盯着的地方

出图目录里被担心的元数据其实只占万分之七,而按内容哈希排一遍发现 14 张是字节级重复、占了 17.54%,两者差 234 倍。重复的成因是批量脚本把 seed 写成了常量(101/202/303…各重复三遍)。

6 步 / 10 分钟 · L1

同一套产线的成片体积差 1.7 倍:稳的那条被写死了,飘的那条没写

同一台机器、同一个人做的片子,时长几乎一样,体积却差 1.7 倍。拆开两条流就清楚了:视频码率极差 6 倍,音频码率极差只有 1.09 倍。差异全在「编码参数有没有显式写死」上。体积不是能管理的量,它是参数缺省后的结果。

7 步 / 15 分钟 · L1

SDXL 步数翻三倍,一万张电费只多 2.61 元:瓶颈是机器小时

把 SDXL 步数从 16 加到 48(翻三倍),一万张图的电费只从 1.38 元涨到 3.99 元(多 2.61 元),但机器时间从 4.79 小时涨到 12.20 小时(多 7.41 小时)。

5 步 / 15 分钟 · L0

6 个插件依赖文件重复 85.3%:每加一个插件,净花 246MB 公共依赖钱

6 个自建 dsh 插件的 @deepseek-ai 目录共 34872 个文件 / 1394.5MB,逐个文件算 md5 后唯一内容只有 5120 份 —— 重复 29752 份,重复率 85.3%。

5 步 / 15 分钟 · L0

同一套 SDXL 工作流,5090D 冷启动快 5.11 倍 —— 多出来的不是算力,是搬运

同一套 SDXL 工作流(sd_xl_base_1.0 / 20 步 / CFG 7.0 / 1024²),稳态 5090D 4.98 秒 vs 5060Ti 16.68 秒 = 3.35 倍;

6 项对照 / 15 分钟 · L0

本地写稿成本分三层:每千字电费 0.0018 元,最贵的是重跑判断时间

本机 5090D + Ollama 0.40.4 + qwen2.5:14b 的写稿成本结构账。单位成本:出字阶段净功耗 353–423 W(实测均值 400–470 W 减空载 47 W),decode 136.34–138.

每千字 0.0018 元 · 拆轮 vs 单次 · L1

每个常驻模型都有一笔固定显存起步费:权重 262MB 的模型实占 815MB

本机 RTX 5090D 32GB 上对「多模型同时常驻」的显存增量做了 3 轮重复测量(基线含其他常驻负载约 15.2 GiB,故全部结论只用增量)。

3 轮 · 262MB 权重实占 815MB · L0

37 份技能说明书 27 万 token:按需加载撕掉七成,常驻描述只占 3.16%

用 Qwen2.5 官方分词器对本机 37 个技能的 SKILL.md 做精确计数(非按字数估算,整库平均 1.92 字符/token)。

273,324 token · 按需 29.6% · L0

SDXL 开 batch=4 之前先算显存余量:16GB 卡批完只剩 389MB,省不到 3%

批量出图省下的时间不是算力换来的,是显存余量换来的。同一个 batch=4,本机 RTX 5090D(32GB)4 张总耗时 16.69 秒,比一张张跑(4×4.98=19.92 秒)省 16.2%;

batch 4 · 省 16.2% vs 2.6% · 剩余 389MB · L0

降采样不省体积:24k MP3 降到 16k 存 WAV,反而胖 5.33 倍

降采样降的是精度,不是体积;体积是容器说了算的。本机 43 部成片的配音从 24 kHz 单声道 MP3 转成 16 kHz 单声道 WAV,体积从 28.9 MiB 涨到 154.1 MiB,每一部都恰好是 5.33 倍。

5.33× · 154.1 MiB · 7.41× · L0

本地部署回本账怎么算:四台 DGX Spark 满产 7.3 年,利用率 5% 就是 145.6 年

判断「本地部署省不省钱」要用三个数:整机功率(不是 nvidia-smi 读数)、真实月产能(不是标称算力)、真实利用率(不是 24 小时满载假设)。

四台 DGX Spark / 0.96 kW / 290.4 百万 token 月产能 · L1

模型库 278GB,真正的权重只有 58 个文件

判断盘要买多大看体积,判断操作成本看文件数 —— 这是两套账。本机 D:\models 全量盘点:1883 个文件、2438 个目录、277.96 GiB,但按扩展名匹配 .safetensors/.gguf/.ckpt/.bin/.

1883 文件 / 277.96 GiB · L1

4B 模型显存别只算权重:权重决定装不装得下,KV 决定能挂几路

EdgeRock-4B(2026-11-01 开源)把 KV 做成常数:每序列 attention KV 恒定 72 MiB、含循环矩阵的持久历史 97.76 MiB,与上下文长度无关。

4B BF16(权重 8.00 GB)/ 每序列 KV 恒定 97.76 MiB · L1

MoE 大模型能不能跑:容量和速度是两笔账,别混成一句「太大了」

Kimi K3.1 Pro 权重 1561GB,按单卡 141GB 算要 12 张卡;同一天网上两批说法——「2.8T 没戏」和「MoE 只激活 104B 没那么吓人」——都对但都没说到点上。

约 2 步 / 10 分钟估算 · 未标注

「37 层压缩省 99%」到底省多少:按 config 逐层算一遍

ERNIE 5.5 Flash Base 官方 config 里 compress_ratios 长度 44,37 个是 128、7 个是 -2(不压缩)。

6 步 / 约 3 分钟(纯算术,无需下载) · 未标注

本地部署 Praxis-1 卡在 80GB 之前:真正拦住你的是 11.6 天

Praxis-1(27.2B MoE 世界动作模型,Apache-2.0)仓库实测 23 个文件 / 54,404,699,594 B = 50.67 GiB,切 17 个 safetensors,最大一片 4,992,798,140 B。

50.67 GiB(17 分片)/ 官方要求单卡 80GB · 未标注

每 GB 单价一个价,但 5060Ti 和 DGX Spark 卖的不是同一样东西

把二手挂牌价做一次除法,四类硬件的每 GB 单价几乎撞在一起:RTX 5060Ti 16GB 中位 ¥5,300(13 条)折 ¥331/GB、DGX Spark 128GB ¥41…

4 类硬件 / 39 条有效挂单 / 每 GB 259–1,108 元 · 未标注

标称 4bit 其实是 4.9961,每参数多占 25% 内存

把 GGUF 每个量化档的文件字节数除以官方参数量,得到真实位宽:Q4_K_M 4.9961、Q5_K_M 5.7649、Q6_K 6.5816、Q8_0 8.5189、F16 16.0181 bit/参。

697.0 MiB(单档 Q4_K_M)/仓库 13.55 GiB · 未标注

工程习惯(6)

同一台机器三个 ComfyUI 版本:账面零成本,隐性成本写在排查起点

同一台机器上养出三个 ComfyUI 前端版本(真跑 1.49.6 / 托管 venv 1.51.9 / 上游要求 1.53.6):账面是零成本(不额外占电、不占显存、不影响出图),隐性成本是「每次排查都从『我到底在查哪一套』开始」。

3 笔账 / 4 张对照表 · L1

装废的环境别急着删:把失败原因抄成一行,比留着几个 GB 值钱

跑不通的旧项目是成本最低的环境资产。删掉只省几个 GB,丢掉的是「什么会坏」的真实记录。做法只有一步:删之前把「什么操作 + 什么报错 + 真实原因」抄成一行放固定地方,抄完就随便删。

1 步 / 30 秒 · L1

删环境前先导记录:环境是三层不是一整块

跑不通的 venv 删掉时,删的不只是依赖(torch 一个 4.2 GB),还有「它为什么跑不通」的证据。环境其实三层:依赖层(site-packages,空间大头,可删)、配置层(pyvenv.

6 步 / 3 分钟 · L0

别按文件体积给模型分档:三档差 0.14MB 却差 4 倍输出

同一套超分模型的三个档位,体积几乎一模一样、参数量差千分之二,输出尺寸却差 4 倍。拆开权重看,全部结构差异只在尾部多一层上采样卷积。文件体积反映的是中间表示层规模,反映不了尾部后处理的行为差异,所以按体积猜档位这类判断从一开始就不成立。

6 步 / 15 分钟 · L0

又搭了一遍调度,那台机器上早跑着两个:自建前先查账

准备从零搭一套内容调度,列完清单才去查那台该干活的机器 —— 上面早有两个已激活的工作流、四个脚本和一整套台账表。自己清单里的八项功能,七项与它完全重复,剩下一项是它做了而自己没打算做的。

7 步 / 15 分钟 · L1

跑分表怎么不标反快慢:先按单位定方向,再排序

跑分数据天然混着三种语义:耗时类(越小越好)、比率类(越大越好)、体量/功耗类(没有快慢)。只按数值大小倒序排,耗时类就全反了 —— 本机 20 组多机对照里 5 组被标反(5090D 的 4.

20 组对照 · 541 条跑分 · 9 台机器 · L1