nanodl

nanodl

设计与训练变压器模型的Jax库

这是一个基于Jax的库,旨在简化变压器模型的开发和训练,特别适合资源有限的环境。支持多种模型如Gemma、GPT3、T5和Whisper,涵盖自然语言处理和计算机视觉任务。提供灵活的模块和层,包括Jax/Flax中未提供的RoPE、GQA、MQA和Swin注意力机制,支持多GPU/TPU的数据并行训练,简化数据处理。该库还包含加速的经典机器学习模型,帮助用户以最小的代码重写快速实现模型开发和训练。

NanoDLJaxtransformer模型分布式训练深度学习Github开源项目

项目介绍:nanodl

概述

nanodl 是一个基于 Jax 的库,专为从头开始设计和训练 transformer 模型而开发。在变换器模型的开发过程中,人们通常会遇到资源消耗巨大的挑战。为了应对这一问题,nanodl 提供了一系列精简但功能强大的工具和功能。这些工具通过 Jax 框架实现,使得神经网络的开发和分布式训练更加高效。

特性

nanodl 提供了许多强大的特性,包括:

  • 兼具各类模块和层级结构,使用户可以从零开始构建定制的 transformer 模型。
  • 支持多种模型,如 Gemma、LlaMa3、Mistral、GPT3、GPT4(推测版)、T5、Whisper、ViT、Mixers、CLIP 等。
  • 提供数据并行分布式训练器,可以在多 GPU 或 TPU 上进行训练,无需手动编写训练循环。
  • 提供数据加载器,简化了 Jax/Flax 的数据处理过程。
  • 包含 Flax/Jax 中未涵盖的层,例如 RoPE、GQA、MQA 和 SWin 注意力等,支持更灵活的模型开发。
  • 提供 GPU/TPU 加速的经典机器学习模型,如 PCA、KMeans、回归、高斯过程等。
  • 支持不需要冗长代码的真随机数生成器。
  • 提供一系列用于自然语言处理和计算机视觉任务的高级算法,如高斯模糊、BLEU、分词器等。
  • 每个模型都被封装在一个独立的文件中,无需外部依赖,因此源码也可以轻松使用。

快速安装

要使用 nanodl,您需要 Python 3.9 或更高版本,并安装 JAX、FLAX 和 OPTAX(若需要运行训练则需 GPU 支持)。在设计和测试模型时可以使用 CPU,但训练器需要 GPU 或 TPU 支持。

使用以下命令来安装 nanodl:

pip install --upgrade pip pip install jax flax optax pip install nanodl

使用示例

nanodl 提供了丰富的 API 示例,帮助用户快速上手。以下简要介绍几个使用场景:

文本生成

用户可以使用 GPT4 模型进行文本生成,通过一个简单的 API 来训练和生成文本。

图像生成

借助扩散模型,用户能够训练图像数据并生成新图像。

音频处理

通过 Whisper 模型,用户可以处理音频数据并进行转录。

强化学习中的奖励模型

使用 Mistral 模型,可以在强化学习的上下文中训练奖励模型。

主成分分析(PCA)

用户可以使用 PCA 模型来进行数据降维和可视化。

社区与贡献

nanodl 是一个仍在开发中的项目,欢迎来自社区的贡献。用户可以通过撰写文档、修复错误、实现新功能或者改进代码等多种方式进行贡献。加入我们的 Discord 社区来交流想法或获取帮助。

赞助与引用

为了让有限资源的专家和企业也能以低成本构建灵活的模型,nanodl 的长远目标是构建和训练参数不超过 10 亿的精简版本模型,并优能与原始版本媲美。任何形式的赞助对我们来说都是一份支持。如果您愿意,请通过 GitHub 或邮件联系我们。

如果您希望引用 nanodl,请使用以下格式:

@software{nanodl2024github, author = {Henry Ndubuaku}, title = {NanoDL: A Jax-based library for designing and training transformer models from scratch.}, url = {http://github.com/hmunachi/nanodl}, year = {2024}, }

编辑推荐精选

GPT Image 2中文站

GPT Image 2中文站

AI 图片生成平台

GPT Image 2 是面向用户的 AI 图片生成平台,支持文生图、图生图及多模型创意工作流。

Nano Banana Pro 中文站

Nano Banana Pro 中文站

AI 图片生成工具

输入简单文字,生成想要的图片。支持Nano Banana/gptimage-2等最新模型。

Vecbase

Vecbase

你的AI Agent团队

Vecbase 是专为 AI 团队打造的智能工作空间,将数据管理、模型协作与知识沉淀整合于一处。算法、产品与业务在同一平台无缝协同,让从数据到 AI 应用的落地更快一步。

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

下拉加载更多