显存不够怎么训练大模型?页式调度与低秩压缩的实战解析

1. 为什么普通显卡跑大模型训练这么难

1.1 显存消耗不只是模型权重这么简单

很多人以为训练一个10B参数的模型,只要显卡能装下20GB的半精度权重就能开始。实际一算会发现,这只是冰山一角。训练过程中GPU里同时要放四类东西:模型参数、梯度、优化器状态、中间激活值。以10B模型为例,半精度参数占20GB;反向传播要用的梯度约20GB;再配上常见的优化算法,还要额外维护FP32主权重、一阶动量和二阶动量,这三个副本加起来是120GB。光参数、梯度和优化器状态就已经到了160GB左右,普通显卡常见的24GB显存连零头都不够。

更麻烦的是激活值不能简单压缩成“一个数”。每一层前向传播会生成大小为“序列长度乘隐藏维度”的中间矩阵,反向传播时还要重新读出来算梯度。层数越深、序列越长,这部分需求就越夸张。理论上注意力机制的中间表示还会随序列长度二次增长,所以在同样参数规模下,处理长文本比短文本更容易爆显存。明白了这层账,就能理解为什么显存墙如此难以逾越——市面上大多数“小显存也能跑大模型”的技巧,本质上都是拆东墙补西墙,只是拆的方式不同。

1.2 普通显卡和专业训练卡之间的差距到底在哪

先不聊技术方案,单看硬件差距。一块消费级普通显卡的显存往往在12GB到24GB之间,而专业训练卡可以到80GB甚至更多;显存带宽方面,普通显卡普遍在几百GB每秒,训练卡依靠更宽的高性能显存通道,往往能翻一到两倍。最关键的还是数据交换能力:专业训练卡之间通常配了专用高速互联通道,多卡通信速度接近PCIe的十倍,而普通显卡只能走标准PCIe总线,跨卡通信本来就慢,更别说还要跟CPU内存、SSD打交道。

对这个方案来说,真正的分水岭是PCIe带宽和CPU内存带宽。数据从内存搬到显存,或者从显存写回内存,速度和PCIe总线强相关。PCIe 4.0 x16实际可用带宽大概二十多GB/s,而GPU显存带宽动辄500GB/s以上,差了二十倍。如果训练过程中每步都要搬运几十GB数据,搬运时间反而会盖过计算时间,这也是很多显存优化工具在实际跑起来特别慢的根本原因。

1.3 传统卸载策略为什么只能缓解,不能根治

传统思路是“放不下就搬到CPU内存里”,听起来简单,代价却很隐蔽。GPU要用的数据在显存里,工效最高;一旦搬到内存,每次用的时候就得通过PCIe总线拷回来。如果每个训练step都要把几十GB数据来回搬,训练时间会被传输过程大量占据,GPU只能干等着。于是业界又加上了梯度检查点:前向传播时不再保存每一层激活,反向传播用到时重新算一遍,以计算换显存。这个方案很有效,但代价是GPU利用率明显下降。

再把优化器也卸载到CPU内存,每次更新都要同步一次状态,过程会进一步串行化。所以早先这类方法都存在一个共同点:可以训练更大的模型,但速度掉得非常明显。有人会问,那为什么还要用?因为对很多个人开发者来说,能跑起来已经比跑不起来强太多。而这次联合团队的新方案,跟这些“减配”路线不太一样,它把目光放在了更底层的存储调度和压缩表示上,这也是我读完报告后觉得最有意思的地方。

2. 这次的新思路:显存不是仓库,而是缓存

2.1 一句话概括:把存储系统当成虚拟内存来设计

先抛结论:这项方案的核心,是把GPU显存、CPU内存、NVMe硬盘看成三层缓存,而不是三个孤立的仓库。GPU显存是最快的L1,CPU内存是容量更大但稍慢的L2,NVMe SSD则当可扩展的L3。训练过程中的参数页、梯度页、优化器状态页会被动态放置在最合适的那一层,而不是永远固定“模型在哪一层就在哪一层”。这套逻辑看起来像操作系统的虚拟内存,只是它专门针对训练流程做了优化。

具体落地时有三个关键设计。第一,所有大张量都会被切分成固定大小的页,例如256KB一个单位,搬运粒度比整个张量细得多;第二,每一页都带状态标记,包括“是否最新”“是否被修改”“未来何时会被再次使用”;第三,框架会静态分析计算图,得到每个页在后续迭代中的“使用距离”,距离远的数据优先换出,即将用到的数据提前预取。通过这三个机制,训练需要的绝大部分数据其实都不必常驻显存,真正常驻的只是未来几步马上要用的部分。这个思路把显存从“仓库”变成了“流水线中转站”。

2.2 低秩投影压缩激活值:有损,但收益可观

权重和优化器可以靠调度搬来搬去,激活值却不行,它前向刚生成、反向立刻要用,搬运太频繁。于是这套方案用了第二个方法:低秩投影。每一层生成的激活矩阵可以近似分解成两个更小的矩阵乘积,原本要存储一个“序列长度乘隐藏维度”的大矩阵,变成存一份低维紧凑表示。反向传播需要时,再把它重建出来。这么做相当于给激活值做了一次有损压缩,不是无损的,但省出的空间非常可观。

当然,代价是压缩和重建都会花额外GPU时间。研究团队在实验里通常会控制压缩后的低秩半径,不让精度损失扩大。如果隐藏维度是4096,压缩半径取1024到1536,激活存储量大约能降到原来的三分之一到一半,模型规模稍微大一点也能明显节省显存。如果压缩半径进一步降到四分之一以下,收敛曲线就会出现可见的抖动,这个我在后面的实测部分会细说。对于长序列任务,激活值压缩带来的收益尤其明显,因为节省的存储量和序列长度成正比,序列越长,压缩越划算。

2.3 计算、传输、压缩三条流水线重叠是提速关键

把数据搬到内存并不天然更快,关键是能不能“搬的同时不算”。现代GPU有独立的拷贝引擎和异步执行队列,可以一边做矩阵计算,一边在后台搬运数据。传统卸载策略之所以慢,往往是同步搬运:算完一步,停下来等数据传输,再继续下一步。新方案把一次迭代拆成多个流水级,在计算当前层时,预取下一层需要的页;在处理当前层反向时,压缩并换出未来很久才会用到的旧页。传输被计算掩盖后,GPU利用率自然就上来了。

这其实是一个很工程化的取舍:先做计算图分析,把每个页的生命周期提前算清楚,再通过异步队列把搬运指令插入到计算间隙里。理想状态下,搬运时间完全被计算时间吃掉,外部看起来仿佛数据是“瞬移”的。社区里有人把这一套称为“训练流水线的指令重排”,我觉得比技术报告里那些术语更形象。实现层面并不简单,但收益非常直接,实测数据就是最好的证明。

2.4 它和传统离线卸载的本质区别

很多人可能会说:这不就是把参数放到CPU内存里吗?其实差别很大。传统卸载是“整个张量放在某个固定位置,用时整体拷贝”,新方案是“把张量切成页,按页管理生命周期,并且结合低秩压缩之后再做调度”。前者的调度粒度是一整个矩阵,搬运某层参数时动辄几个GB,总线很快被占满;后者的调度粒度可以细化到几百KB,更容易找到计算间隙把传输塞进去。

另一个本质区别是“是否需要预知未来”。传统卸载是被动加载,模型用到哪个参数就拷哪个参数,遇到冷启动就会产生长等待。新方案则基于静态计算图做了未来访问预测,在真正需要某个页之前就已经发起预取。这两个差异叠加起来,导致同样是在24GB显存机器上训练13B模型,体验完全不一样。理解了这一点,后面看到实测量级提升就不会觉得意外。

3. 实测数据:提升幅度、资源占用与收敛性

3.1 测试环境与对照组怎么设置

我在本地搭了一套接近“普通GPU”的测试环境:一块24GB显存的消费级显卡、64GB DDR5内存、一块消费级NVMe SSD,训练的是约13B参数的decoder-only模型,序列长度2048,batch size取了1。对照组使用业界常见的卸载方案:把优化器状态放在CPU内存,每个step更新前拷回GPU。为了保证对照公平,两边的混合精度策略、学习率和训练轮数完全一致,跑500步后对比吞吐量和验证loss。

这里有个容易踩的坑:对比不同显存优化方案时,如果各自batch size不一致,数据就乱了。训练效率应该以“每GPU每秒处理的token数”为准,而不是只看单步时间。不同方案为了塞进显存会调整batch size,单步时间短但batch小,吞吐反而更低。我用固定batch下的吞吐作为指标后,结果才真正可比。这个比较思路也值得你写实验报告时参考。

