万亿参数大模型深度拆解:MoE架构、推理成本与部署实务

万亿参数这个词,这两年快被各大厂商发布会用成形容词了。好像不挂上这个数,都不好意思喊自己旗舰。但真正做深度量化分析的人都清楚,参数总量只是入场券,决定这头巨兽强不强的,是激活参数、推理成本、数据规模和部署可行性这套完整的账。这次G厂发布的G3,又把旗舰大模型的讨论热度推到了新高度。这篇不吹性能,只把G3从参数量级、架构选择、成本账本三个维度拆一遍,顺便聊聊到底哪些团队才适合上这种量级的模型。如果你正纠结要不要接万忆参数模型,或者想看明白它强在哪,这篇都是给你写的。

1. 万亿参数到底意味着什么

1.1 万亿参数不是形容词,是账单

先纠正一个容易被带偏的认知:参数不是可以无限堆高的数字,参数就是真实存在的显存、算力和时间账单。

参数可以简单理解为模型里的“记忆单元”和“权重系数”,它把训练阶段学到的世界知识、语言规律和推理模式都压缩在这堆数值里。一个参数要用一个浮点数存下来,主流精度BF16下每个参数占2字节。算一笔最基础的账:

1B参数 × 2字节 = 2GB 100B参数 × 2字节 = 200GB 1T参数 × 2字节 = 2TB

如果G3这类模型的总参数按接近4T的量级来估算,那光是模型权重这一项,在BF16精度下就要占用7TB以上的显存。一张主流加速卡显存按80GB算,光是把权重均匀塞进显存,就需要近百张卡。这还没算KV Cache、中间激活值和通信冗余。

我习惯把这种规模差异用一句话说给团队听:十亿参数是单卡玩具,百亿参数是小集群,万亿参数是数据中心级别的东西。三者之间不是“多一点”的区别,而是整个工程体系的断层。很多从中小模型迁移过来的团队,第一次估算万亿模型部署成本时都是懵的,因为之前几十亿模型出现显存问题,加张卡就行,万亿模型根本没有“加张卡”这种选项。

1.2 缩放定律面前,“大”也要讲边际效益

那参数越大一定越强吗?模型效果确实会随参数、数据、算力同步增加而提升,这是缩放定律的基本结论。但很多人忽略后半句:收益是边际递减的。光把参数翻倍,训练数据和训练时长不跟上,能力提升很有限;反过来,如果数据质量足够硬,中等规模模型也够逼近大模型。

我判断一个模型值不值得用,更看重“有效参数利用率”。简单说就是每个参数到底在推理时发挥了多大作用。纯稠密结构下,所有参数处理每个token都要全量参与计算,万亿规模的算力成本几乎不可接受。所以现在的超大模型几乎清一色走稀疏架构,用MoE把参数总量做上去,但每次只激活一小部分。这也是为什么公开宣传的总参数和实际推理成本经常对不上号。

给非算法背景的朋友打个比方:参数总量像一家公司的总员工数,激活参数像实际参与当前项目的员工数。大公司人多,但真正决定“这个需求能不能快速交付”的,不是总人数,而是能不能快速抽出一支合适队伍,以及队伍之间的协作链路干不干净。

1.3 训练成本才是“巨兽”的真正门槛

推理已经够贵了,训练更是大多数人想都不敢想的数字。训练一个万亿参数模型的计算量,通常可以用一个简化公式估算:

训练总计算量 ≈ 6 × 模型总参数 × 训练token数

假设总参数4T,训练数据规模20T tokens,那总计算量就是480E FLOPs这个量级。哪怕用几万张当前最强加速卡组成集群,也要连续跑上好几个月。中间还要考虑数据并行、流水线并行、专家并行之间的通信开销,实际利用率能到40%已经算很优秀了。

所以看到万亿模型发布,我的第一反应从来不是“哇,好强”,而是“背后烧了多少资源,这条路对普通团队到底还有没有意义”。

2. 架构拆解:为什么“巨兽”要在MoE里养

2.1 稀疏激活:真降本,也真复杂

MoE是目前支撑超大规模模型的主流架构,核心思路并不玄:把Transformer里的前馈网络层拆成许多独立的“专家”子网络,推理时通过路由网络,只挑最相关的几个专家参与计算。常见的做法是Top-2路由:每个token挑2个专家,其他专家待命。

用医院做类比最贴切。大医院科室分得很细,普通感冒不会惊动心脏外科,路由就是分诊台,只把病人分给对应科室的几个医生,而不是让全院一起会诊。这样一来,处理效率上去了,整体资源消耗也小得多。

这种设计的量化收益相当可观。假设总参数4T,每层有256个专家,每个token只激活Top-2专家,再叠加共享的注意力参数,实际激活的参数可能只有总参数的十分之一左右。前向计算量、单token延迟和推理成本都因此大幅下降,这也是“万亿参数”从营销数字变成可用产品的关键前提。

但MoE一招鲜也有代价。专家一多,负载不均衡就会非常头疼。如果某个专家老是被选中,其他专家长期“饿死”,模型就会退化成少数专家反复干活,稀疏性红利全被吃光。所以工程上必须加负载均衡损失,在路由打分里引入随机噪声,再做Top-K重加权。

2.2 原生多模态不是“拼接”,是统一编码

G3这代旗舰的另一个核心卖点是原生多模态。这个词必须解释清楚,它不是简单地把一个图像模型和一个文本模型拼起来,而是让文本、图像、音频、视频统一进入同一套Transformer主干处理链路。模型看到的不是孤立的文本或者图片,而是统一被拆解成token序列,在同一个模型内部完成跨模态的语义融合。

这种设计能带来非常明显的连贯性优势。比如让模型“看一张图表,再生成一段数据解读”,视觉信息和文字指令可以在模型内部共享注意力状态,而不是在两个模型之间生硬地传来传去。实测这类架构在跨模态指令跟随、视频理解、多轮图文对话中,会明显更接近人的处理方式。

但原生多模态也意味着输入预处理更复杂。图片要大图细节,就得做高分辨率patch切分;视频要考虑帧采样率和时间上下文;音频要和文本时间轴对齐。任何一个环节拖后腿,对应模态的能力都会被明显削弱。所以我在做评测时,永远把纯文本、图文混合、视频理解分开测,避免一个综合分数掩盖某个模态的真实水平。

2.3 长上下文背后藏着显存杀手

“长上下文”已经是旗舰模型标配,动辄几十万甚至百万token。但我一直提醒团队,长上下文有两个大坑:一是注意力机制带来的KV Cache显存暴涨,二是模型对长文本里“远处信息”的利用能力并不总是随长度线性增长。

KV Cache的规模可以用公式快速估算:

KV Cache大小 ≈ 层数 × 注意力头数 × 每头维度 × 2(Key和Value)× 序列长度 × 单参数位宽

举个例子,一个120层模型,每层32个KV头、每个头维度128、BF16精度下,每个token大约占用:

120层 × 32头 × 128维 × 2 × 2字节 ≈ 1.97MB / token

如果上下文拉到128K,单用户单次请求的KV Cache就可能到240GB以上。这就是为什么长上下文模型普遍要用GQA、滑动窗口注意力、缓存分页和上下文压缩技术。我看到有人在小模型上强行拉长上下文,序列一长就直接爆显存,根因就在这个公式上。

2.4 路由、负载均衡和专家并行是隐形战场

很多人只盯着参数数字,忽略了万亿模型真正难的地方在工程。MoE的专家分布在不同设备上,每一个token都要经历两步关键通信:第一步,路由网络决定这个token去哪几个专家;第二步,token被传输到对应专家所在设备,算完再把结果传回来。这个All-to-All通信才是MoE推理架构里最让人头疼的部分。

路由策略也不能拍脑袋。Top-1选择最省计算量,但专家利用率低,单个专家容易过拟合;Top-2信息更丰富,但通信和计算都会翻倍;Top-4以上很少用,因为收益递减,通信代价反而显着。实际调参时,负载均衡loss的权重、路由噪声大小、专家容量上限,每一项都会影响最终效果。

用一句话总结:万亿参数模型的架构设计,不是为了让数字好看,而是为了能在实际硬件上跑得起来。MoE、多模态统一编码、KV Cache压缩,全是冲着工程可行性去的。

3. 性能与成本量化:这笔账怎么算

3.1 推理成本先算笔明白账

