260322|笔记本运行巨型AI模型,Cloudflare标记archive.today

260322|笔记本运行巨型AI模型,Cloudflare标记archive.today

NaN分钟 ·
播放数6
·
评论数0

今日 Hacker News 精选:在笔记本电脑上运行 3970 亿参数模型,探讨 JavaScript 依赖膨胀的根源,并看 AI 如何分析长达 25 年的购物收据。

Flash-MoE:在笔记本上运行 3970 亿参数模型

MacBook 上的 397B 模型

Flash-MoE 项目成功在一台配备 48GB 统一内存的 Apple M3 Max 芯片的 MacBook Pro 上,运行了 3970 亿参数的 Qwen3.5 混合专家模型 (Mixture-of-Experts, MoE)。该模型以每秒超过 4.4 个 token 的速度生成高质量文本,并支持工具调用功能。

整个实现不依赖 Python 或任何主流框架,仅使用 C、Objective-C 和手写的 Metal 着色器。模型权重总计 209GB,通过定制的计算管线直接从 SSD 流式加载到内存中。

核心技术:流式加载与手写着色器

项目成功的关键在于多项底层优化。首先,模型庞大的专家权重按需从 NVMe SSD 读取,每一层只加载当前计算所需的 4 个活跃专家。项目并未设计复杂的缓存机制,而是完全依赖操作系统的页面缓存,实现了约 71% 的缓存命中率。

其次,所有关键计算,如矩阵向量乘法、激活函数和注意力机制,都由手写的 Metal 计算着色器在 GPU 上执行。通过将 CPU 准备数据和 GPU 计算两个环节重叠执行,进一步提升了效率。

硬件限制与优化取舍

开发过程发现,在 Apple Silicon 的统一内存架构下,SSD 的直接内存访问 (DMA) 与 GPU 计算无法有效并行。由于 GPU 内核已达到内存带宽瓶颈,任何后台的 SSD 读写都会通过内存控制器竞争,显著增加 GPU 计算延迟。因此,串行执行(GPU 计算 → SSD 读取 → GPU 计算)成为最佳方案。

项目还尝试了多种未能奏效的优化,包括 LZ4 专家压缩、I/O 预取和异步 I/O 接口,这些方案的开销都超过了其带来的收益。

JavaScript 依赖膨胀的三大支柱

为旧环境兼容买单

许多 npm 包为了支持非常陈旧的 JavaScript 运行时(如对应 IE6 的 ES3),内置了大量现代平台已原生提供的功能代码。例如,使用 is-string 包而非 typeof 检查,或 hasown 包而非 Object.hasOwn

对于绝大多数使用现代浏览器或 Node.js 的开发者而言,这些兼容代码是完全不必要的。有社区成员指出,虽然大部分人不需要,但在某些企业或嵌入式系统中,旧版本支持仍是关键需求,直接移除可能导致生态分裂。

原子化架构的代价

原子化架构主张将功能拆解成极小的、可复用的包。理论上,这能促进代码复用,但实践中带来了新问题。许多这类“原子”包仅被同一个维护者的另一个包使用,效果等同于内联代码,却增加了 npm 请求、文件解压和供应链攻击的风险。

此外,这种架构容易导致依赖树中出现同一模块的多个不同版本,增加了最终打包体积。社区有观点认为,问题不在于原子化思想本身,而在于当前工具链在版本解析和摇树优化 (tree-shaking) 方面支持不足。

过期的“Ponyfill”

Ponyfill 是一种不污染全局环境的 Polyfill,供库开发者安全地使用未来功能。问题在于,当某项功能已被所有主流环境支持后,对应的 Ponyfill 往往没有被及时移除。例如,用于提供 Object.entries 等功能的 Ponyfill 每周仍有数百万次下载,增加了不必要的代码。

解决方案与工具

文章作者认为,JS 生态的大多数用户在为少数人的向后兼容需求付出代价。维护者和使用者应共同审视依赖,移除不必要的包。社区也提供了一些工具来应对依赖膨胀,例如 knip 用于发现死代码,npmgraph 用于可视化依赖树,以及 module-replacements 项目提供了可被原生功能替代的包列表。

AI 分析我 25 年的购物收据

一个长达 25 年的数据项目

一位技术爱好者自 2001 年以来,扫描并保存了所有消费收据,共计 11,345 张。最近,他利用 AI 编码代理,耗时 14 天,分析了这些收据,目标是追踪 25 年来鸡蛋的价格。

整个项目作者的实际键盘操作时间约 15 小时,主要负责下达指令,AI 代理则执行了大部分编码和数据处理工作。项目共消耗 16 亿 token,最终找到了 589 张包含鸡蛋信息的收据。

AI 工具栈解决现实难题

项目遇到了多种真实世界的数据难题。对于混杂在白色背景上的多张收据,传统计算机视觉方法均告失败,最终通过 Meta 的 SAM3 模型一次调用就成功分割。对于方向不一的扫描件,直接将图像喂给大型语言模型(LLM)进行 OCR,效果远超 Tesseract 等传统工具。

项目中期,作者引入了可在本地 GPU 运行的 PaddleOCR-VL 模型,大幅提升了 OCR 的准确性和效率。当需要从文本中提取结构化数据时,正则表达式暴露出大量漏报,而 LLM 则能更准确地识别缩写和 OCR 错误。

人机协作的成果与成本

项目展示了人与 AI 协作的强大能力。作者负责发现问题和制定策略,AI 代理则负责实现、修复和大规模应用。例如,当发现一个隐藏在 OCR 噪声中的商店地址后,作者向代理展示了模式,代理便成功恢复了 40 张缺失位置信息的收据。

