使用Rust和范畴论构建机器学习框架
摘要
这篇文章宣布了一份工作草稿书籍《Category Theory for Tiny ML in Rust》以及一个公开工作坊,介绍一个使用Rust和范畴论的微型机器学习流水线,旨在通过类型化转换使机器学习结构变得明确。
暂无内容
查看缓存全文
缓存时间: 2026/05/15 09:30
# Rust 中的微型机器学习范畴论
来源: https://hghalebi.github.io/category_theory_transformer_rs/
## 键盘快捷键
按 ← 或 → 键在章节间浏览
按 S 或 / 键在书中搜索
按 ? 键显示此帮助
按 Esc 键隐藏此帮助
## Rust 中的微型机器学习范畴论
## 关于本书 (https://hghalebi.github.io/category_theory_transformer_rs/#about-this-book)
《Rust 中的微型机器学习范畴论》是一份正在完善的工作草稿,它通过范畴论和 Rust 的视角,开发一个微型、显式的机器学习系统。
本书面向的读者,是那些不仅将机器学习视为数值计算,更视其为一条由对象、变换、组合与约束构成的结构化管道的读者。
本书并不将范畴论视为装饰性的抽象,而是将其用作工程工具:
- 领域对象变为 Rust 类型,
- 态射变为带类型的变换,
- 组合变为可执行的程序结构,
- 训练变为对模型状态的反复变换,
- 而微型 ML 系统则成为使数学结构具体化的一种方式。
这不是最终定稿。章节、示例、术语、图表、代码和参考文献可能随着工作的继续而演变。
当前的公开版本仍值得发布:读者可以使用现有章节,运行 Rust 示例,并在后续完成修订的同时发送基于证据的反馈。
公共源代码仓库位于 github.com/hghalebi/category_theory_transformer_rs (https://github.com/hghalebi/category_theory_transformer_rs)。
## 公开研讨会 (https://hghalebi.github.io/category_theory_transformer_rs/#public-workshop)
本书及 Rust 实验的首场公开研讨会由 AI Reading Club 主办。研讨会将微型 ML 管道作为带类型的 Rust 结构进行介绍,并以工作草稿作为共享学习材料。
注册活动 (https://luma.com/event/evt-Pb1kYMQvzs8JrQq)
## 合著者 (https://hghalebi.github.io/category_theory_transformer_rs/#coauthors)
### Hamze Ghalebi (https://hghalebi.github.io/category_theory_transformer_rs/#hamze-ghalebi)
Hamze Ghalebi 是巴黎的人工智能架构师、CTO 和软件构建者,与 Remo Lab 合作。他的工作侧重于生产级 GenAI、受监管的 AI 系统、可审计的 AI 产品、Rust 系统,以及从 AI 原型到可靠生产架构的过渡。
他的背景包括在 Institut Polytechnique de Paris 进行的高级研究,涵盖统计学、优化、机器学习、人工智能、分布式系统、云计算和数据科学。
Hamze 为本书带来了工程和产品视角:如何将数学和机器学习思想转化为可理解、带类型、可维护的系统。他目前的工作特别关注那些可以在真实运营环境中被评估、监控、审计并置于人类问责之下的 AI 系统。
在本书中,他的角色是连接微型 ML、Rust 实现和面向生产的软件架构——因为显然让范畴论可执行还不够有野心。
### Farzad Jafarranmani (https://hghalebi.github.io/category_theory_transformer_rs/#farzad-jafarranmani)
Farzad Jafarranmani 是巴黎地区的研究员和工程师,与华为及 Lagrange 数学与计算研究中心合作。他的工作处于数学、计算机科学、逻辑、语义、证明论和范畴论的交叉领域。
他拥有 Université Paris Cité 的数学与计算机科学博士学位,博士研究工作聚焦于从 Curry–Howard–Lambek 视角看线性逻辑中类型的固定点。他还在 ENS Paris-Saclay 学习数学和计算机科学,工作包括纤维化多范畴中的归纳法以及具有最小和最大不动点的线性逻辑的指称语义。
他之前的研究经历包括在 LIP6(索邦大学 / CNRS 计算机科学实验室)的博士后工作,以及在剑桥大学的访问研究职位。
Farzad 为本书带来了数学和理论基础:范畴论、指称语义、证明论、类型论结构,以及保持抽象精确而非仅仅时髦所需的自律。
## 公开反馈 (https://hghalebi.github.io/category_theory_transformer_rs/#public-feedback)
在本书仍在成长的过程中,欢迎公开反馈。
有用的反馈包括:不清晰的解释、有问题的示例、缺失的参考文献、别扭的术语、错误或过载的数学语言、不够清晰或不够地道的 Rust 示例,以及 Rust、机器学习与范畴论之间联系应更明确的地方。
当反馈以具体的章节、命令或源文件形式在 GitHub 仓库 (https://github.com/hghalebi/category_theory_transformer_rs) 中提出时,最容易得到处理。
如果你想使用简短的审阅路径,请使用公共审阅路径 (https://github.com/hghalebi/category_theory_transformer_rs/blob/main/docs/review-path.md)。如果你想要可分享的公共审阅者征集,请使用需要审阅者 (https://github.com/hghalebi/category_theory_transformer_rs/blob/main/REVIEWERS.md)。如果有多位读者一起审阅,请使用公共审阅冲刺 (https://github.com/hghalebi/category_theory_transformer_rs/blob/main/docs/review-sprint.md) 将报告按 Rust、ML、范畴论、教育者和初学者视角进行拆分。当你能够指出第一个不清晰的句子、输出行、表格行、代码块或练习时,请使用章节清晰度表单 (https://github.com/hghalebi/category_theory_transformer_rs/issues/new?template=chapter-clarity.yml)。
如果你正在阅读在线书籍且目前无法克隆仓库,你仍然可以审阅一个公共页面。阅读欢迎、课程地图、领域对象或态射与组合,然后报告第一个可见但不清晰的句子、标题、图表、表格行、代码块或练习提示。在命令或页面字段中填写 `public book path`,并包含一个来自该页面的证据信号。无克隆报告只有在指明了公共页面和一个可见信号时才有用;泛泛的赞扬或笼统的困惑是不够的。
本版在最终定稿之前有意保持公开。
## 引用、重用与支持 (https://hghalebi.github.io/category_theory_transformer_rs/#citation-reuse-and-support)
简短版本:
- 本公开书籍将始终免费开放访问,地址为 hghalebi.github.io/category_theory_transformer_rs (https://hghalebi.github.io/category_theory_transformer_rs/)。
- 源代码仓库位于 github.com/hghalebi/category_theory_transformer_rs (https://github.com/hghalebi/category_theory_transformer_rs)。
- 在允许重用的场合,同时引用公开书籍 URL 和源代码仓库 URL。
- 个人和独立学习只需清晰引用即可。
- 一名读者可以为个人学习而研究、引用、链接、克隆和运行该项目。
- 涉及超过一人的商业或组织性重用,在超出简短引用、链接、评论和独立学习许可范围之前,必须获得书面许可,方可复制、改编、分发或讲授本书或仓库中的材料。这包括公司研讨会、内部团队研讨会、班级、学习小组、课程和培训项目。
- 公司研讨会、内部团队研讨会、付费研讨会、商业培训项目、课程包、改编的幻灯片、讲义、实验和研讨会材料包,在重用本项目中的大量材料时需要书面许可。
- 当 Kindle 或纸质版发行时,购买 Kindle 版或纸质版将支持本公开工作的持续进行。付费版是支持版,而非访问门槛。
本公开书籍将始终免费开放访问,地址为 hghalebi.github.io/category_theory_transformer_rs (https://hghalebi.github.io/category_theory_transformer_rs/)。
源代码仓库位于 github.com/hghalebi/category_theory_transformer_rs (https://github.com/hghalebi/category_theory_transformer_rs)。
这些是自定义的引用与许可条款。“开放访问”意味着公开书籍保持免费在线阅读,并不意味着不受限制的商业再分发、商业培训使用、公司研讨会使用或组织性团体重用。
源代码发布出来,以便读者能检查、运行、测试并为示例做出贡献。在商业或组织性团体环境中被大量复制的代码、散文、练习、图表或改编的教学材料,遵循相同的书面许可规则。
来自本书的原创材料可以链接、简短引用、评论或讨论,用于个人、学术或非商业化教育用途,前提是清晰注明出处并同时注明两位合著者。
建议的引用格式。同时使用公开书籍 URL 和源代码仓库 URL:
``
Ghalebi, H., & Jafarranmani, F.
Category Theory for Tiny ML in Rust.
开放访问工作草稿。
书籍: https://hghalebi.github.io/category_theory_transformer_rs/
源代码: https://github.com/hghalebi/category_theory_transformer_rs
``
在允许重用的上下文中(如论文、帖子、幻灯片、课程笔记、研讨会页面、仓库和公开参考文献)使用此引用。
在公开引用中保留两个 URL。书籍页面是开放访问的阅读界面;源代码仓库是示例的可执行 Rust 源代码。
超出简短引用、链接、评论和独立学习许可范围的,在商业或组织性环境中涉及多于一人时,复制、改编、分发或讲授本书或仓库中的材料,需要获得项目所有者的书面许可。这包括公司研讨会、公司赞助的研讨会、内部团队研讨会、基于复制或改编材料的公司阅读小组、付费培训材料、课程包、改编的幻灯片、讲义、实验和研讨会材料包。如果材料被公司、团队、班级、研讨会、学习小组、课程或培训项目(多于一人)重用,请先请求书面许可。在允许重用的场合需要引用,但引用本身不构成许可,也不能取代商业或组织性团体重用的书面许可。请参见仓库的许可与重用条款 (https://github.com/hghalebi/category_theory_transformer_rs/blob/main/LICENSE.md)。
公司研讨会、内部团队研讨会、付费研讨会和研讨会材料包,当它们复制、改编、分发或讲授本书或仓库中的大量材料时,即构成商业或组织性团体重用。
许可请求应通过源代码仓库 (https://github.com/hghalebi/category_theory_transformer_rs) 提出,例如通过创建 Issue 或从仓库页面联系维护者。
创建 Issue 或发送请求本身并不授予许可。只有项目所有者或维护者明确书面批准,才能授予所请求的商业或组织性用途的许可。
当 Kindle 或纸质版发行时,购买 Kindle 版或纸质版是支持该项目持续工作的一种方式。付费版是支持版,而非访问门槛。付费版不会移除公开在线书籍的免费访问。
本书引用或参考的外部作品仍遵循其各自的许可、条款和署名要求。
https://hghalebi.github.io/category_theory_transformer_rs/welcome.html
https://hghalebi.github.io/category_theory_transformer_rs/welcome.html
相似文章
应用范畴论课程 (2018)
由John Baez教授的应用范畴论在线课程,基于《Seven Sketches in Compositionality》一书,通过一系列讲义涵盖了有序集、资源理论和数据库。
我用Rust构建了一个自托管的上下文赌博机装置,并部署在一个实时的AI交易产品上。在发现运行时错误之前,先找到了自己配置中的两个错误。
宣布两个开源Rust项目:Lycan(一种用于上下文赌博机的图执行语言)和Syntra(一个自托管的Docker设备,用于服务Lycan胶囊)。作者在自己的实时AI交易产品上自用测试,发现数据管道错误(而非算法问题)主导了适配工作。
视觉变换器模型的Rust实现
一个用于构建和实验视觉变换器(ViT)模型的Rust crate,提供类型化配置、可重用结构体以及可运行的示例,适用于研究和生产环境。
Rust编译器的大语言模型政策
本文介绍了Rust Forge,这是一个Rust编程语言的补充文档仓库,包含构建、贡献和维护文档的说明。
Rust语言的性能
本次演讲分析了Rust相较于C++的性能优势与劣势,提供了基准测试和最佳实践。附有幻灯片和阅读材料。