#JAX
dopamine
Dopamine是一个用于快速原型设计强化学习算法的研究框架,旨在便于用户进行自由实验。其设计原则包括易于实验、灵活开发、紧凑可靠和结果可重复。支持的算法有DQN、C51、Rainbow、IQN和SAC,主要实现于jax。Dopamine提供了Docker容器及源码安装方法,适用于Atari和Mujoco环境,并推荐使用虚拟环境。更多信息请参阅官方文档。
EasyDeL
EasyDeL是一个开源框架,用于通过Jax/Flax优化机器学习模型的训练,特别适合在TPU/GPU上进行大规模部署。它支持多种模型架构和量化方法,包括Transformers、Mamba等,并提供高级训练器和API引擎。EasyDeL的架构完全可定制和透明,允许用户修改每个组件,并促进实验和社区驱动的开发。不论是前沿研究还是生产系统构建,EasyDeL都提供灵活强大的工具以满足不同需求。最新更新包括性能优化、KV缓存改进和新模型支持。
keras-nlp
KerasNLP 是一个兼容 TensorFlow、JAX 和 PyTorch 的自然语言处理库,提供预训练模型和低级模块。基于 Keras 3,支持 GPU 和 TPU 的微调,并可跨框架训练和序列化。设置 KERAS_BACKEND 环境变量即可切换框架,安装方便,立即体验强大 NLP 功能。
EasyLM
EasyLM提供了一站式解决方案,用于在JAX/Flax中预训练、微调、评估和部署大规模语言模型。通过JAX的pjit功能,可以扩展到数百个TPU/GPU加速器。基于Hugginface的transformers和datasets,EasyLM代码库易于使用和定制。支持Google Cloud TPU Pods上的多TPU/GPU和多主机训练,兼容LLaMA系列模型。推荐加入非官方的Discord社区,了解更多关于Koala聊天机器人和OpenLLaMA的详细信息及安装指南。
dm_pix
PIX是一个基于JAX的开源图像处理库,具备优化和并行化能力。支持通过jax.jit、jax.vmap和jax.pmap进行加速与并行处理,适用于高性能计算需求。安装便捷,只需通过pip安装后即可使用。提供丰富的示例代码,易于上手操作,同时配备完整的测试套件,确保开发环境的可靠性,并接受社区贡献。
penzai
Penzai是一个基于JAX的库,专为通过函数式pytree数据结构编写模型而设计,并提供丰富的工具用于可视化、修改和分析。适用于反向工程、模型组件剥离、内部激活检查、模型手术和调试等领域。Penzai包括Treescope交互式Python打印工具、JAX树和数组操作工具、声明式神经网络库及常见Transformer架构的模块化实现。该库简化了模型处理过程,为研究神经网络的内部机制与训练动态提供了支持。
GradCache
Gradient Cache技术突破了GPU/TPU内存限制,可以无限扩展对比学习的批处理大小。仅需一个GPU即可完成原本需要8个V100 GPU的训练,并能够用更具成本效益的高FLOP低内存系统替换大内存GPU/TPU。该项目支持Pytorch和JAX框架,并已整合至密集段落检索工具DPR。
dm-haiku
Haiku是一个为JAX设计的简洁神经网络库,具备面向对象编程模型和纯函数转换功能。由Sonnet的开发者创建,Haiku能简化模型参数和状态管理,并与其他JAX库无缝集成。虽然Google DeepMind建议新项目使用Flax,Haiku仍将在维护模式下持续支持,专注于修复bug和兼容性更新。
keras
Keras 3 提供高效的模型开发,支持计算机视觉、自然语言处理等任务。选择最快的后端(如JAX),性能提升高达350%。无缝扩展,从本地到大规模集群,适合企业和初创团队。安装简单,支持GPU,兼容tf.keras代码,避免框架锁定。