最终数据显示,项目总花费约 1,591 美元,成功记录了 8,604 个鸡蛋的购买信息,总花费 1,972 美元。作者认为,项目的成功依赖于专业模型的组合:SAM3 负责图像分割,PaddleOCR 负责文本提取,而 Codex 和 Claude 等通用 LLM 负责其余所有工作。

我的第一个 Linux 内核补丁

自制 Hypervisor 引发系统崩溃

一位开发者在构建一个类似 KVM 的 Type-2 hypervisor 时,发现程序在多核物理机上运行时,系统会频繁崩溃。但在虚拟机环境下或绑定到单个核心时,程序运行正常。

日志显示,一个核心在处理不可屏蔽中断 (NMI) 时发生页面错误,导致该核心瘫痪。随后,其他核心因无法与该核心通信而陷入死锁,最终拖垮整个系统。

追溯 x86 任务状态段

问题的根源在于 hypervisor 需要正确管理宿主机 (host) 和客户机 (guest) 的 CPU 状态。其中,x86 架构的任务状态段 (Task State Segment, TSS) 地址必须被准确写入虚拟机的控制结构 (VMCS) 中。

作者最初从 KVM 测试代码中借鉴了一段函数来获取 TSS 地址。经过排查,他发现这段代码在多核环境下会计算出错误的地址,导致 CPU 无法找到正确的内核栈,从而引发崩溃。

C 语言的符号扩展陷阱

罪魁祸首是 C 语言中的一个符号扩展 (sign-extension) bug。该函数在拼接 TSS 地址的多个部分时,一个 uint8_t 类型的变量在位移操作中被自动提升为有符号的 int。如果该变量的最高位是 1,它就会被当作负数处理,在后续转换为 uint64_t 时,高 32 位被错误地填充为 1,从而破坏了最终的地址。

解决方案很简单,只需在位移操作前将所有变量显式转换为 uint64_t。作者提交的补丁已被合并到 Linux 内核中。

Floci:免费开源的本地 AWS 模拟器

LocalStack 社区版的替代品

Floci 是一个免费、开源的本地 AWS 模拟器。它的出现是为了替代 LocalStack 社区版,后者将在 2026 年要求认证令牌,并停止对 CI/CD 和安全更新的支持。Floci 承诺永久免费,无认证要求,并提供持续的 CI/CD 支持和安全更新。

轻量、高性能与功能完备

Floci 启动时间约 24 毫秒,空闲内存占用约 13 MiB,Docker 镜像大小仅 90 MB。它支持超过 20 种 AWS 服务,并通过了全部 408 项 SDK 测试。

与 LocalStack 社区版相比,Floci 在 API Gateway v2、Cognito、ElastiCache 和 RDS 等服务上提供了更全面的支持。

快速上手与配置

用户可以通过 docker compose up 命令快速启动 Floci。它与现有的 AWS SDK 无缝集成,只需将端点 URL 指向本地地址即可。所有配置项均可通过环境变量进行设置,支持多种数据存储模式。

Tooscut:浏览器内的专业视频编辑器

基于 WebGPU 与 WASM

Tooscut Editor 是一款直接在浏览器中运行的专业级非线性视频编辑器,无需安装。它利用 WebGPU 和 Rust/WASM 技术,旨在提供与原生应用相媲美的性能。

专业级编辑功能

该编辑器支持多轨时间线、关键帧动画和实时效果预览。所有渲染和效果计算都通过 GPU 加速,用户可以对变换、不透明度、色彩、模糊等属性添加贝塞尔曲线动画。

本地处理与隐私

Tooscut 利用 File System Access API,所有媒体文件都保留在用户本地,不会上传到云端,确保了数据的隐私和安全。

卧式冰箱:一种更节能的设计

利用冷空气下沉原理

传统立式冰箱在开门时,密度较大的冷空气会自然流出,导致能量损失。卧式冰箱 (chest fridge) 采用顶部开门设计,能有效将冷空气保留在箱内,大幅提升能源效率。

显著的节能效果

作者分享,一台由冰柜改装的卧式冰箱每天仅消耗约 0.1 kWh 电量,一年电费不到 5 美元。除了节能,恒定的低温环境也让食物保鲜效果更好。

现代变频技术的优势

现代变频冰柜可以直接设置为冰箱温度,无需改装。此外,它们采用慢启动技术,启动时的峰值功率远低于传统压缩机,对小型的离网供电系统非常友好。

Cloudflare 将 archive.today 标记为恶意域名

Cloudflare 已将网页存档服务 archive.today 标记为“命令与控制/僵尸网络”(C&C/Botnet) 域名。因此,Cloudflare 的公共 DNS 解析器 1.1.1.2(一个会拦截恶意软件的版本)已不再解析该域名。使用该 DNS 服务的用户将无法访问 archive.today

Boomloom:用双手思考的织布机

直观的织物结构设计

Boomloom 是一款设计独特的织布机,旨在简化编织过程。它通过 5 根特殊设计的横杆,让用户无需解读复杂的图纸,即可直观地转动横杆来构建类似四综织布机的复杂图案。

易于上手与携带

这款织布机体积小巧,开箱即用,设置简单。它既适合初学者探索编织,也适合经验丰富的编织者用来打样和实验。其轻巧、可堆叠的设计适用于家庭、工作室和教室等多种场景。

霍尔木兹扫雷:你是否厌倦了胜利?

这是一个经典扫雷游戏的变体。游戏规则与传统扫雷基本一致:左键点击揭开方块,右键点击标记旗帜。它的特殊规则是“地雷只会生成在水域中”。游戏以“你是否厌倦了胜利?”作为宣传语,为经典玩法增添了一丝趣味。


相关链接: