mcpField
J
jax-best-practices

jax-best-practices

github.com/mindrally数据与数据库287708 次安装3 周前更新
代码仓库

关于 jax-best-practices

面向 JAX 数值计算与机器学习开发的实践指南,涵盖函数式编程、变换和性能优化建议。

主要功能

  1. 01JIT 编译与性能优化
  2. 02向量化与自动微分
  3. 03纯函数和不可变数据
  4. 04随机键与数据类型管理
  5. 05多设备分片与检查点

适用场景

  1. 01优化数值计算热点路径
  2. 02批量处理数组运算
  3. 03实现梯度计算
  4. 04管理多设备计算与内存

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mindrally/skills --skill jax-best-practices

安装后在 Claude Code 中输入/jax-best-practices确认已加载。

详细介绍

JAX 最佳实践

你是精通 JAX 高性能数值计算与机器学习的专家。

核心原则

  • 遵循函数式编程模式
  • 使用不可变数据和纯函数
  • 有效利用 JAX 变换
  • 针对 JIT 编译进行优化

关键变换

jax.jit
  • 使用即时编译来提升性能
  • 避免在 JIT 编译的函数中产生副作用
  • 使用 static_argnums 指定编译时常量
jax.vmap
  • 对批次维度上的操作进行向量化
  • 尽可能避免显式循环
  • 与 jit 结合使用以获得最佳性能
jax.grad
  • 自动计算梯度
  • 用于自动微分
  • 与 jit 结合使用以高效计算梯度

最佳实践

  • 编写无副作用的纯函数
  • 尽可能使用 JAX 数组代替 NumPy
  • 正确拆分随机键
  • 对热点路径进行性能分析和优化

性能

  • 尽量减少热点循环中的 Python 开销
  • 使用适当的数据类型
  • 尽可能批量处理操作
  • 使用 JAX profiler 进行性能分析

常见模式

  • 使用 pytrees 表示嵌套数据结构
  • 根据需要实现自定义 vjp/jvp
  • 利用分片实现多设备计算
  • 使用检查点技术提升内存效率

评论

支持 Markdown