惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
V
V2EX
Engineering at Meta
Engineering at Meta
美团技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
I
InfoQ
S
SegmentFault 最新的问题
博客园 - 叶小钗
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
IT之家
IT之家
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
T
The Blog of Author Tim Ferriss
月光博客
月光博客
The Cloudflare Blog
U
Unit 42
GbyAI
GbyAI
L
LangChain Blog
Microsoft Azure Blog
Microsoft Azure Blog

博客园 - 张善友

.NET 11 性能全解读:从 JIT 到基础库,这一版到底快了多少 .NET 11 性能深度解读:这一次,真的「到 11」了 把 LLM 密钥从环境变量里解放出来:OpenClaw.NET 迎来 Vault/OpenBao 密钥后端 RedNb.Nacos 2.0.0 正式发布:.NET 接入 Nacos 3.2.4,AI Registry 全能力落地 Rust 成为微软一线语言之后:谈谈 C# 与 Rust 的互补性 .NET 异常处理的"暗门":代码里写满 catch,你依然能抓住它——从一个 AI Agent 运行时的源码说起 写给 C++ 工程师的 OpenClaw.NET 上手指南:用你熟悉的 C++ 思维,跑起一个生产级 AI Agent .NET 11 RC1 发布:拿到"准生证",生产环境可以上了! 写给 PHP 工程师的 OpenClaw.NET 上手指南:用你熟悉的 PHP 思维,跑起一个生产级 AI Agent 写给 Rust 工程师的 OpenClaw.NET 上手指南:用你熟悉的 Rust 思维,跑起一个生产级 AI Agent 从对标 Java 到对标 Go:Native AOT 的"无痛化"之路,走到哪一站了? NuGet 半年度总结:周下载量从 54 亿到 67 亿,.NET 生态的"新一轮增长期"实锤了 写给 Java 工程师的 OpenClaw.NET 上手指南:用你熟悉的 Spring 思维,跑起一个生产级 AI Agent 写给 TypeScript 工程师的 OpenClaw.NET 上手指南:用你熟悉的 TS 思维,跑起一个生产级 AI Agent 写给 Python 工程师的 OpenClaw.NET 上手指南:用你熟悉的 Python 思维,跑起一个生产级 AI Agent 写给 Golang 工程师的 OpenClaw.NET 上手指南:用你熟悉的 Go 思维,跑起一个生产级 AI Agent MetaSkill 落地 .NET:当 Agent 从「调用工具」进化到「组织工具」 都是 AI 写代码,为什么 C# 比 Java 快半拍 MHS 三部曲(下):谁允许 AI 行动?——权力、合规与中国厂商的答卷 弱模型不能裸奔:Agent Harness 凭什么真实有效 MHS 三部曲(中):8 小时集成、六种被拦截的故障,和一次教科书级的翻车 MHS 三部曲(上):别急着叫它「物理 MCP」——Anthropic 到底发布了什么 编程语言的「第三条道路」上,走得最远的其实是 C# 纯 .NET 手写 CUDA kernel,GLM-5.3-Flash decode 跑出 llama.cpp 的 2 倍 3 张卡到底能不能跑大模型推理?从 vLLM、llama.cpp 到 TensorSharp 的多卡真相 AI 编程时代,.NET 的机会在哪里? Vibe Coding 月提交量 29 亿次之后:GitHub 的危机、Azure 迁移,以及 .NET 的机会 从 PostgreSQL 到 Kubernetes:开源的护城河,从来不写在代码里 人工智能最先替代的,是人工智能学院自己 企业架构的六种场景:从"四大流派"到数字原生与 AI 原生
TensorSharp 3.3.0.0 发布,视频生成、DFlash2 投机解码、安...
张善友 · 2026-08-31 · via 博客园 - 张善友

1

用 C# 写的本地大模型推理引擎,正在一步步追平甚至反超 llama.cpp。

开篇:一个"不安分"的 .NET 项目

