本科生从零构建完整ML技术栈,用Rust训练1200万参数Transformer

Hacker News April 2026
来源:Hacker News归档:April 2026
两名大二计算机科学学生历时四个月,从第一性原理出发,成功构建了一套功能完备的机器学习框架。他们使用Rust与CUDA实现了Flash Attention等核心算法,搭建了定制化训练流水线,并通过训练一个1200万参数的Transformer模型验证了其可行性。这远非普通的课程作业,而是一次对AI系统底层原理的深刻探索。

一项由两名本科生主导的项目,正在挑战关于如何学习并贡献于AI系统开发的传统认知。他们没有选择在PyTorch或TensorFlow等成熟框架之上进行构建,而是踏上了为期四个月的旅程,从零开始构建了整个机器学习技术栈。他们的工具包主要使用Rust编写,包含了为性能关键操作(如Flash Attention、层归一化和AdamW优化器)手写的CUDA内核。该框架架构的一个显著特点是采用了双路设计:一个用于训练和推理的高性能Rust/CUDA后端,与一个经过战略设计的TypeScript API及WebGPU计算路径相结合。这种WebGPU集成不仅为没有NVIDIA硬件的环境提供了实用的备选方案,更旨在将模型能力直接带入浏览器和广阔的JavaScript/TypeScript开发生态系统。通过亲手实现张量库、自动微分引擎和模块系统,他们避免了依赖`ndarray`或`autograd`等现有库,以保持完全的控制权和深刻的理解。这个项目在精神上与Andrej Karpathy的`micrograd`、`nanoGPT`等教育性项目一脉相承,但其技术层级更低,直接触及GPU内核编程。同时,它与Hugging Face的`candle`、Georgi Gerganov的`llama.cpp`等项目在理念或技术上存在交集,展现了在追求高效、可移植AI技术栈方面的共同探索。

技术深度解析

该项目的技术栈是经过深思熟虑后,对现代、高性能且具前瞻性技术的一次精心组装。其核心是Rust编程语言,选择它是因为其独特地融合了内存安全(通过所有权和借用系统)与C/C++级别的性能。这对于一个需要管理GPU内存、张量分配和自动微分图(autograd)的框架至关重要,因为一个微小的内存安全漏洞就可能导致静默数据损坏或程序崩溃。学生们实现了自己的张量库、自动微分引擎和模块系统,避免依赖`ndarray`或`autograd`等现有crate,以保持完全的控制权和深刻的理解。

最令人印象深刻的技术成就是那些定制的CUDA内核。编写生产级别的CUDA代码是出了名的困难,需要对GPU架构、内存层次结构和并行编程范式有深刻理解。该团队实现了:
1. Flash Attention内核: 这是目前计算Transformer中注意力机制的最先进算法,针对GPU内存层次结构(HBM与SRAM)之间的IO感知进行了优化。他们的实现很可能遵循了Tri Dao等人的开创性论文,旨在为注意力模块实现接近理论值的FLOP利用率。
2. 层归一化(Layer Normalization)与AdamW内核: 这些是标准但对性能敏感的组件。将多个操作(例如,归一化与后续的残差连接相加)融合到单个内核中,可以减少内存带宽压力并降低内核启动开销。

一个具有战略新颖性的组件是双后端设计。除了主要的Rust/CUDA路径,他们还构建了一个WebGPU后端。WebGPU是一个新兴的Web标准,提供对GPU硬件(Vulkan、Metal、DirectX 12)的低级、跨平台访问。这使得该框架能够在没有CUDA驱动程序的浏览器或Node.js环境中运行。TypeScript API充当了桥梁,使框架的能力能够被庞大的JavaScript/TypeScript Web开发生态系统所访问,用于在浏览器中直接进行推理、微调甚至小规模训练。

| 组件 | 实现语言 | 关键创新 | 性能目标 |
|---|---|---|---|
| 核心张量与自动微分 | Rust (可无标准库) | 手动内存管理,自定义算子 | CPU密集型前后处理 |
| 训练内核(如AdamW, LayerNorm) | Rust + CUDA | 算子融合,优化内存访问 | 最大化GPU计算利用率 |
| 注意力内核 | Rust + CUDA | Flash Attention v2 实现 | 针对注意力机制的IO瓶颈优化 |
| 推理运行时 | Rust + CUDA / WebGPU | 双后端,单一API | 跨平台低延迟部署 |
| 语言绑定 | TypeScript/JavaScript (通过wasm或FFI) | 为Web开发者提供一流API | 普及模型访问 |

数据启示: 架构表揭示了有意识的关注点分离和多语言策略。高性能核心被隔离在Rust/CUDA中,而可访问性层则用TypeScript/WebGPU实现。这反映了行业趋势(如ONNX Runtime的多执行提供程序),但集成度和教育意义更高。

关键参与者与案例研究

该项目存在于一个更广泛的背景中,许多个人和组织都在推动对系统更深层次的理解,并致力于构建更高效、可移植的AI技术栈。

