raven-ml/raven
Modern scientific computing for OCaml
解决的问题
Raven 为 OCaml 语言提供了完整的数值计算、机器学习和数据科学库生态系统。其目标是将 Python 科学计算栈(如 NumPy、JAX 和 PyTorch)的功能引入 OCaml,同时保持语言的强类型安全性。
如何工作
Raven 由多个专门处理 ML 流水线不同部分的包组成:
- nx: 处理多维数组和线性代数。
- tolk: 用于 GPU 张量计算的最小 ML 编译器。
- rune: 提供自动微分和函数式变换。
- rune 和 kaun: 一起用于构建和训练神经网络。
- brot: 实现快速、兼容 HuggingFace 的分词。
- talon: 提供类型安全的数据框。
- hugin: 用于生成出版质量的绘图。
- quill: 用于探索的交互式 REPL 和 Markdown 笔记本。
- munin: 带有 TUI 仪表板的本地实验追踪。
- sowilo: 可微分的计算机视觉。
- fehu: 强化学习环境。
适用人群
希望在 OCaml 中进行科学计算和机器学习的开发者和研究人员,可受益于类型安全和函数式编程范式。
亮点
- 全栈 ML 生态系统:涵盖从数据框(Talon)和分词(Brot)等,与 Python 生态系统方式一致。
- 类型安全操作:利用 OCaml 的类型系统重建科学计算工具。
- GPU 加速:通过 Tolk 提供 GPU 张量计算的编译器。
- 自动微分:通过 Rune 集成自动微分。
- 集成性:支持 HuggingFace 兼容分词和强化学习环境。
相关
- 项目
- 项目
- 项目
- 项目
- 项目