3.2 吞吐提升到底有多少

直接给数据:相同硬件条件下,新方案的吞吐大约是传统卸载方案的2.2倍,峰值显存占用还低了约30%。传统对照组平均每step有接近一半时间在等PCIe传输,新方案中这个比例降到了10%出头。也就是说,提升不是来自模型计算变快,而是来自让GPU少等数据。如果模型规模继续增大到30B参数,传统卸载已经慢到不太可用,新方案仍能稳定推进,只是吞吐会继续下降,因为压缩和重建也在消耗算力。

不同规模模型下的收益也不是线性的,我整理了一张个人实测的表:

模型规模GPU显存占用CPU内存占用相对传统卸载的提升
7B约18GB约20GB约1.4倍
13B约22GB约40GB约2.2倍
30B约23.5GB约90GB约1.9倍

这张表是在我自己的测试平台上得到的,不代表所有任务都这样,但它反映了一个规律:当模型规模刚超出显存容量一到两倍时,新方案收益最突出;超出太多时,任何软件优化都会被底层带宽物理限制。如果你手里的显存比这个模型的需求还小,别指望方案能变魔法,它只能帮你把原先跑不动的任务变得能跑,不能把物理瓶颈直接抹掉。

3.3 显存占用不是平稳曲线,而是周期性锯齿

用监控工具看这个方案训练,会看到一个和传统训练完全不同的显存曲线。传统训练中,显存占用先快速爬升到峰值附近,然后长时间保持高位。新方案则是周期性锯齿:前向传播过程中显存占用逐步上升,到某个点突然下降,再上升,再下降。下降的部分就是后台把未来距离远的页换出了。只要峰值不超过物理显存,锯齿的谷底有多低并不重要。

这个特征有实际意义。如果你看到显存曲线几乎不波动,说明调度没有生效,可能某个配置把整层张量都钉在显存里了。如果锯齿波动过于剧烈,说明页切得太碎或者换出策略太激进,预取频繁命中失败,效率反而低。理想的波形是:每个训练step的显存峰值保持稳定,谷底占峰值的60%左右,波形平滑。调参的时候盯这个形状比盯数字有用。

3.4 收敛质量与压缩强度如何取舍

有损压缩听着吓人,但在我的复现里,只要压缩半径设置合理,训练质量损失不大。隐藏维度4096时,把压缩半径设为1024,最终验证loss与无压缩基线相差不到0.05;下游评测分数大约波动0.2到0.4个点,在可接受范围内。把压缩半径降到512后,问题开始出现:loss下降变慢,梯度范数噪声变大,最终验证loss差了能有0.3以上。

所以实际使用时,压缩强度不是越狠越好。我的经验是:第一轮先保守一点,用四分之一半径跑通;再根据显存余量逐步加大压缩强度,同时观察loss曲线和梯度范数。如果显存已经够用,没必要开压缩;如果开了压缩后loss变坏,优先降低压缩强度,而不是去调学习率。模型的敏感度存在个体差异,同一个压缩参数换一个模型,效果可能完全不一样。

3.5 为什么有人会觉得“提升没那么大”

这套方案对硬件细节非常敏感,这也是很多复现者觉得“有时有用有时没用”的原因。上面表格里2.2倍的提升,是在我刻意把内存插满双通道、关闭多余后台任务之后跑出来的。如果把PCIe链路走芯片组转接,或者系统内存只有单通道,提升倍数很可能滑到1.3倍以下。原因很简单:后台搬运链路本身变成了瓶颈,再怎么优化调度也无济于事。

所以如果你想评价这套方案,最好先确认自己的机器满足基本条件:显卡插在直连CPU的插槽、PCIe通道没有被降速、内存至少双通道、系统留有余量。否则,你测出来的只是“自己机器上的结果”,不能说明方案本身不行。这也是我在测试过程中最看重硬件条件的原因。

4. 普通用户落地时要调好的几个旋钮

4.1 先在小模型上验证梯度正确性

直接拿13B模型试,很容易把新方案和模型问题混在一起,出错了不知道是显存调度坏了还是模型实现坏了。我建议无论目标多大,都先用1B左右的小模型做检查:打开训练,跑三个step,对比开启调度前后的梯度shape和数值统计,确认梯度能正常回传。然后再把模型换成目标规模。这样即使用途不同,至少可以迅速定位是调度的锅还是模型的锅。

小模型验证还有一个好处:可以把低秩压缩关掉,专门验证页式调度本身;也可以把调度关掉,专门验证压缩。两件创新点分开测,比直接叠在一起排障容易得多。等各自都稳定了,再一起开启,整体调试时间反而更短。我自己做这类实验时,至少会保留一份“纯模型训练、不开优化”的基线输出,方便后面随时做差分对比。

4.2 三个关键参数:压缩半径、页大小、预取距离

这套方案最常用的有三个旋钮。第一个是压缩半径,控制激活值的压缩强度,建议初始值为隐藏维度除以4;第二个是页大小,控制调度和搬运的最小单位,常见区间是64KB到256KB,我习惯从128KB起步;第三个是预取距离,控制提前多少页发起异步拷贝,这个值取决于PCIe带宽和计算速度,一般从4开始试。

判断参数是否合适的标准很简单:GPU利用率长期低于70%,先拉长预取距离,再看页大小;显存峰值压到上限附近,先减小预取距离,再考虑开大压缩强度。不要同时改三个参数,一次只动一个,记录每一步的稳态吞吐,否则很难知道是谁起的效果。整个调参过程有点像是给训练流程做“交通信号灯配时”,要点是让计算不空转、显存不溢出,每一步都有明确目的。

4.3 内存和SSD该准备多少才够

普通人的机器内存可能是32GB或64GB,够不够取决于模型规模。我测试时13B模型配合64GB内存很轻松,但如果想跑30B模型,内存最好有128GB,否则L2层容量不足,大量数据会被挤到SSD上,吞吐就明显下降。SSD方面,消费级NVMe也能当L3用,前提是只存放“未来很长时间用不到”的冷页,高频访问的数据留在内存。换句话说,SSD更像保险库而不是工作台,不用追求企业级产品。

还有一个容易忽略的点:CPU内存带宽决定L2层的访问速度。如果内存只有单通道或者频率很低,即便容量够,后台预取还是会卡在内存带宽上。有条件的话,尽量把内存插成双通道,并开启主板上的高带宽模式。这一步不会提升理论峰值,但能明显减少整机后台搬运的瓶颈。我自己一开始就是把内存插在非理想通道上,跑了几天都没注意到问题,后来换通道带宽直接翻了一倍。

4.4 性能不达预期时的排查顺序

如果按照上述配置跑下来,速度仍然不理想,我建议按顺序排查。第一,看GPU空闲率:如果GPU经常有空闲等待,说明预取不够深,把预取距离调大;第二,看显存波形:如果曲线不波动,说明页没有被正确换出,查张量页的标记或者是否被某个操作固定住了;第三,看压缩开销:如果GPU利用率很高但整体吞吐一般,可能是压缩半径设得太大,矩阵乘法反而成了负担,调低压缩强度试试;第四,确认是不是PCIe降速:某些主板在持续高负载下会把PCIe链路降速,可以用工具检查当前链路状态,必要时重启恢复。

以上顺序是按照“传输断层、调度失效、计算冗余、硬件降频”四个方向来排查的,基本可以覆盖绝大多数“方案跑起来但没有变快”的情况。如果都查完了还是慢,大概率是硬件物理瓶颈,这时候任何软件优化都救不了,只能降低模型规模。与其硬扛,不如把模型缩小,至少训练能稳定推进。

5. 我实际跑下来的几条经验

5.1 别把CPU内存用到100%

一次实验中我把系统内存占用推到了95%以上,结果操作系统的页面回收和训练框架自己的调度互相打架,训练速度反而下滑了一两成。后来我把训练框架允许占用的内存上限设成物理内存的85%,给操作系统留出足够余量,速度才回到正常水平。这个坑很反直觉,因为大家总觉得容量浪费可惜,但缓存系统最怕的是上层做了一次不可控的二次换页。

5.2 学会看显存锯齿图,比看任何指标都有用

实际操作中,我几乎不看宣传口径里的“提升倍数”,只看监控软件里的显存占用曲线。曲线有规律的锯齿,说明换入换出是按照计算图分析在走;曲线平滑得像传统训练,说明这个方案基本没在工作。调参时把锯齿的形状调匀,比单纯调大预取距离更能稳定提升。换个角度说,普通人验证方案是否生效,不需要懂全部实现,会看这张图就够了。

5.3 这个方案适合谁,不适合谁

综合来看,这项研究的真正价值是把“超出单卡显存一档”的训练任务拉回普通GPU能力范围。最适合两类人:一是做个人实验、只有一块卡但有耐心调参的开发者;二是中小团队想在内部机器上做全参数微调,但预算不足以买训练卡。不适合两种情况:一是模型规模远超显存容量好几倍,摸着物理极限硬跑;二是数据量很小、显存本来够用,再引入压缩和调度反而是浪费。

先判断自己的场景落在哪一端,再决定要不要折腾这套方案,比直接抄配置重要得多。反正我自己现在遇到新任务,第一步不是去查参数,而是先估算模型规模和显存的关系,确定它到底适合传统训练、传统卸载,还是值得用上这种分层缓存思路。这个顺序捋清楚了,后面就不会白费力气。

相关新闻

低压大电流LDO选型指南:7V/1A场景下的压差、散热与外围设计

低压大电流LDO选型指南:7V/1A场景下的压差、散热与外围设计

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

2026/10/21 1:52:34 阅读更多 →
显示驱动调试工具全解析:从寄存器到链路分析的高效排查指南

显示驱动调试工具全解析:从寄存器到链路分析的高效排查指南

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

2026/10/21 1:52:34 阅读更多 →
Zot 镜像同步实战:从定时到按需,3种方式打通跨区域镜像分发

Zot 镜像同步实战:从定时到按需,3种方式打通跨区域镜像分发

Zot 镜像同步实战:从定时到按需,3种方式打通跨区域镜像分发 【免费下载链接】zot zot - A scale-out production-ready vendor-neutral OCI-native container image/artifact registry (purely based on OCI Distribution Specification) 项目地址: ht…

2026/10/21 1:52:34 阅读更多 →

最新新闻

Wi-Fi MAC Layer: Scanning, Authentication, Association, and Data Transmission Processes

Wi-Fi MAC Layer: Scanning, Authentication, Association, and Data Transmission Processes

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

2026/10/21 2:25:53 阅读更多 →
ROS2笔记1

ROS2笔记1

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

2026/10/21 2:25:53 阅读更多 →
26 精武杯手机部分复盘

26 精武杯手机部分复盘

【简要案情】 近期,某市反诈部门接到多名群众报案,均遭遇“投资理财”类电信网络诈骗,指向的犯罪团伙涉案资金巨大、作案链条隐蔽。办案单位迅速成立专案组开展电子数据取证工作。经初查,该犯罪团伙搭建虚假投资平台,通…

2026/10/21 2:25:53 阅读更多 →
PHP安全漏洞修复指南:防SQL注入与XSS

PHP安全漏洞修复指南:防SQL注入与XSS

一、为什么 PHP 项目总被盯上做 PHP 开发这些年,我见过太多项目上线后被黑的情况。说句实话,大部分漏洞并不是什么高深的技术,翻来覆去就是 SQL 注入和 XSS 这两类。很多新手写代码的时候图省事,直接把用户输入拼进 SQL 语句&…

2026/10/21 2:25:53 阅读更多 →
中小企业建数据中台预算不多怎么办?先把这 5 笔成本拆开,别只问报价

中小企业建数据中台预算不多怎么办?先把这 5 笔成本拆开,别只问报价

报价单拿到手,最常见的第一反应是"怎么比我想的贵这么多"。而这个"我想的",通常是拿一套软件的价钱估出来的。 这篇为谁写:中小企业里兼管数据的 IT、被老板一句"我们是不是该上中台,先报个价"问到…

2026/10/21 2:25:53 阅读更多 →
C语言基础笔记 04 指针

C语言基础笔记 04 指针

00 包 目前CLion的最新版本还不支持中文&#xff0c;需要导入#include <stdlib.h> &#xff0c;再在main函数内写system("chcp 65001");才能在代码中用中文stdlib 还可以提供动态内存分布——malloc函数01 使用原因对于函数&#xff0c;在函数外定义的变量&…

2026/10/21 2:24:52 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事&#xff1a;AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里&#xff0c;按宣传口径&#xff0c;本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”&#xff0c;而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起&#xff1a;用户到底在追求什么“封号重开”这四个字&#xff0c;放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流&#xff0c;背后是大量的时间和精力成本。正常情况下&#xff0c;没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”&#xff0c;而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时&#xff0c;就意识到&#xff1a;单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在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 阅读更多 →