教育先驱: 该项目在精神上与Andrej Karpathy的`micrograd`和`nanoGPT`等教育计划一脉相承,这些项目用最少的代码演示了神经网络的基本原理。然而,这个本科生项目的技术层级要低得多,涉及的是GPU内核编程而非Python NumPy。fast.ai的Jeremy HowardRachel Thomas长期倡导“自底向上”的学习方法,尽管他们的课程通常从比CUDA内核编程更高的技术栈层级开始。

行业与开源平行项目: 虽然并非直接竞争对手,但有几个项目在理念或技术上存在重叠:
1. Hugging Face的`candle`: 一个用Rust编写的极简主义ML框架,专注于性能和无服务器推理。这个本科生项目就像是`candle`的一个从零开始、更具教育意义的前身,同样包含了WebGPU目标。
2. Georgi Gerganov的`llama.cpp`: 用纯C/C++实现的Facebook LLaMA模型端口,支持CPU推理。它展示了通过剥离大型框架开销所能带来的强大性能和效率,这一原则被学生们应用到了他们的整个技术栈中。
3. Google的JAX和XLA: 虽然体量庞大,但JAX的可组合函数变换设计以及XLA基于编译器的优化,代表了深入思考计算图的工业级终极形态。学生们的自动微分引擎是迈向这个世界的一小步。

| 项目 | 主要语言 | 侧重点 | 关键差异化 |
|---|---|---|---|
| 此本科生项目 | Rust | 教育 / 全栈理解 | 从零编写CUDA内核,WebGPU备用路径 |
| PyTorch | C++ / Python | 工业级生产与研究 | 动态图、庞大的生态系统、成熟的工具链 |
| `candle` (Hugging Face) | Rust | 服务器端推理与性能 | 极简设计、无Python依赖、WASM支持 |
| `llama.cpp` | C/C++ | 边缘/CPU推理 | 极致的轻量级、量化支持、广泛的硬件兼容性 |
| JAX/XLA | Python / C++ | 可组合性与编译器优化 | 函数式转换、XLA编译优化、硬件加速器原生支持 |

更多来自 Hacker News

多智能体 AI 系统革命性重塑自动化漏洞发现格局网络安全格局正经历由多智能体大语言模型系统驱动的根本性变革。传统的漏洞扫描严重依赖静态签名和基于规则的引擎,往往产生高误报率,需要大量人工分类并延误修复工作,导致安全团队负担过重且响应滞后。新兴范式引入了协作式 AI 智能体,战略性地在扫描Webflow 祭出“代理优先”架构,无代码 Web 开发迎来范式革命Webflow 正在执行一次基础设施的根本性 pivot,其战略重心已从视觉设计工具转向成为新兴代理经济的首要编排层。这一转型重新定义了网站的本质:从静态的展示层转变为动态的、机器可读的接口,具备自主协商交易的能力。通过直接将语义元数据嵌入后 Web 时代:AI Agent 弃用 HTTPS 转向轻量级协议支撑人工智能的数字基础设施正在经历一场静默却深刻的转型,这场变革虽未大张旗鼓,却影响深远。随着自主 Agent 成为在线信息的主要消费者,专为人类视觉消费设计的现代 Web 遗留架构正日益显得过时,无法适应自动化流程的高吞吐要求。沉重的 J查看来源专题页Hacker News 已收录 4054 篇文章

时间归档

April 20263042 篇已发布文章

延伸阅读

企业神经系统:协作式 AI Agent 的崛起人工智能正从被动聊天机器人演变为充当企业数字神经系统的主动操作层。这一转变实现了无需持续人工干预的实时决策与自主执行。采用协作 Agent 网络的组织正以前所未有的可扩展性和韧性重塑运营格局。Robinhood向AI代理开放API:交易与支付无需人类干预Robinhood已将其平台API开放给AI代理,允许它们在无需人类干预的情况下执行股票交易和信用卡支付。这标志着AI从被动顾问向主动金融决策者的根本性转变,重新定义了市场参与方式,并引发了关于问责制与系统性风险的关键问题。SSMS Copilot 偷偷改写你的SQL查询:AI开发工具的信任危机微软SSMS Copilot在将用户查询发送至AI后端前,会悄然对其进行改写。这一做法虽可能优化响应质量,却从根本上动摇了开发者对工具的信任。AINews深入调查了这一隐藏的提示工程层、其技术架构,以及AI辅助编码工具中日益严重的透明度危机Why AI Agents Can't Rewrite Software: The Structural Barrier ExplainedAI agents can generate code and fix isolated bugs, but they hit a wall when asked to modify complex software systems. AI

常见问题

GitHub 热点“Undergraduates Build Full ML Stack from Scratch, Training 12M-Parameter Transformer in Rust”主要讲了什么?

A project undertaken by two undergraduate students is challenging conventional wisdom about how to learn and contribute to AI systems development. Rather than building atop establi…

这个 GitHub 项目在“Rust machine learning framework tutorial from scratch”上为什么会引发关注?

The project's technical stack is a deliberate assembly of modern, performance-oriented, and forward-looking technologies. At its core is the Rust programming language, chosen for its unique blend of memory safety (via ow…

从“How to implement Flash Attention in CUDA for educational purposes”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 0,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。