2026 年 8 月 30 日,TensorSharp 3.3.0.0 正式发布,距离上一个版本 3.2.1.0 只有三周半,却塞进了约 40 个合并 PR [1][2]

如果你还不认识它:TensorSharp 是开发者傅忠恺(Zhongkai Fu)打造的原生 .NET LLM 推理引擎——不用 Python,不用 C++,直接加载 GGUF 模型,自带控制台程序、浏览器聊天界面,以及 Ollama / OpenAI 兼容的 HTTP API,横跨 Windows、macOS、Linux,后端覆盖 GGML(Metal/CUDA/Vulkan)、直连 CUDA、Apple MLX 和纯 C# CPU 路径 [3]

官方 README 里的底气很直接:在相同 GGUF 文件、相同 GPU 上,这个纯 .NET 引擎已经能在多个模型的 prefill 和首 token 延迟上反超手工调优的 llama.cpp,最高快 1.28 倍 [3:1]

而这个 3.3.0.0 版本,可以说是近期"料最足"的一次更新。

亮点一:Wan 视频生成首发,3.5 小时的任务 17 分钟跑完

本版本最大的新特性,是首次支持阿里通义万相 Wan 2.1 / 2.2 视频生成模型(文生视频、图生视频),并且一口气跟进了至少 4 个性能优化 PR [1:1][4]

技术上颇有看头:

  • 双实现路径:除了 GGML 全图内核,还有一套不依赖 ggml 的 WanDirect 实现,跑在共享 Tensor/Ops 层上,连纯 C# 的 CPU 后端都能生成视频 [4:1]
  • 全新 CUDA 内核:流式 online-softmax 注意力、交错 RoPE、AdaLN 调制……长序列注意力在 14k token 的 480p 配方下从 1.3 TFLOPS 干到 4.7 TFLOPS [4:2]
  • 数值级验证:与 diffusers 参考实现对齐,最终 latent 余弦相似度跨后端 ≥ 0.999,DiT 单步 cos 0.99999+ [4:3]

最香的是这个:步数蒸馏 checkpoint 会从文件名自动识别(Turbo、distill、Lightning、lightx2v 等关键词),自动切换到 4 步推理并关闭 guidance。同一个 1088×832×121 帧的图生视频任务,在 M5 Pro 上从 3 小时 30 分钟直接降到 17 分 30 秒——不需要任何额外参数,换个模型文件就行 [3:2]

其他硬指标:TI2V-5B 可以在 16 GB 显卡上 8 分钟内生成 81 帧 480p 图生视频;Wan 2.1 端到端比 stable-diffusion.cpp 快 6 倍 [3:3]

加上此前已有的 MiniMax-H3(视频 + 32 kHz 立体声音频联合生成),TensorSharp 的视频生成正式形成"双引擎"格局。

亮点二:GLM、Muse-Glimmer 两大模型家族落地