把万亿模型部署到生产环境,最现实的指标不是“模型分多高”,而是“跑一次要花多少钱、多长时间”。我习惯按下面这套链路算推理成本:

  1. 看激活参数:总参数除以稀疏倍率,得到单token实际参与计算的参数量。假设4T总参数、稀疏倍率1/10,激活参数约400B。
  2. 算单token浮点运算量:前向推理大约等于2倍激活参数,也就是800B FLOPs/token。
  3. 对照硬件算力:单张主流加速卡BF16理论算力按1000 TFLOPS算,单卡每秒理论可处理约2500 token;实际利用率能做到30%就不错,也就是700到800 token/秒/卡。
  4. 如果要支撑1000 token/秒线上吞吐,不做任何优化,至少要两三张卡持续满载;再考虑到显存放不下权重,推理集群实际上要几十上百张卡才能起来。

下面这段Python是我平时快速估算用的,逻辑很简单,但能帮团队在开会时迅速对齐数量级。

def estimate_inference_cost(total_params=4e12, activate_ratio=0.1, tokens=1_000_000): active_params = total_params * activate_ratio flops = 2 * active_params * tokens print(f"激活参数: {active_params / 1e9:.1f}B") print(f"{tokens / 1e6:.0f}M token前向推理约: {flops / 1e15:.2f} PFLOPs") # 假设每百万token API价格2.5美元 print(f"按API价格估算: ${tokens / 1e6 * 2.5:.2f}")

这里要特别提示,API定价往往输出比输入贵2到5倍。生成类任务输出token多,预算偏差极易失控。批量场景如果只按输入价格做预算,月底账单会让你怀疑人生。

3.2 榜单分数只能当参考,不能当真理

量化分析第二件事,是学会正确看评测分数。各家榜单的分数,很多是在特定提示模板、特定few-shot样例、甚至特定复现代码下跑出来的。同一个模型,把评测集提示语改一改,分数能上下跳动好几个点。

我自己的做法是建一套固定提示版本:一组题覆盖数学、代码、逻辑、指令跟随、长文本理解,每次测同一个模板,不看单一综合分,而是盯住几个更接近真实业务的指标:

  • 胜率:在A/B盲测中,新模型赢过基线模型的比例;
  • 能力密度:单位推理成本换来的任务分数;
  • 幻觉率:开放问答中模型自信但内容错误的比例;
  • 长文本有效利用率:真正用上后半段信息的能力比例。

这些指标加起来,才勉强能回答“到底有多强”。只看排行榜名次,基本等于用别人的考卷替自己做决策。

3.3 能力密度:“大”不是唯一标准

能力密度是我个人最看重的量化维度,它算的是“每花一块钱,能拿到多少模型能力”。万亿模型综合分可能只高三个百分点,但价格是百亿模型的二十倍,这三个百分点在很多业务里未必值得。

维度万亿级旗舰千亿级主流
单次推理计算量(激活参数)200B-500B量级10B-50B量级
部署最少卡数数十到上百张1到8张
单token成本较高可控
优势场景复杂推理、代码、跨模态理解摘要、分类、抽取、常规对话
主要风险成本高、链路复杂、响应慢复杂任务成功率有限

我的结论不是“大模型没用”,而是绝大多数落地场景里,千亿级模型配合检索增强和流程编排,已经能覆盖95%的日常需求。只有真正涉及高难度数学推理、复杂代码生成、深度多模态理解这些“硬骨头”时,才值得为万亿参数付费。

4. 部署实操:真上万亿模型会遇到什么

4.1 显存估算和并行策略是第一步

真准备自建推理服务,第一件事一定是做显存预算,而不是急着拉集群。权重显存之外,KV Cache和中间激活值必须一起算进去。我常用的估算公式是这样:

单卡需要容量 =(权重总字节 + KV Cache总字节) / 并行卡数 + 每卡激活值余量

假设权重7.4TB、128K上下文KV Cache总占用500GB、目标用128张80GB卡,每卡大约需要:

(7400GB + 500GB) / 128 ≈ 61.7GB

再留出激活值和框架运行时开销,80GB卡勉强能跑。这让很多团队倒吸一口气:大盘拉起来就是百卡起步,网络和机房规划全得跟上。

并行策略上,张量并行负责切分权重和注意力头,流水线并行按层切分,专家并行把不同专家分到不同设备。三种并行往往要同时叠加,示意配置大概长这样:

张量并行:4 流水线并行:8 专家并行:16 总卡数:4 × 8 × 16 = 512

注意,并行度不是越高越好。过度切分会导致大量时间花在通信上,GPU算力再强也白搭。部署前一定要确认卡间网络走的是什么协议。张量并行需要极高带宽的卡间互联,专家并行的All-to-All最吃网络延迟,普通万兆以太网在这种规模下基本是噩梦。

4.2 推理延迟比想象中更难压

百卡集群不一定代表低延迟,因为一个token在MoE模型里走的路非常长。它要先把表征发给路由网络,再把token路由到专家所在设备,计算完再聚合回来。几次跨设备通信下来,首token延迟很容易被放大到不可接受。

我排查推理性能时通常按顺序看四个环节:

  1. 预填充阶段:计算密集加通信密集,优先优化注意力算子和张量并行度;
  2. 解码阶段:变成访存密集,KV Cache的读取速度和缓存命中率更关键;
  3. 投机解码:用小模型先草拟多个候选token,大模型并行验证,能显著降低单token生成延迟;
  4. 动态批处理:把多个请求拼一起推理,用GPU并行性摊薄固定开销。

没有这些优化,模型直接放上去,线上并发会低到让人怀疑是不是跑在了假集群上。我见过不止一个团队堆了百卡,可吞吐还不如托管API的十分之一,原因就是通信和调度的坑全踩了一遍。

4.3 部署时的避坑清单

这里整理一下我实际踩过的坑,每一条都值得标记重点:

  • 不要忽视权重格式。直接用BF16全精度部署,显存压力很大;切到INT8或INT4,要额外确认量化后路由判断和专家选择是否稳定。
  • 不要指望“加载一次就完事”。做滚动升级时,模型分片版本不一致会导致推理结果漂移,排查起来非常痛苦。
  • 不要把全部专家卡在少数节点上做负载均衡。热点请求一上来,单卡被打爆,其他卡空转,吞吐瞬间崩盘。
  • 不要只盯GPU利用率。更该盯网络通信等待时间、路由均衡度、KV Cache命中率,这几个指标才是MoE模型的真实瓶颈。

提示:如果只是业务验证阶段,我强烈建议先用厂商托管API跑一轮真实评测,把成本和效果确认清楚再考虑自建。自建带来的额外收益如果覆盖不了人力与硬件开销,就是纯亏本买卖。

5. 常见问题与排查实录

5.1 高频问题速查表

问题典型表现排查思路
API并发上不去请求排队、超时增多检查限流策略,增大批处理,开启异步推理
长上下文效果变差序列一长就答非所问检查缓存是否截断,拆成多轮子任务处理
量化后能力崩塌模型明显变傻,逻辑混乱回退到更高精度,检查敏感算子是否被量化
MoE小批量推理很慢单条请求延迟远超预期提高并发批量,减少跨设备通信次数
部署后显存溢出服务跑一段时间崩溃监控KV Cache增长,启用分页和缓存清理
输出价格超预算账单明显偏高控制生成长度,启用输出缓存,融合更小模型预排

这类问题大多不是模型本身不行,而是工程侧没有适配稀疏架构的节奏。

5.2 量化分析最容易翻车的三个点

第一,把“总参数”当“激活参数”用。总参数是宣传数字,激活参数才是决定推理成本和速度的真实数字。讨论部署成本时,一定要先问清楚稀疏倍率。

第二,把“榜单分数”当“真实效果”。榜单是封闭题集上的快照,提示词模板一变,分数就可能大幅漂移。业务场景里的真实数据分布、指令表达方式,和评测集往往差距很大。

第三,只看单一指标。推理场景要同时看延迟、吞吐、成本和成功率。单看延迟,可能忽略了吞吐损失;单看成本,可能忽略了效果塌方。四项联合起来看,才是完整的量化判断。

6. 最后分享一点个人体会

做了这么多年模型选型和部署,我最大的感受是:越大的模型,越考验使用者的量化意识。会算账、会拆架构、会看评测,才能在这些万亿参数旗舰面前保持理性。我的建议很具体:先用托管API做小成本验证,用上面这套方法把成本和效果算清楚,再决定要不要为那几个百分点投入真正的大规模自建资源。不是所有人都需要养一头巨兽,但如果你确认自己的场景复杂到非它不可,那请记住,真正的挑战从发布那一刻才开始。

