moai:加速、灵活、模块化、可重复、有洞察力的人工智能
项目描述
moai - 加速现代数据驱动的工作流程
概述
moai是基于PyTorch的 AI 模型开发工具包 (MDK),旨在改进数据驱动的模型工作流程、设计和理解。由于它基于已建立的开源包,因此可以很容易地用于改进大多数 AI 工作流程。要探索moai,只需安装软件包并按照示例进行操作,请记住它处于早期开发alpha版本,因此很快就会提供新功能。
功能和设计目标
- 通过 Monads 实现模块化:使用moai现有的模块化模型构建块池。
- 通过配置实现可重复性:moai通过其内置的基于配置的设计管理超参数敏感的 AI 研发工作流程。
- 通过最小化编码提高生产力:moai提供了一种数据驱动的领域建模语言(DML),可以促进快速简单的模型设计。
- 通过插件的可扩展性:使用moai的内置元编程和外部代码集成轻松集成外部代码。
- 通过分析理解:moai支持模型间性能和设计聚合 操作,以整合模型之间的知识和查询差异。
行动
moai通过特定的集成操作提供了一组数据驱动的工作流功能。这些使用描述每个动作的执行上下文的moai 配置文件。由于moai是围绕这些定义其上下文并描述每个模型的详细信息的配置文件构建的,它提供的操作支持具有模型间分析、知识提取和细致再现的大量数据驱动的工作流。
每个操作的详细信息如下:
moaiplayCONFIG_PATH
使用该play动作,moai开始播放数据集的train\val\test拆分。moai的导出器可用于提取数据集特定的统计信息。moai的可视化引擎可用于展示数据集。可选地,可以定义单子处理图来转换数据。
moaitrainCONFIG_PATH
该train操作使用一个配置文件,该文件定义将要训练的模型、将用于训练和验证模型的数据,以及围绕训练过程配置引擎。结果包括训练和日志中的模型状态,包括验证指标和损失。
moaievaluateCONFIG_PATH
该evaluate操作使用一个配置文件,该文件定义将要测试的训练模型、测试数据,以及围绕测试过程配置引擎。结果包括模型聚合和/或详细指标,以及推理样本。
moaiplotPATH_TO_EXPERIMENTS
该plot操作使用各种配置文件 - 通常来自同一模型的不同版本 - 并生成可视化整合和聚合模型间性能,为分析不同超参数或模型配置的行为提供必要的手段。
moaidifflhs=PATH_TO_CONFIG_Arhs=PATH_TO_CONFIG_B
该diff操作使用两个不同的配置文件——通常来自同一模型的不同版本——并报告它们与超参数化、处理图变化等相关的差异。
moaireprodPATH_TO_RESOLVED_CONFIG
该reprod操作使用先前记录和解析的配置文件,并通过在适应开发环境差异的同时重新执行它来促进其复制。
依赖项
moai站在巨人的肩膀上,依赖于各种大型开源项目:
-
Hydra
> 1.0驱动moai的 DML,它设置模型配置,并额外管理现代 AI 模型的超参数复杂性。 -
Visdom是当前支持的可视化引擎。
-
HiPlot推动moai的模型间分析。
-
- Kornia用于一组集成为moai monad 的计算机视觉操作。
- Albumentations作为当前支持的数据增强框架。
-
更广泛的开源社区,进行可访问的研发并推动moai的大部分功能。
安装
包裹
要安装最新发布的 moai包,请运行:
pip install moai-mdk
资源
下载主分支源并通过在源目录上打开命令行并运行来安装它:
pip install .或pip install -e .(以可编辑的形式)
入门
访问文档站点以了解moai的 DML 以及整体 MDK 设计和使用。
示例可以在conf/examples中找到。
执照
moai已获得 Apache 2.0 许可,可在相应的LICENSE文件中找到。
但是,从外部项目集成的一些代码可能带有自己的许可证。
2021 年 PyTorch 开发者日
引文
如果您在研发工作流程中使用moai或发现其代码有用,请考虑引用:
@misc{moai,
key = {moai: PyTorch Model Development Kit},
title = {{\textit{moai}: Accelerating modern data-driven workflows}},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/ai-in-motion/moai}},
}
接触
要么使用:
- GitHub 问题跟踪器,或者,
- 向moai ai-in-motion dev发送电子邮件
atdot