Muse-Glimmer-30B 推理支持正式上线(#137):交错滑动窗口注意力 + NoPE 全注意力层架构,支持图像输入、思考模式和 ATEM 工具调用 [3:4][5]

GLM 5.x 家族也来了(#163、#165):覆盖 GLM-5.2(744B-A40B MoE,1M 上下文)和 GLM-5.3-Flash(320B MoE),支持张量并行和 CPU MoE offload——约 92% 的 routed experts 可以放在内存里,显卡只留主干。GLM-5.2 的 NextN 草稿块随 checkpoint 自带,只需加一个 --spec 参数,解码速度立涨约 1.3 倍,草稿接受率高达 94% [3:5][6]

亮点三:DFlash2——本版本技术含量最高的 PR

如果只挑一个 PR 细读,我会选 #175:DFlash2 投机解码草稿器

先看它解决了什么问题。Qwen 3.x 这类混合架构模型上,投机解码以前是负优化——开了反而更慢(18.3 tok/s 普通解码 vs 15.5 tok/s 投机)。根因不是草稿不准,而是 GDN 递归状态无法像 KV cache 那样截断:每次草稿被部分拒绝,就要恢复 151 MB 的状态副本,每步在 PCIe 上往返两趟 [7]

修复方式是把状态提交全部留在设备端:回滚耗时从 3604 ms 直接归零 [7:1]

再看 DFlash2 本身的两项新机制:

  1. 分组动态深度卷积:给每个注意力和 FFN 子层包上一层动态卷积,一次投影同时生成输入滤波器和输出滤波器;
  2. 候选选择器:不再对块内每个位置独立 argmax,而是把相邻位置的 top-K 候选通过低秩码本成对打分,把整块 token 读作格图上的一次"游走"——仅补上这一项,就挽回了超过一半的接受率损失 [7:2]

实测效果(RTX 3080 Laptop,贪心解码):Qwen3.8-27B 事实型 prompt 从 19.5 提到 31.7 tok/s,Muse-Glimmer-30B 从 18.7 提到 23.0 tok/s,且输出与普通解码逐字节一致 [7:3]

还有个有趣的细节:同版本的 llama.cpp 目前还加载不了 DFlash2 草稿器(张量数量对不上)——这个特性上,TensorSharp 暂时独家 [7:4]

至此,TensorSharp 在一套 draft-verify 运行时上集齐了四种投机算法:MTP/NextN 草稿头、独立草稿 GGUF、DSpark/DFlash 块草稿、免训练的 n-gram speculator [3:6]

亮点四:服务端安全大补课

新贡献者 @craig-b 一口气提交了约 10 项安全修复,对一个默认绑定 0.0.0.0、无内置认证的服务端来说,每一条都很实在 [1:2]

  • /api/chat 附件、图像编辑、视频生成的路径全部收敛到上传目录内,堵死路径穿越
  • 上传改为扩展名白名单 + 安全 content-type,可选存储配额;
  • API 响应和 404 页面不再泄露宿主机文件路径;
  • 模型热重载失败时保留正在服务的模型,不再直接挂掉;
  • 新增 --no-webui 纯 API 模式,方便嵌入现有网关。

如果你在用 TensorSharp.Server 对外提供服务,这个版本强烈建议升级

其他值得知道的改进

  • AMD 显卡用户福音:修复小 BAR(Resizable BAR 受限)AMD GPU 上约 27 倍的 Vulkan 减速(#141)[1:3]
  • 互操作现代化:全部 DllImport 迁移到源生成的 LibraryImport,原生字符串改按 UTF-8 编组(#162、#144)[1:4]
  • 工程基建:trait 化测试分道、PR CI 上标准 runner、环境门控测试如实报"跳过"(#156、#157)[1:5]
  • 发布提供 10 个预编译包:CLI / Server 各覆盖 Linux CPU/CUDA、macOS arm64、Windows CPU/CUDA。

结语与升级建议

三周半、40 个 PR、两条新模型产品线、一套投机解码体系、一轮安全加固——TensorSharp 的迭代节奏堪称凶猛。简单给个升级指南:

  • 视频生成玩家:直接上蒸馏版 Wan checkpoint,文件名触发自动 4 步推理;
  • 自建服务端:必升,安全修复集中在此版本;
  • GLM / Muse-Glimmer / Qwen 3.8 用户:模型支持和投机解码都已就位,--spec 一键提速;
  • AMD Vulkan 用户:27 倍减速修复,没有理由不升。

项目地址:github.com/zhongkaifu/TensorSharp,发布页见 Discussion #178。


参考来源:


  1. https://github.com/zhongkaifu/TensorSharp/discussions/178 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  2. https://github.com/zhongkaifu/TensorSharp/releases/tag/v3.3.0.0 ↩︎

  3. https://github.com/zhongkaifu/TensorSharp ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  4. https://github.com/zhongkaifu/TensorSharp/pull/133 ↩︎ ↩︎ ↩︎ ↩︎

  5. https://github.com/zhongkaifu/TensorSharp/pull/137 ↩︎

  6. https://github.com/zhongkaifu/TensorSharp/pull/163 ↩︎

  7. https://github.com/zhongkaifu/TensorSharp/pull/175 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