相关新闻

Gemini 3万亿参数模型深度拆解:架构、性能与落地成本分析

Gemini 3万亿参数模型深度拆解:架构、性能与落地成本分析

Gemini 3 的正式发布,直接把大模型竞争拉进了一个新阶段:真正的万亿参数级多模态模型,开始从新闻通稿走向 API 和真实业务流。如果你只是把它看成上一代 Gemini 的例行升级,那就低估了这次迭代的分量。无论是参数规模、上下文窗口…

2026/10/20 15:47:42 阅读更多 →
零售巨头沃尔玛的时尚化转型:数据驱动的品类扩张与顾客资产运营

零售巨头沃尔玛的时尚化转型:数据驱动的品类扩张与顾客资产运营

沃尔玛如何将每周1.45亿顾客转化为时尚受众实体零售圈这两年有个很有意思的观察点:沃尔玛这家以“天天低价”立命的折扣巨头,正在偷偷把时尚生意做得越来越像回事。不管是自有服装品牌的翻新、高端设计师联名线的推出,还是App里那个改版后明显…

2026/10/20 15:47:42 阅读更多 →
200GB出租车数据单机分析:PySpark+Dask+Datashader多引擎实践

200GB出租车数据单机分析:PySpark+Dask+Datashader多引擎实践

简介:针对NYC出租车数据集(约200 GB)的处理与分析教学包,面向使用Python生态处理大规模数据的开发者,覆盖从AWS EC2 Hadoop集群部署、Cloudera平台搭建,到借助Datashader完成可视化的工作流程。包内共13个文…

2026/10/20 15:47:42 阅读更多 →

最新新闻

放弃图形化工具,用Git Bash高效管理本地文档的完整指南

放弃图形化工具,用Git Bash高效管理本地文档的完整指南

1. 为什么我最终放弃了图形化工具,回归 Git Bash 管理本地文档很多人第一次接触版本管理,都是从图形化客户端开始的。点几下按钮,仓库就建好了,提交记录也看得见,似乎没什么门槛。但用得越久,我越发现一个尴…

2026/10/20 20:04:05 阅读更多 →
从三个字母到可运行系统:模糊需求下的技术推演与工具设计

从三个字母到可运行系统:模糊需求下的技术推演与工具设计

1. 当标题只剩三个字母时,我在想什么第一次看到这个项目标题的时候,我盯着屏幕愣了大概十秒钟。就三个字母,"rea"。没有正文,没有关键词,没有摘要描述,什么都没有。这种输入状态其实比给一堆杂乱…

2026/10/20 20:04:05 阅读更多 →
贝叶斯优化实战:从网格搜索到高效超参数调参

贝叶斯优化实战:从网格搜索到高效超参数调参

简介:面向机器学习与深度学习实践者的贝叶斯优化实战资源包,聚焦超参数自动化调优这一影响模型性能的关键环节,解决手动试错低效、难以找到最优组合的痛点。包内共4个文件,含两个Python脚本,分别演示贝叶斯优化在ML与D…

2026/10/20 20:04:05 阅读更多 →
C盘无损扩容实战:用DiskGenius挪空间不重装系统

C盘无损扩容实战:用DiskGenius挪空间不重装系统

简介:本资源是一份面向Windows系统用户、特别是SSD主盘空间紧张的普通用户与IT初学者的C盘无损扩容实操指南,解决不重装系统、不格式化分区、不丢失数据的前提下扩大系统盘容量的核心痛点。教程基于免费版DiskGenius(v5.4.6.1441)…

2026/10/20 20:04:05 阅读更多 →
泰山派移植OV8858驱动并添加自动聚焦功能

泰山派移植OV8858驱动并添加自动聚焦功能

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 20:04:05 阅读更多 →
百度网盘免费发放500G空间了,大家记得及时领取

百度网盘免费发放500G空间了,大家记得及时领取

话不多说,直接上图免费网盘空间500G是有30天时效性的,不过每个自然月都是可领取的,大家过期之后记得重新领取即可。比较适合短期应急使用,全程免费,官方长期活动。

2026/10/20 20:03:02 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →