开源地址:https://github.com/basalt-org/basalt
关于该项目
Basalt 是一个独立的机器学习框架,利用了 Mojo 的强大功能。
正如Modular 所讨论的,Mojo 是一种面向未来 AI 开发的语言。Mojo 建立在 MLIR 技术之上,而不是现有的 GCC 和 LLVM 方法,外观和感觉都像 Python 代码,但性能却更接近 Rust 或 C++ 等语言。参数函数和编译时参数允许对图进行静态编译。静态图允许进行更难的性能优化。
Basalt 虽然仍处于起步阶段,但其速度可与 Pytorch 等成熟框架相媲美。以下是当前基准的快照。但请继续关注,还有很大的改进空间,我们每天都在升级项目。
快速开始
亲自尝试一下基准测试:
mojo -I . examples/housing.mojo
mojo -I . examples/sin_estimate.mojo
mojo -I . examples/mnist.mojo
与替代的 PyTorch 实现相比:
确保在python-requirements.txt
你的 Python 环境中安装要求。
python examples/housing.py
python examples/sin_estimate.py
python examples/mnist.py
路线图
v0.1.0✅
- [x] 改进矩阵乘法和卷积核
- [x] 切换到自定义 Tensor 和 TensorShape 实现
- [x] 提高基准和整体模型执行性能
- [x] 添加分析和其他性能测试
v0.2.0(开发中)
- [ ] 添加其他操作符:切片、(取消)挤压、连接、剪辑、聚集、分割、FMA...
- [ ] 更好的层支持和更多的激活功能
- [ ] 图子模块和图连接
- [ ] 计算机视觉基准。
长期
- [ ] 更好的并行化
- [ ] GPU 支持
- [ ] 重新设计的数据加载器
- [ ] 自动调谐和相关功能
- [ ] 图形编译优化
- [ ] 运营商融合
- [ ] ONNX/Max 兼容性