4096 块卡一起跑,为什么快不到 4096 倍
这周只收一条。 问题先摆出来:为什么 4096 块 GPU 一起跑,速度不是单块的 4096 倍。 简单说,卡在同步。每一步,所有卡都要在同一个屏障前碰头。这批的耗时由最慢的那块定,不由平均速度定。 这叫掉队者问题。一句话讲清楚:掉队者不是坏卡,是慢卡。 这个词不新。

这周只收一条。 问题先摆出来:为什么 4096 块 GPU 一起跑,速度不是单块的 4096 倍。 简单说,卡在同步。每一步,所有卡都要在同一个屏障前碰头。这批的耗时由最慢的那块定,不由平均速度定。 这叫掉队者问题。一句话讲清楚:掉队者不是坏卡,是慢卡。 这个词不新。

上周日晚上,clone 仓库,npm install,build,然后跑 bash examples/tryit.sh。 脚本在临时目录里造两个假 store,跑一遍 capture、PII 拦截、导出、逐条导入,完事自己删干净,不碰你本机的任何 config。

最近两拨声音同时在冒:一拨说某些项目的 CLAUDE.md 又涨回三百行了,另一拨干脆主张把这文件删了。听着对立,其实是同一个抱怨的两头——一头嫌没地方放,一头嫌放不下。把这两拨读成"大家写文档的纪律不行",是最省事也最没用的读法;把镜头拉远一点看,这从来不是纪律问题。
arXiv 上那篇 MACGen,我本来是要划过去的。"安全代码生成"这六个字见太多了——挂个漏洞库、塞进 prompt、指标涨了,收工。结果摘要里一句话把我按住了: agent 之间不共享完整对话历史。 第一反应:这算什么卖点?后来发现整篇的轴就在这一句上。 先坦白我为什么本来不想看。

半夜刷 GitHub notifications,顺手往旁边的 trending 瞟了一眼,瞟到一个名字特别不正经的仓库:franzenzenhofer/bigarrowonthescreen。

不破例不行。候选池里躺着两个,一个我摸了三天还没摸明白它到底想解决什么,另一个 README 写得漂亮得可疑,翻进代码就三个文件,手一抖就关掉了。都不写。 倒是两周前在 dev.to 划到的一篇帖,一直在脑子里转。

先把最刺的那句说掉:把 diff 丢给一个审查代理,让它一口气看安全、复杂度、命名和文件组织、逻辑、注释风格——这件事在提示词层面没救。不是你没写清楚,是它一轮装不下这么多要求。编码代理不擅长遵循一长串复杂指令,但把它放进单独一轮、只让它找一类特定问题,表现会好很多,好到你怀疑是不是换了模型。

我打开 Alan Bellows 那个 Random Insult Generator,本来是想看它能骂多脏,结果还没被脏话逗笑,先被页脚那行版权戳了一下——1999–2026,Alan Bellows,保留所有权利。这行字活得比我前公司的招牌都久。旁边还缀着一个 Y2K certified 的小徽章。

volatile uint32t counter; 这一行 C,编译器给你的东西是一个 SRAM 单元。不是比喻,就是一个 SRAM 单元。你把某个工艺库的 standard cell 手册翻出来,找到那个六管单元,看它的电路图:两个反相器首尾咬住,两条位线从外侧切进来。
九月底,睡前刷 dev.to,刷到一篇 Oniria 的开发日志。作者把 DEV 的文章搬进了一个 Three.js 的 3D 环境。 本来打算看两眼就睡的。看到一半我坐起来了。 他的做法是把文章变成图书馆里的实体书。房间对应分类,书架对应合集,书就是文章。你得走进去,找到那一排,把书拿下来,看完再放回去。

先说结论:9 月 15 号 dev.to 那篇讲「别把技术当你的全部人格」的文章,正文给三分,评论区给八分。 标了 AIassisted。这标记现在基本等于一张免责声明——题目不错,骨架外包,自己往里填两段个人经历收尾。我不反感 AI 辅助,我反感它写出来像一份建议清单,不像一次实测。 照一照。

最近有人在传一个叫 FreeLLMAPI 的开源项目。 一句话讲清楚:它把几十家厂商的免费 LLM 额度,收拢成你本地的一个 OpenAI 兼容端点。 你的应用还是连 /v1,只是 baseurl 从某一家换成了 http://localhost:3001。 免费额度攒一堆到底有没有用,上期我留了个"看情况"。

第 138 天。今天没学新东西,把上个月接的活收尾了。 楼下做私房蛋糕的王姐,之前看到我给老大做的那个接送排班表,问我能不能也给她做一个预约的表单,扫码填,选日期,选蛋糕。我说能。 报价的时候我干了件蠢事。 她问大概多少钱。我心里想的是一个表单,俩小时的事,报多了不好意思,人家天天给老大塞小饼干。我说 500。
arXiv 2608.25241,题目起得一点不抓人,A Few Pages of Markdown。八月挂的 v1,九月中补了 v2,八个作者。没人转给我,我大概就划过去了。 但最值钱的那个数不在这几个时间点上。是 73.8%。不是那个四级模型,是这个数。等会儿说为什么。 先画开它在量什么。

arXiv 2608.25466 现在挂在那儿,1 KB。 先画一张图,比我说半天管用: 八月底投的,九月底改了一版,然后撤了。撤稿说明很直白:传错了版本,作者要重传一个对的。 6,605 KB 掉到 1 KB。1 KB 是个什么长度?大概就是一个注释。
同一个 prompt,同一个模型,隔半小时再跑,结果不一样。 很多人先怀疑自己 prompt 写得不稳。 不是。模型每次吐给你的不是一个字,是词表上的一整个概率分布。后面那堆参数,全在回答同一件事:这个分布里,你信哪一部分。 先讲 temperature。它被高估了。

圈内内参。这期不碰大厂内部,记一件更小但更锋利的事:有人在 dev.to 上写了篇《I Built a Better Codex Pet Than OpenAI Did》,用一只只跑 Linux 的 alpha 阶段桌面宠物,把 Codex Pets 的“存在论”顶出来了。

速评:Radicle 9 月 23 号自曝两个漏洞,从第一个版本到最新发布全中。 节点之间传数据明文裸奔,握手阶段还能冒充别人的 Node ID。真正该看的不是"有没有洞",是这俩洞长在哪儿。 不是数据模型,不是签名那一层。
9 月 24 号那篇讲 Python 对象模型的文章,技术骨架是干净的。变量是名字绑到对象上,不是盒子装数值——y = x 之后两个名字打印同一个 id,is 是 True;不可变类型被"修改"时是重绑到新对象,不是原地变更;可变默认参数只在函数定义那一刻创建一次,之后每次调用复用同一个列表对象;

Mika Flowers 在 dev.to 上把两封邮件的时间戳并排贴出来。我盯着看了会儿,第一反应不是生气,是熟悉。 那种熟悉,跟 review 一段 agent 生成的代码差不多——文件名读对了,模式匹配上了,活交了,diff 干净,逻辑自洽,就是没读过上下文。
