You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1 lines
50 KiB

<!doctypehtml><html lang=zh-CN><meta charset=UTF-8><meta content=width=device-width name=viewport><meta media="(prefers-color-scheme: light)" content=#222 name=theme-color><meta media="(prefers-color-scheme: dark)" content=#222 name=theme-color><meta content="Hexo 7.1.0" name=generator><link href=https://cdnjs.cloudflare.com rel=preconnect><link href=/images/apple-touch-icon-next.png rel=apple-touch-icon sizes=180x180><link href=/images/favicon-32x32-next.png rel=icon sizes=32x32 type=image/png><link href=/images/favicon-16x16-next.png rel=icon sizes=16x16 type=image/png><link color=#222 href=/images/logo.svg rel=mask-icon><meta content=2X6S9P7CAjXjVvw8YyQR8pCu-B0oEu7O9quLgxXuWyA name=google-site-verification><meta content=dV8JGNzi0c name=baidu-site-verification><script>!function(){var t=!1;function e(){var e;t||(t=!0,(e=document.createElement("script")).setAttribute("data-ad-client","ca-pub-7480618470784058"),e.async=!0,e.src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js",document.head.appendChild(e))}function a(){"requestIdleCallback"in window?window.requestIdleCallback(e,{timeout:5e3}):window.setTimeout(e,5e3)}"complete"===document.readyState?a():window.addEventListener("load",a,{once:!0})}()</script><link href=/css/main.css rel=stylesheet><link crossorigin=anonymous href=https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.0/css/all.min.css integrity=sha256-VHqXKFhhMxcpubYf9xiWdCiojEbY9NexQ4jh8AxbvcM= rel=stylesheet><link crossorigin=anonymous href=https://cdnjs.cloudflare.com/ajax/libs/fancyapps-ui/6.1.14/fancybox/fancybox.css integrity=sha256-mdaMxrItEW6hMIVJJNPKuX0B7KCSJQVEv3mVY4N2we4= rel=stylesheet><script class=next-config data-name=main type=application/json>{"hostname":"nicksxs.me","root":"/","images":"/images","scheme":"Pisces","darkmode":true,"version":"8.29.0","exturl":false,"sidebar":{"position":"left","width_expanded":320,"width_dual_column":240,"display":"post","padding":18,"offset":12},"hljswrap":true,"codeblock":{"theme":{"light":"default","dark":"stackoverflow-dark"},"prism":{"light":"prism","dark":"prism-dark"},"copy_button":{"enable":true,"style":"default"},"fold":{"enable":false,"height":500},"language":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"mediumzoom":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":true,"nav":null},"stickytabs":false,"motion":{"enable":false,"async":false,"duration":200,"transition":{"menu_item":"fadeInDown","post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"prism":false,"i18n":{"placeholder":"搜索...","empty":"没有找到任何搜索结果:${query}","hits_time":"找到 ${hits} 个搜索结果(用时 ${time} 毫秒)","hits":"找到 ${hits} 个搜索结果"},"algolia":{"appID":"663Q99OQQD","apiKey":"e461a1371d12cec1491c1153b288a9ed","indexName":"nicksxs","hits":{"per_page":10}}}</script><script defer src=/js/config.js></script><meta content="接着 3060 跑 FreeToken 的实操,从分析故障日志的例子出发,逐步理解 DeepSeek V4.1 Flash 的输入输出分工、缓存共享与压缩、局部重放、Engram 和推测解码,也算清激活参数、缓存与整机内存不是同一本账。" name=description><meta content=article property=og:type><meta content="DeepSeek V4.1 Flash 为什么更省:从读一段日志,到写出答案" property=og:title><meta content=https://nicksxs.me/2026/09/11/deepseek-v41-flash-read-cache-write/index.html property=og:url><meta content="Nicksxs's Blog" property=og:site_name><meta content="接着 3060 跑 FreeToken 的实操,从分析故障日志的例子出发,逐步理解 DeepSeek V4.1 Flash 的输入输出分工、缓存共享与压缩、局部重放、Engram 和推测解码,也算清激活参数、缓存与整机内存不是同一本账。" property=og:description><meta content=zh_CN property=og:locale><meta content=https://nicksxs.me/uploads/deepseek-v41-explained/memory.png property=og:image><meta content=https://nicksxs.me/uploads/deepseek-v41-explained/reuse.png property=og:image><meta content=https://nicksxs.me/uploads/deepseek-v41-explained/dspark.png property=og:image><meta content=2026-09-11T08:00:00.000Z property=article:published_time><meta content=2026-09-11T08:00:00.000Z property=article:modified_time><meta content=Nicksxs property=article:author><meta content=DeepSeek property=article:tag><meta content="KV Cache" property=article:tag><meta content=模型推理 property=article:tag><meta content=summary name=twitter:card><meta content=https://nicksxs.me/uploads/deepseek-v41-explained/memory.png name=twitter:image><link href=https://nicksxs.me/2026/09/11/deepseek-v41-flash-read-cache-write/ rel=canonical><script class=next-config data-name=page type=application/json>{"sidebar":"","isHome":false,"isPost":true,"lang":"zh-CN","comments":true,"permalink":"https://nicksxs.me/2026/09/11/deepseek-v41-flash-read-cache-write/","path":"2026/09/11/deepseek-v41-flash-read-cache-write/","title":"DeepSeek V4.1 Flash 为什么更省:从读一段日志,到写出答案"}</script><script class=next-config data-name=calendar type=application/json>""</script><title>DeepSeek V4.1 Flash 为什么更省:从读一段日志,到写出答案 | Nicksxs's Blog</title><script async src=https://www.googletagmanager.com/gtag/js?id=UA-61358619-1></script><script class=next-config data-name=google_analytics type=application/json>{"tracking_id":"UA-61358619-1","only_pageview":false,"measure_protocol_api_secret":null}</script><script defer src=/js/third-party/analytics/google-analytics.js></script><script defer src=/js/third-party/analytics/baidu-analytics.js></script><script async src=https://hm.baidu.com/hm.js?20f33b3c0c0eff9b1522999c0015646d></script><script crossorigin=anonymous defer integrity=sha256-QnJV4HT5r8i89ovZGRD86iynZqHerEbT2xt69vDM36I= src=https://cdnjs.cloudflare.com/ajax/libs/fancyapps-ui/6.1.14/fancybox/fancybox.umd.js></script><script defer src=/js/utils.js></script><script defer src=/js/sidebar.js></script><script defer src=/js/next-boot.js></script><script data-algolia-integrity=sha256-o49zoHLDPBm9WLg6AiliAVi3axCRTqe3ltTxLvhzAVg= data-algolia-src=https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/5.36.0/lite/builds/browser.umd.js data-search-src=/js/third-party/search/algolia-search.js src=/js/third-party/search/algolia-search-loader.js></script><script defer src=/js/third-party/fancybox.js></script><noscript><link href=/css/noscript.css rel=stylesheet></noscript><link title="Nicksxs's Blog" href=/atom.xml rel=alternate type=application/atom+xml><body itemscope itemtype=http://schema.org/WebPage><div class=headband></div><main class=main><div class=column><header class=header itemscope itemtype=http://schema.org/WPHeader><div class=site-brand-container><div class=site-nav-toggle><div aria-label=切换导航栏 class=toggle role=button><span class=toggle-line></span><span class=toggle-line></span><span class=toggle-line></span></div></div><div class=site-meta><a class=brand href=/ rel=start><i class=logo-line></i><p class=site-title>Nicksxs's Blog</p><i class=logo-line></i></a><p class=site-subtitle itemprop=description>Java 运行时、生产诊断与 AI 工程实践</div><div class=site-nav-right><div class="toggle popup-trigger" aria-label=搜索 role=button><i class="fa fa-search fa-fw fa-lg"></i></div></div></div><nav class=site-nav><ul class="main-menu menu"><li class="menu-item menu-item-home"><a href=/ rel=section><i class="fa fa-home fa-fw"></i>首页</a><li class="menu-item menu-item-专题"><a href=/topics/ rel=section><i class="fa fa-layer-group fa-fw"></i>专题</a><li class="menu-item menu-item-工具"><a href=/tools/ rel=section><i class="fa fa-toolbox fa-fw"></i>工具</a><li class="menu-item menu-item-about"><a href=/about/ rel=section><i class="fa fa-user fa-fw"></i>关于我</a><li class="menu-item menu-item-tags"><a href=/tags/ rel=section><i class="fa fa-tags fa-fw"></i>标签</a><li class="menu-item menu-item-categories"><a href=/categories/ rel=section><i class="fa fa-th fa-fw"></i>分类</a><li class="menu-item menu-item-archives"><a href=/archives/ rel=section><i class="fa fa-archive fa-fw"></i>归档</a><li class="menu-item menu-item-search"><a class=popup-trigger role=button><i class="fa fa-search fa-fw"></i>搜索</a></ul></nav><div class=search-pop-overlay><div class="popup search-popup"><div class=search-header><span class=search-icon><i class="fa fa-search"></i></span><div class=search-input-container><input autocapitalize=off autocomplete=off class=search-input maxlength=80 placeholder=搜索... spellcheck=false type=search></div><span class=popup-btn-close role=button><i class="fa fa-times-circle"></i></span></div><div class=search-result-container><div class=search-result-icon><i class="fab fa-algolia fa-5x"></i></div></div></div></div></header><aside class=sidebar><div class="sidebar-inner sidebar-nav-active sidebar-toc-active"><ul class=sidebar-nav><li class=sidebar-nav-toc>文章目录<li class=sidebar-nav-overview>站点概览</ul><div class=sidebar-panel-container><div class="post-toc-wrap sidebar-panel"><div class="post-toc animated"><ol class=nav><li class="nav-item nav-level-2"><a class=nav-link href=#%E5%85%88%E6%8A%8A%E6%A1%8C%E4%B8%8A%E7%9A%84%E4%B8%A4%E6%A0%B7%E4%B8%9C%E8%A5%BF%E5%88%86%E5%BC%80><span class=nav-number>1.</span> <span class=nav-text>先把桌上的两样东西分开</span></a><ol class=nav-child><li class="nav-item nav-level-3"><a class=nav-link href=#%E6%97%A5%E5%BF%97%E4%B8%8D%E6%98%AF%E4%BB%A5%E6%95%B4%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%BA%E5%8D%95%E4%BD%8D%E9%80%81%E8%BF%9B%E5%8E%BB%E7%9A%84><span class=nav-number>1.1.</span> <span class=nav-text>日志不是以整篇文章为单位送进去的</span></a></ol><li class="nav-item nav-level-2"><a class=nav-link href=#%E7%AC%AC%E4%B8%80%E7%AC%94%E8%B4%A6%EF%BC%9A%E8%AF%BB%E6%9D%90%E6%96%99%E5%92%8C%E5%86%99%E7%AD%94%E6%A1%88%EF%BC%8C%E9%87%8D%E6%96%B0%E5%88%86%E5%B7%A5><span class=nav-number>2.</span> <span class=nav-text>第一笔账:读材料和写答案,重新分工</span></a><ol class=nav-child><li class="nav-item nav-level-3"><a class=nav-link href=#8B-%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E6%98%AF%E2%80%9C%E5%B0%8F%E6%A8%A1%E5%9E%8B%E2%80%9D%E7%9A%84%E8%AF%81%E6%98%8E><span class=nav-number>2.1.</span> <span class=nav-text>8B 为什么不是“小模型”的证明</span></a></ol><li class="nav-item nav-level-2"><a class=nav-link href=#%E7%AC%AC%E4%BA%8C%E7%AC%94%E8%B4%A6%EF%BC%9A%E5%B7%B2%E7%BB%8F%E8%AF%BB%E8%BF%87%E7%9A%84%E5%86%85%E5%AE%B9%EF%BC%8C%E5%90%8E%E9%9D%A2%E6%80%8E%E4%B9%88%E6%89%BE%E5%9B%9E%E6%9D%A5><span class=nav-number>3.</span> <span class=nav-text>第二笔账:已经读过的内容,后面怎么找回来</span></a><ol class=nav-child><li class="nav-item nav-level-3"><a class=nav-link href=#%E5%8F%AA%E7%9C%8B%E9%87%8D%E7%82%B9%EF%BC%8C%E8%BF%98%E4%B8%8D%E6%98%AF%E5%85%A8%E9%83%A8%E7%AD%94%E6%A1%88><span class=nav-number>3.1.</span> <span class=nav-text>只看重点,还不是全部答案</span></a></ol><li class="nav-item nav-level-2"><a class=nav-link href=#%E7%AC%AC%E4%B8%89%E7%AC%94%E8%B4%A6%EF%BC%9A%E7%AC%94%E8%AE%B0%E5%85%B1%E7%94%A8%E4%BA%86%EF%BC%8C%E6%AF%8F%E4%B8%AA%E6%95%B0%E5%AD%97%E8%BF%98%E8%83%BD%E4%B8%8D%E8%83%BD%E6%9B%B4%E7%9C%81%E5%9C%B0%E6%96%B9><span class=nav-number>4.</span> <span class=nav-text>第三笔账:笔记共用了,每个数字还能不能更省地方</span></a><ol class=nav-child><li class="nav-item nav-level-3"><a class=nav-link href=#%E4%B8%80%E8%B5%B7%E7%AE%97%E4%B8%80%E6%AC%A1%EF%BC%8C%E4%BD%86%E5%8F%AA%E7%AE%97%E8%BF%99%E4%B8%80%E6%A0%8F><span class=nav-number>4.1.</span> <span class=nav-text>一起算一次,但只算这一栏</span></a></ol><li class="nav-item nav-level-2"><a class=nav-link href=#%E7%AC%AC%E5%9B%9B%E7%AC%94%E8%B4%A6%EF%BC%9A%E5%8F%AA%E7%AE%A1%E6%9C%80%E8%BF%91%E4%B8%80%E6%AE%B5%E7%9A%84%E7%8A%B6%E6%80%81%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%80%E7%9B%B4%E6%94%BE%E7%A1%AC%E7%9B%98><span class=nav-number>5.</span> <span class=nav-text>第四笔账:只管最近一段的状态,为什么一直放硬盘</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E5%88%B0%E8%BF%99%E9%87%8C%E5%81%9C%E4%B8%80%E4%B8%8B%EF%BC%9A%E5%87%A0%E7%A7%8D%E7%9C%81%E6%B3%95%E5%88%B0%E5%BA%95%E7%9C%81%E4%BA%86%E4%BB%80%E4%B9%88><span class=nav-number>6.</span> <span class=nav-text>到这里停一下:几种省法到底省了什么</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E8%BF%98%E6%9C%89%E4%B8%80%E7%A7%8D%E9%87%8D%E5%A4%8D%E5%B7%A5%E4%BD%9C%EF%BC%9A%E7%86%9F%E6%82%89%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B9%9F%E8%A6%81%E9%87%8D%E6%96%B0%E9%87%8D%E5%BB%BA><span class=nav-number>7.</span> <span class=nav-text>还有一种重复工作:熟悉的模式为什么也要重新重建</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E6%9C%80%E5%90%8E%E4%B8%80%E7%AC%94%E8%B4%A6%EF%BC%9A%E7%AD%94%E6%A1%88%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%80%E5%AE%9A%E5%BE%97%E7%AD%89%E9%82%A3%E4%B9%88%E5%A4%9A%E6%AC%A1><span class=nav-number>8.</span> <span class=nav-text>最后一笔账:答案为什么一定得等那么多次</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%98%E8%A6%81%E8%AF%B4%E8%AE%AD%E7%BB%83%E5%92%8C%E5%A4%9A%E6%A8%A1%E6%80%81><span class=nav-number>9.</span> <span class=nav-text>为什么还要说训练和多模态</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E6%99%AE%E9%80%9A%E4%BD%BF%E7%94%A8%E8%80%85%E6%9C%80%E5%90%8E%E8%AF%A5%E7%9C%8B%E4%BB%80%E4%B9%88><span class=nav-number>10.</span> <span class=nav-text>普通使用者最后该看什么</span></a><li class="nav-item nav-level-2"><a class=nav-link href=#%E5%9B%9E%E5%88%B0%E5%BC%80%E5%A7%8B%E7%9A%84%E9%82%A3%E6%AE%B5%E6%97%A5%E5%BF%97><span class=nav-number>11.</span> <span class=nav-text>回到开始的那段日志</span></a><ol class=nav-child><li class="nav-item nav-level-3"><a class=nav-link href=#%E7%BB%A7%E7%BB%AD%E8%AF%BB%E5%8E%9F%E5%A7%8B%E8%B5%84%E6%96%99><span class=nav-number>11.1.</span> <span class=nav-text>继续读原始资料</span></a></ol></ol></div></div><div class="site-overview-wrap sidebar-panel"><div class="site-author animated" itemprop=author itemscope itemtype=http://schema.org/Person><img alt=Nicksxs class=site-author-image itemprop=image src=/uploads/avatar.jpg><p class=site-author-name itemprop=name>Nicksxs<div class=site-description itemprop=description>Nicksxs 的技术博客,深入 Java 运行时与生产诊断、低成本大模型推理和 Agent 工程实践。</div></div><div class="site-state-wrap animated"><nav class=site-state><div class="site-state-item site-state-posts"><a href=/archives/><span class=site-state-item-count>391</span> <span class=site-state-item-name>日志</span></a></div><div class="site-state-item site-state-categories"><a href=/categories/><span class=site-state-item-count>179</span> <span class=site-state-item-name>分类</span></a></div><div class="site-state-item site-state-tags"><a href=/tags/><span class=site-state-item-count>333</span> <span class=site-state-item-name>标签</span></a></div></nav></div><div class="links-of-author animated"><span class=links-of-author-item><a rel="noopener me" title="GitHub → https://github.com/nicksxs" href=https://github.com/nicksxs target=_blank><i class="fab fa-github fa-fw"></i>GitHub</a> </span><span class=links-of-author-item><a rel="noopener me" title="E-Mail → mailto:nicksxs1202@gmail.com" href=mailto:nicksxs1202@gmail.com target=_blank><i class="fa fa-envelope fa-fw"></i>E-Mail</a></span></div><div class="cc-license animated" itemprop=license><a class=cc-opacity href=https://creativecommons.org/licenses/by-nc-sa/4.0/ rel=noopener target=_blank><img alt="Creative Commons" src=https://cdnjs.cloudflare.com/ajax/libs/creativecommons-vocabulary/2020.11.3/assets/license_badges/small/by_nc_sa.svg></a></div><div class="widget-wrap sidebar-tag-cloud"><div class=tag-cloud-tags><a class=tag-cloud-10 href=/tags/Java/ style=font-size:16px>Java</a><a class=tag-cloud-9 href=/tags/leetcode/ style=font-size:15.64px>leetcode</a><a class=tag-cloud-9 href=/tags/%E7%94%9F%E6%B4%BB/ style=font-size:15.29px>生活</a><a class=tag-cloud-8 href=/tags/LLM/ style=font-size:14.93px>LLM</a><a class=tag-cloud-7 href=/tags/%E9%A2%98%E8%A7%A3/ style=font-size:14.57px>题解</a><a class=tag-cloud-6 href=/tags/SpringBoot/ style=font-size:14.21px>SpringBoot</a><a class=tag-cloud-6 href=/tags/MySQL/ style=font-size:14.21px>MySQL</a><a class=tag-cloud-6 href=/tags/C/ style=font-size:13.86px>C++</a><a class=tag-cloud-5 href=/tags/Redis/ style=font-size:13.5px>Redis</a><a class=tag-cloud-4 href=/tags/Tomcat/ style=font-size:13.14px>Tomcat</a><a class=tag-cloud-4 href=/tags/Mybatis/ style=font-size:13.14px>Mybatis</a><a class=tag-cloud-4 href=/tags/%E5%B0%8F%E6%8A%80%E5%B7%A7/ style=font-size:12.79px>小技巧</a><a class=tag-cloud-3 href=/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/ style=font-size:12.43px>数据结构</a><a class=tag-cloud-3 href=/tags/%E6%BA%90%E7%A0%81/ style=font-size:12.43px>源码</a><a class=tag-cloud-2 href=/tags/MQ/ style=font-size:12.07px>MQ</a><a class=tag-cloud-2 href=/tags/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/ style=font-size:12.07px>消息队列</a><a class=tag-cloud-2 href=/tags/RocketMQ/ style=font-size:12.07px>RocketMQ</a><a class=tag-cloud-2 href=/tags/%E8%BF%90%E5%8A%A8/ style=font-size:12.07px>运动</a><a class=tag-cloud-1 href=/tags/php/ style=font-size:11.71px>php</a><a class=tag-cloud-1 href=/tags/Spring/ style=font-size:11.36px>Spring</a><a class=tag-cloud-1 href=/tags/linux/ style=font-size:11.36px>linux</a><a class=tag-cloud-1 href=/tags/%E5%87%8F%E8%82%A5/ style=font-size:11.36px>减肥</a><a class=tag-cloud-1 href=/tags/%E8%B7%91%E6%AD%A5/ style=font-size:11.36px>跑步</a><a class=tag-cloud-0 href=/tags/Dubbo/ style=font-size:11px>Dubbo</a></div></div><div class="affiliate-creative affiliate-creative--sidebar" data-affiliate-id=tencent-cloud-server><a rel="sponsored noopener" aria-label=腾讯云服务器优惠 href=https://cloud.tencent.com/act/cps/redirect?redirect=6544&cps_key=2e33a1eedb380997d03618b4a5ba6ca7&from=console target=_blank><img alt="腾讯云 AI 焕新云服务器优惠" decoding=async height=241 loading=lazy src=/uploads/affiliate/tencent-cloud-server.webp width=690> </a><span class=affiliate-disclosure>推广</span></div></div></div></div><div class="sidebar-inner sidebar-blogroll"><div class="links-of-blogroll animated"><div class=links-of-blogroll-title><i class="fa fa-globe fa-fw"></i> 链接</div><ul class=links-of-blogroll-list><li class=links-of-blogroll-item><a href=https://covermusic.cn/ rel=noopener target=_blank title=https://covermusic.cn>69伙伴</a></ul></div></div></aside></div><div class="main-inner post posts-expand"><div class=post-block><article class=post-content itemscope itemtype=http://schema.org/Article lang=zh-CN><link href=https://nicksxs.me/2026/09/11/deepseek-v41-flash-read-cache-write/ itemprop=mainEntityOfPage><span hidden itemprop=author itemscope itemtype=http://schema.org/Person><meta content=/uploads/avatar.jpg itemprop=image><meta content=Nicksxs itemprop=name></span><span hidden itemprop=publisher itemscope itemtype=http://schema.org/Organization><meta content="Nicksxs's Blog" itemprop=name><meta content="Nicksxs 的技术博客,深入 Java 运行时与生产诊断、低成本大模型推理和 Agent 工程实践。" itemprop=description></span><span hidden itemprop=post itemscope itemtype=http://schema.org/CreativeWork><meta content="DeepSeek V4.1 Flash 为什么更省:从读一段日志,到写出答案 | Nicksxs's Blog" itemprop=name><meta content="接着 3060 跑 FreeToken 的实操,从分析故障日志的例子出发,逐步理解 DeepSeek V4.1 Flash 的输入输出分工、缓存共享与压缩、局部重放、Engram 和推测解码,也算清激活参数、缓存与整机内存不是同一本账。" itemprop=description></span><header class=post-header><h1 itemprop="name headline" class=post-title>DeepSeek V4.1 Flash 为什么更省:从读一段日志,到写出答案</h1><div class=post-meta-container><div class=post-meta><span class=post-meta-item><span class=post-meta-item-icon><i class="far fa-calendar"></i> </span><span class=post-meta-item-text>发表于</span> <time itemprop="dateCreated datePublished" title="创建时间:2026-09-11 16:00:00" datetime=2026-09-11T16:00:00+08:00>2026-09-11</time> </span><span class=post-meta-item><span class=post-meta-item-icon><i class="far fa-folder"></i> </span><span class=post-meta-item-text>分类于</span> <span itemprop=about itemscope itemtype=http://schema.org/Thing><a href=/categories/LLM/ itemprop=url rel=index><span itemprop=name>LLM</span></a> </span></span><span class="post-meta-item cloudflare-page-counter" data-title="DeepSeek V4.1 Flash 为什么更省:从读一段日志,到写出答案" data-increment=true data-path=/2026/09/11/deepseek-v41-flash-read-cache-write/ title=阅读次数><span class=post-meta-item-icon><i class="far fa-eye"></i> </span><span class=post-meta-item-text>阅读次数:</span> <span class=cloudflare-page-counter-count></span></span></div><div class=post-description>接着 3060 跑 FreeToken 的实操,从分析故障日志的例子出发,逐步理解 DeepSeek V4.1 Flash 的输入输出分工、缓存共享与压缩、局部重放、Engram 和推测解码,也算清激活参数、缓存与整机内存不是同一本账。</div></div></header><div class=post-body itemprop=articleBody><p>前几天在自己的 3060 笔记本上<a href=/2026/09/08/freetoken-3060-wsl-pinned-memory-gpu-offload/>折腾 FreeToken</a>,我花了不少时间盯着显存占用。只有 6GB,模型又大,很容易顺着直觉想:是不是再多挤一点显存,就能快一点?<p>后来发现,要看的不止这个数字。专家权重放在哪里、什么时候搬进显存、CPU 和 GPU 有没有互相等待,都可能影响最终速度。有时候不是显卡算不动,而是数据还没准备好。<p>所以这次看到 DeepSeek V4.1 Flash 发布,我先没急着看排行榜。更想顺着上次的问题往前想一步:<strong>我们在运行阶段努力减少浪费,那么模型从设计开始,能不能就少算一点、少搬一点、少存一点?</strong><p>这篇不打算把一串新缩写摆出来挨个翻译。我们拿一个场景慢慢走:给模型一大段故障日志,请它解释连接超时。沿着日志进去、答案出来的过程,看看计算和存储分别花在哪里,又有哪些工作可以省。</p><span id=more></span><blockquote><p>资料范围:截至 2026 年 9 月 11 日,本文核对了官方发布说明、模型卡、公开参考推理代码及相关原始研究。V4.1 技术报告的 PDF 下载在本次环境中失败,因此不把本文称为对该报告的逐页复现。下文日志、动画和小数字例子均为教学示意,没有在本机部署 V4.1 Flash,也没有测量它的实际速度。</blockquote><h2 id=先把桌上的两样东西分开><a class=headerlink href=#先把桌上的两样东西分开 title=先把桌上的两样东西分开></a>先把桌上的两样东西分开</h2><p>假设你正在排查一个 Java 服务。你打开日志,看到大量正常请求,中间夹着几次超时。你想让模型帮忙找关联,于是把日志和问题一起发过去。<p>这时可以把模型的工作台想成两部分。<p>一部分是工具书:里面是已经学到的知识和处理问题的方法。它对应<strong>模型权重</strong>。这次换一份日志,不会因此重新训练整套权重。<p>另一部分是本次排查的工作笔记:刚读过什么、哪些中间结果后面还用得上。它对应请求相关的状态,其中很重要的一类就是 <strong>KV Cache</strong>。<p>工具书很大,工作笔记也可能很大。两者都要找地方放,但它们不是同一个东西。<p>这个区别看似简单,却能避免不少误解:缩小工作笔记,不意味着工具书也缩小了;同时接待更多请求,通常又会增加各自需要的工作空间。即使某些相同前缀可以共享,也不能把所有请求都当成同一份笔记。<p><img alt=权重、上下文缓存与临时缓冲的区别 loading=lazy src=/uploads/deepseek-v41-explained/memory.png><h3 id=日志不是以整篇文章为单位送进去的><a class=headerlink href=#日志不是以整篇文章为单位送进去的 title=日志不是以整篇文章为单位送进去的></a>日志不是以整篇文章为单位送进去的</h3><p>文字会先变成 token 序列。token 是分词器处理的单位,并不严格等于一个汉字、一个英文单词或一个字节。日志中的时间、标点、路径,也会参与分词。<p>模型处理整段输入、建立后续生成所需状态的阶段,通常叫 <strong>prefill,预填充</strong>。接着逐步生成新 token,叫 <strong>decode,解码</strong>。<p>“逐步”很重要。输入已经给定,其中不少计算可以批量进行;而生成时,下一个位置依赖已经生成的内容,存在顺序约束。这里说的是工作方式,不是承诺输入一定比输出快多少。<p>于是第一个问题自然来了:<strong>读很长的材料,只写很短的答案,两种工作有没有必要采用完全一样的计算安排?</strong><h2 id=第一笔账:读材料和写答案,重新分工><a class=headerlink href=#第一笔账:读材料和写答案,重新分工 title=第一笔账:读材料和写答案,重新分工></a>第一笔账:读材料和写答案,重新分工</h2><p>想象你要根据一百页日志写半页分析。最终答案虽然短,但为了准备它,前面的材料都需要处理。<p>如果某些状态可以由前一道工序直接提供,就不必让后一道工序对全部输入重复建立一遍。这里省的不是“日志不读了”,而是准备状态的路径发生变化。<p>这次 DeepSeek 将主干组织为前后二十层的 <strong>Causal Encoder-Decoder,因果编码器—解码器</strong>。后半段的全局 KV 来自前半段最终表示的投影,而不是每一层都从自己的隐藏状态独立生成。官方给出的激活参数量是输入阶段 8B、生成阶段 16B。<a href=https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash rel=noopener target=_blank>模型卡</a><p>可以暂时把“投影”理解成:把前半段已经算好的表示,转换成后半段需要的格式。它不是把日志转成一段人工可读的摘要,更不是先问一个小模型,再把文字回答交给另一个大模型。<p>“因果”也不表示模型真的懂得了故障的因果关系。这里主要描述信息可见性的约束:一个位置不能任意利用未来还没出现的 token。<p>共享全局缓存、让输入阶段提前结束部分计算,并不是没有前人工作的方向。可以对照 <a href=https://arxiv.org/abs/2405.05254 rel=noopener target=_blank>YOCO 原论文</a>:它把生成全局状态和使用这些状态分开。<strong>这是理解设计动机的参照,不代表两套模型的具体实现完全相同。</strong><h3 id=8B-为什么不是“小模型”的证明><a title="8B 为什么不是“小模型”的证明" class=headerlink href=#8B-为什么不是“小模型”的证明></a>8B 为什么不是“小模型”的证明</h3><p>MoE 可以拥有很多专家,却只让一部分专家参与当前 token 的计算。它更像一家有很多科室的医院,这次会诊只请了其中几位医生。来了几位,不等于医院一共只有几位。<p>官方说明的 552B 是主干参数口径;模型卡还单独列出了 196B 的 Engram 参数。不能拿输入激活的 8B 当成全部需要存储的参数,也不宜把主干数字和下载页面自动汇总的数字混为一谈。<a href=https://deepseek.com/news/deepseek-v4-1-flash/ rel=noopener target=_blank>发布说明</a>、<a href=https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash rel=noopener target=_blank>模型卡</a><p>记住两句话即可:<ul><li><strong>有多少参数</strong>,关系到模型容量和存储负担。<li><strong>一次激活多少参数</strong>,反映计算方面的重要信息,却不能单独决定速度。</ul><p>如果专家数据来不及送到计算单元,少激活也未必换来理想速度。这一点,恰好能接回上次 FreeToken 的实际经历。<h2 id=第二笔账:已经读过的内容,后面怎么找回来><a class=headerlink href=#第二笔账:已经读过的内容,后面怎么找回来 title=第二笔账:已经读过的内容,后面怎么找回来></a>第二笔账:已经读过的内容,后面怎么找回来</h2><p>现在模型开始组织回答。它想解释“连接超时”,需要回看前面的信息。<p>问题是,日志里可能有很多内容并不相关。一次正常心跳、一条请求完成记录,和错误前的重试配置,重要程度显然不同。<p>注意力机制就是让当前位置利用其他位置的信息。粗略说,当前查询 Q 会和历史位置的 K 做匹配,再用匹配结果组合 V 中的信息。<p>可以把 K 理解成线索,把 V 理解成取回来使用的内容。但请给这个比喻加一道边界:<strong>真正保存的是向量,不是模型写下的一列关键词和一段摘要。</strong> 它也不是像数据库索引一样保证精确命中某条事实。<p>KV Cache 保存这些可复用的中间状态,避免后面每生成一点内容,都把历史的 K、V 全部重算。<h3 id=只看重点,还不是全部答案><a class=headerlink href=#只看重点,还不是全部答案 title=只看重点,还不是全部答案></a>只看重点,还不是全部答案</h3><p>如果前面有很多位置,逐个做完整注意力计算会很贵。稀疏注意力先选出一部分值得看的位置,再重点处理。<p>不过,挑位置本身也要计算。假设第一位排查者已经找到几段相关日志,第二位接手时还从第一行开始找,虽然每个人最后都只精读几段,前面的筛选工作还是重复了。<p>所以接下来可以分开问:<ol><li>已经准备好的资料,下一层能不能共用?<li>已经挑出的相关位置,下一层能不能接着用?</ol><p>这正是 <strong>CSA2,Compressed Sparse Attention 2</strong> 里值得关注的部分。参考代码用来源层来管理共享的 KV 和索引,并提供候选预筛选相关配置。<a href=https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash/blob/main/inference/model.py rel=noopener target=_blank>官方参考实现</a><p><img alt=准备资料、重新筛选与复用筛选结果 loading=lazy src=/uploads/deepseek-v41-explained/reuse.png><p>为了理解分工,可以把三种模式记成三张交接条:<table><thead><tr><th>模式<th>接手时主要沿用什么<th>大白话<tbody><tr><td>Full<td>本组需要的新缓存和选择在这里建立<td>我准备资料,也找位置<tr><td>Reindex<td>已有缓存;重新选择关注位置<td>资料不重抄,但我有自己的问题<tr><td>Reuse<td>已有缓存和相关位置选择<td>这次连前面的页码也接着用</table><p><strong>Full 是这套模式的名字,不等于传统的全量密集注意力。</strong> 共享部分状态,也不等于后面的层被删除了,或各层输出完全相同。<p>分层索引还能把后续筛选限制在候选范围中。先圈出可能相关的部分,后续再细找,减少反复面向全部上下文的筛选。它同样有取舍:选得好不好,需要训练和质量评估;“计算变少”本身不能证明“一个重要细节都没有漏”。<h2 id=第三笔账:笔记共用了,每个数字还能不能更省地方><a class=headerlink href=#第三笔账:笔记共用了,每个数字还能不能更省地方 title=第三笔账:笔记共用了,每个数字还能不能更省地方></a>第三笔账:笔记共用了,每个数字还能不能更省地方</h2><p>到这里,我们讨论的都是少准备几份、少查几遍。还可以换一个方向:<strong>每份缓存本身能不能写得更紧凑?</strong><p>计算机保存浮点数要用比特。量化就是用较少的表示空间,近似保存原本更精细的数字。<p>举个与实际模型格式无关的小例子:原来需要区分 1.001、1.002、1.003,现在一种粗一点的刻度可能把它们放到附近同一个档位。空间变小了,但信息不可能原样无损保留。<p>因此不能把 FP4 理解成“给文件做一次 ZIP 压缩”。它涉及精度取舍和缩放信息,训练与推理内核也要配套。直接把旧模型的缓存强制截短,不等于得到同样的模型表现。<p>V4.1 Flash 使用 FP4 主 KV 缓存。官方公布的组合结果,是全局 KV 每 token 890 字节,相对 V4 Flash 约缩至四分之一。这里同时包含架构和共享等设计的作用,不能全部归功于 FP4。<a href=https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash rel=noopener target=_blank>官方模型卡</a><h3 id=一起算一次,但只算这一栏><a class=headerlink href=#一起算一次,但只算这一栏 title=一起算一次,但只算这一栏></a>一起算一次,但只算这一栏</h3><p>如果用十进制的一百万 token 举例:<figure class="highlight text"><table><tr><td class=gutter><pre><span class=line>1</span><br><span class=line>2</span><br><span class=line>3</span><br><span class=line>4</span><br></pre><td class=code><pre><span class=line>1,000,000 token × 890 字节/token</span><br><span class=line>= 890,000,000 字节</span><br><span class=line>= 0.89 GB</span><br><span class=line>≈ 0.829 GiB</span><br></pre></table></figure><p>这是从官方每 token 数字推导的<strong>全局 KV 理论账面量</strong>,不是实测显存。<p>为什么我特意写这句?因为很容易顺手得出“百万上下文只要不到 1GB 显存”的结论,接着再想“我的小显卡也行”。<p>这张账单还没有加上权重、局部状态、运行时缓冲、内存分配粒度以及其他请求。实际系统还可能做分片、共享或额外预留。<strong>只算一栏算得很准确,也不能拿它代替总账。</strong><p>还可以再想一步:如果你真的把一百万 token 填满,缓存占得下只是第一关。读入要多久、能否找到分散的信息、回答是否正确,是另外几关。<h2 id=第四笔账:只管最近一段的状态,为什么一直放硬盘><a class=headerlink href=#第四笔账:只管最近一段的状态,为什么一直放硬盘 title=第四笔账:只管最近一段的状态,为什么一直放硬盘></a>第四笔账:只管最近一段的状态,为什么一直放硬盘</h2><p>并非所有注意力都需要回看整个历史。有一类只关注最近的窗口,叫滑动窗口注意力,SWA。<p>像排查日志时,你一边保留全局线索,一边盯着错误附近的连续记录。全局线索和局部工作状态,保存价值并不一样。<p>假设局部状态过期了,但需要的原始片段还在。与其把所有局部状态长久保存,不如需要时只重放最近那个有限窗口,补回继续工作所需的状态。<p>这就是 <strong>SWA Bounded Replay</strong> 的直观动机。官方将持久缓存降至前代约八分之一,与局部 KV 不再需要持久保存到 SSD 联系起来。<a href=https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash rel=noopener target=_blank>模型卡</a><p>注意它不是“删掉旧日志”,也不是“重算整个历史”。它改变的是局部计算状态的存储与恢复方式。有限重放具体怎样衔接缓存、误差和边界,需要看实现与验证,不能单凭比喻推断逐位等价。<p>这属于典型的时间与空间交换:恢复时多做一些计算,换长期存储和传输的减少。如果每次都频繁恢复,收益又可能不同。<p>因此官方的“HBM 约四分之一”和“SSD 约八分之一”不能互换。HBM 是加速器上的高带宽内存;SSD 是固态存储。它们都可能放缓存,但访问方式和成本差异很大。<a href=https://deepseek.com/news/deepseek-v4-1-flash/ rel=noopener target=_blank>发布说明</a><h2 id=到这里停一下:几种省法到底省了什么><a class=headerlink href=#到这里停一下:几种省法到底省了什么 title=到这里停一下:几种省法到底省了什么></a>到这里停一下:几种省法到底省了什么</h2><table><thead><tr><th>你在解决的问题<th>这里讨论的办法<th>不能顺手推出的结论<tbody><tr><td>输入很多,准备状态太贵<td>输入输出分工、复用编码状态<td>输入完全不用算了<tr><td>各层反复准备和筛选历史<td>共享 KV、复用索引、候选筛选<td>后面的层完全相同<tr><td>中间数字太占地方<td>低比特缓存<td>精度无损、全部内存都同比减少<tr><td>局部状态长期存储太贵<td>有限窗口重放<td>恢复零成本、日志被删除</table><p>你不必背住所有缩写。只要遇到“提速”“省显存”时,愿意追问一句<strong>具体少了哪份工作</strong>,基本就不会被几个大数字带走。<h2 id=还有一种重复工作:熟悉的模式为什么也要重新重建><a class=headerlink href=#还有一种重复工作:熟悉的模式为什么也要重新重建 title=还有一种重复工作:熟悉的模式为什么也要重新重建></a>还有一种重复工作:熟悉的模式为什么也要重新重建</h2><p>前面讲的是这次日志产生的缓存。现在换一种东西:训练中学到的记忆。<p>我们看到一个熟悉的固定表达,往往能直接认出来,不必每次都从头拆解。模型能不能也有一条更直接的查找路径,把一部分网络计算留给真正需要组合和推理的地方?<p><strong>Engram</strong> 提供的是条件记忆:根据局部 token 组合做确定性查找,取出训练得到的表示,再通过上下文相关的处理融入计算。它与 MoE 的按需计算形成互补。<a href=https://arxiv.org/abs/2601.07372 rel=noopener target=_blank>Engram 原论文</a><p>这里有三种“记忆”值得分开:<ul><li>KV Cache:这次请求的计算状态。<li>Engram:训练得到的、可按条件访问的模型记忆。<li>外部检索:从模型之外的文档或数据库获取资料。</ul><p>Engram 不等于联网搜索,也不是把完整事实逐条存进一个能直接阅读的问答表。它并不保证查一次就能解决问题。<p>它的表仍然要存储,访问仍然需要带宽。如果按“每次只查一点”就认为整个表不占空间,又回到了激活量与总容量混淆的问题。<p>这项研究早于本次模型发布。理解这层关系,比把每个出现在新模型里的名字都叫作“全新发明”更有帮助。<h2 id=最后一笔账:答案为什么一定得等那么多次><a class=headerlink href=#最后一笔账:答案为什么一定得等那么多次 title=最后一笔账:答案为什么一定得等那么多次></a>最后一笔账:答案为什么一定得等那么多次</h2><p>日志读完,相关内容也找好了,接下来是输出。<p>通常生成下一个 token,要依赖前面的结果。即便每一步已经比较省,只要串行轮次多,等待还是会累积。<p>推测解码换了一个做法:先用较便宜的草稿计算准备多个候选,再由主模型验证。能接受的部分推进,不能接受的部分修正。<p>这并不是“让小模型代替大模型回答”。严格的推测采样还需要处理接受概率和拒绝后的分布修正,目的在于加速而不任意改变目标采样分布。动画中的绿格、红格只用来表示接受与退回,不是完整数学算法。<a href=https://arxiv.org/abs/2211.17192 rel=noopener target=_blank>推测解码原论文</a><p><img alt=候选草稿、主模型验证和拒绝后的修正 loading=lazy src=/uploads/deepseek-v41-explained/dspark.png><p>V4.1 的 DSpark 使用半自回归草稿和基于置信度的验证安排;相关实现也能看到草稿头和置信度头的区分。<a href=https://docs.vllm.ai/en/latest/api/vllm/models/deepseek_v4_1/amd/dspark/ rel=noopener target=_blank>vLLM DSpark 实现说明</a><p>收益取决于草稿是否容易被接受,以及草稿、验证、状态管理各自要花多少时间。一个任务中经常猜错,另一个任务中经常猜对,两者不会有同样的收益。<p>因此我不会在没有实际测量时写“必定快两倍”。也不要把推测解码路线写成本次才出现的新概念。<h2 id=为什么还要说训练和多模态><a class=headerlink href=#为什么还要说训练和多模态 title=为什么还要说训练和多模态></a>为什么还要说训练和多模态</h2><p>少算一点,并不会自动让答案更可靠。改变计算路径之后,还需要让模型学会使用它,并通过任务验证。<p>官方说明,这个版本从预训练阶段就联合处理视觉和文字表示;后训练基本流程仍是 SFT、RL、在线策略蒸馏,主要扩展在任务与数据环境,而非替换成一套新的后训练算法。<a href=https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash rel=noopener target=_blank>模型卡</a><p>理解这些概念不必从缩写开始。先看别人怎样完成任务,再自己做、接受反馈,然后把能力进一步传递或巩固,是一个粗略的学习类比。真实训练还涉及奖励是否可信、环境是否足够多样、任务是否污染评测集等问题,远比类比复杂。<p>至于 <strong>Single-Pass mHC</strong>,它涉及模型内部多条信息流如何混合。可以先把残差连接理解成“在新计算之外保留已有信息的通道”;通道变多,表达可能更丰富,也更需要控制混合的稳定性和执行开销。<a href=https://arxiv.org/abs/2512.24880 rel=noopener target=_blank>mHC 原论文</a><p>这里我只把它放回正确的位置,不仅凭名字展开未核实的内核步骤,更不把所有能力提升都归因于它。<h2 id=普通使用者最后该看什么><a class=headerlink href=#普通使用者最后该看什么 title=普通使用者最后该看什么></a>普通使用者最后该看什么</h2><p>对写代码、查日志、处理文档的人来说,与其只记参数表,不如拿自己经常做的任务记录四件事:<ol><li><strong>答案是否可验证。</strong> 故障原因有没有日志证据,建议能不能执行,还是看起来很像那么回事。<li><strong>总共等了多久。</strong> 首字等待和后续生成要分开,Agent 还要算工具调用与重试。<li><strong>任务到底花了多少钱。</strong> 不只看单价,还要看输入输出量、缓存命中和重复尝试。<li><strong>长上下文究竟有没有用上。</strong> 能接收一份长文档,与稳定利用其中的信息,不是同一能力。</ol><p>这些是建议的验证方法,不是本文已经测出的结论。本文没有新建付费 DeepSeek 调用,也没有将这套超大模型重新装到 3060 上。<p>官方基准测试还涉及推理强度、工具框架和上下文设置。比较时要把条件一起看,而不是截下一行分数就宣布所有任务全面胜出。<h2 id=回到开始的那段日志><a class=headerlink href=#回到开始的那段日志 title=回到开始的那段日志></a>回到开始的那段日志</h2><p>现在再看日志进去、答案出来的过程,就不只剩一个“大模型在思考”的黑箱了。<p>读的时候,关注输入是否走了不必要的完整路径;记的时候,关注哪些状态可以共享、哪些数字可以压缩;查的时候,关注筛选是否重复;写的时候,关注串行等待能否用草稿与验证减少。<p>这和上次在 3060 上调 FreeToken 有一点相通:<strong>优化往往不是把某个数字拉满,而是先找出重复或昂贵的工作,再判断改变它的代价。</strong><p>我们上次动的是运行方法。这次研究者动的是模型结构。层次不同,但都需要把计算、容量、带宽和正确性分开算清楚。<h3 id=继续读原始资料><a class=headerlink href=#继续读原始资料 title=继续读原始资料></a>继续读原始资料</h3><p>建议先读官方模型卡建立全貌,再根据自己感兴趣的问题选一篇原始研究,不用一次把所有论文啃完。<ul><li><a href=https://deepseek.com/news/deepseek-v4-1-flash/ rel=noopener target=_blank>DeepSeek V4.1 Flash 发布说明</a>:发布信息与官方缓存对比口径。<li><a href=https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash rel=noopener target=_blank>官方模型卡</a>:架构说明、参数口径与评测条件。<li><a href=https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash/blob/main/DeepSeek_V41_Tech_Report.pdf rel=noopener target=_blank>V4.1 技术报告 PDF</a>:后续深入阅读入口;本次未成功下载,不作逐页引述。<li><a href=https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash/blob/main/inference/model.py rel=noopener target=_blank>官方参考推理代码</a>:从缓存来源层、候选索引和草稿结构继续往下看。类中的小模型默认值不是发布模型配置;参考实现也不等于完整生产服务。<li><a href=https://arxiv.org/abs/2405.05254 rel=noopener target=_blank>YOCO</a>:理解生成全局状态与使用状态分工的已有研究。<li><a href=https://arxiv.org/abs/2601.07372 rel=noopener target=_blank>Engram</a>:理解条件记忆与条件计算的区别。<li><a href=https://arxiv.org/abs/2211.17192 rel=noopener target=_blank>推测解码</a>:理解候选、接受和分布修正。<li><a href=https://arxiv.org/abs/2512.24880 rel=noopener target=_blank>mHC</a>:理解残差信息流、连接方式与稳定性的关系。</ul><p>文中配图及配套视频为原创原理演示。动画中的格子数、运动时间和简化数据不对应实际模型层数、运行时序或吞吐;视频使用 MiMo AI 配音。</div><footer class=post-footer><div class="affiliate-creative affiliate-creative--post-end" data-affiliate-id=tencent-cloud-server><a rel="sponsored noopener" aria-label=腾讯云服务器优惠 href=https://cloud.tencent.com/act/cps/redirect?redirect=6544&cps_key=2e33a1eedb380997d03618b4a5ba6ca7&from=console target=_blank><img alt="腾讯云 AI 焕新云服务器优惠" decoding=async height=241 loading=lazy src=/uploads/affiliate/tencent-cloud-server.webp width=690> </a><span class=affiliate-disclosure>推广</span></div><div class=reward-container><div>请我一杯咖啡吧!</div><button>赞赏</button><div class=post-reward><div><img alt="Nicksxs 微信" src=https://i.loli.net/2020/01/12/NUlWanT31E8LQGx.png><span>微信</span></div><div><img alt="Nicksxs 支付宝" src=https://ooo.0o0.ooo/2016/08/17/57b421e773057.jpg><span>支付宝</span></div></div></div><div class=post-copyright><ul><li class=post-copyright-author><strong>本文作者: </strong>Nicksxs<li class=post-copyright-link><strong>本文链接:</strong> <a title="DeepSeek V4.1 Flash 为什么更省:从读一段日志,到写出答案" href=https://nicksxs.me/2026/09/11/deepseek-v41-flash-read-cache-write/>https://nicksxs.me/2026/09/11/deepseek-v41-flash-read-cache-write/</a><li class=post-copyright-license><strong>版权声明: </strong>本博客所有文章除特别声明外,均采用 <a href=https://creativecommons.org/licenses/by-nc-sa/4.0/ rel=noopener target=_blank><i class="fab fa-fw fa-creative-commons"></i>BY-NC-SA</a> 许可协议。转载请注明出处!</ul></div><div class=post-tags><a href=/tags/DeepSeek/ rel=tag># DeepSeek</a><a href=/tags/KV-Cache/ rel=tag># KV Cache</a><a href=/tags/%E6%A8%A1%E5%9E%8B%E6%8E%A8%E7%90%86/ rel=tag># 模型推理</a></div><div class=post-nav><div class=post-nav-item><a title="Running a 35B MoE on a 6GB RTX 3060: the OOM was not where I expected" href=/2026/09/08/freetoken-3060-wsl-pinned-memory-gpu-offload-en/ rel=prev><i class="fa fa-angle-left"></i> Running a 35B MoE on a 6GB RTX 3060: the OOM was not where I expected</a></div><div class=post-nav-item><a title="Pi Agent 源码解析(一):从调试环境到双层主循环" href=/2026/09/13/Pi-Agent-%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90-%E4%BB%8E%E8%B0%83%E8%AF%95%E7%8E%AF%E5%A2%83%E5%88%B0%E5%8F%8C%E5%B1%82%E4%B8%BB%E5%BE%AA%E7%8E%AF/ rel=next>Pi Agent 源码解析(一):从调试环境到双层主循环 <i class="fa fa-angle-right"></i></a></div></div></footer></article></div><div class=comments id=disqus_thread><noscript>Please enable JavaScript to view the comments powered by Disqus.</noscript></div></div></main><footer class=footer><div class=footer-inner><div class=beian><a href=https://beian.miit.gov.cn/ rel=noopener target=_blank>浙ICP备16002580号-2 </a><img alt src=/uploads/beian.png><a href=https://beian.mps.gov.cn/#/query/webSearch?code=33010602011094 rel=noopener target=_blank>浙公网安备 33010602011094号</a></div><div class=copyright>© <span itemprop=copyrightYear>2026</span><span class=with-love><i class="fa fa-heart"></i> </span><span class=author itemprop=copyrightHolder>Nicksxs</span></div></div></footer><div class="toggle sidebar-toggle" role=button><span class=toggle-line></span><span class=toggle-line></span><span class=toggle-line></span></div><div class=sidebar-dimmer></div><div aria-label=返回顶部 class=back-to-top role=button><i class="fa fa-arrow-up fa-lg"></i><span>0%</span></div><a aria-label="在 GitHub 上关注我" title="在 GitHub 上关注我" class=github-corner href=https://github.com/nicksxs rel=noopener target=_blank><svg viewbox="0 0 250 250" aria-hidden=true height=80 width=80><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" style="transform-origin:130px 106px" class=octo-arm fill=currentColor></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" class=octo-body fill=currentColor></path></svg></a><noscript><div class=noscript-warning>Theme NexT works best with JavaScript enabled</div></noscript><script data-cloudflare-page-counter-config type=application/json>{"enable":true,"endpoint":"https://counter.nicksxs.me","site":"nicksxs","local_cache":true,"timeout":5000,"icon":"far fa-eye","item_text":true}</script><script src=/js/cloudflare-page-counter.js></script><script class=next-config data-name=disqus type=application/json>{"enable":true,"shortname":"nicksxs","count":false,"i18n":{"disqus":"disqus"}}</script><script defer src=/js/third-party/comments/disqus.js></script>