Netflix/metaflow
GitHub: Netflix/metaflow
由 Netflix 开源的 Python 机器学习全生命周期管理框架,帮助数据科学团队从快速原型开发平滑过渡到生产部署。
Stars: 9884 | Forks: 1096

# Metaflow
[Metaflow](https://metaflow.org) 是一个以人为本的框架,旨在帮助科学家和工程师**构建和管理现实生活中的 AI 和 ML 系统**。服务于各种规模和体量的团队,Metaflow 简化了整个开发生命周期——从笔记本中的快速原型设计到可靠、可维护的生产部署——使团队能够快速迭代并高效地交付健壮的系统。
Metaflow 最初由 [Netflix](https://netflixtechblog.com/open-sourcing-metaflow-a-human-centric-framework-for-data-science-fa72e04a5d9) 开发,现由 [Outerbounds](https://outerbounds.com) 提供支持,旨在提高从事[各种项目](https://netflixtechblog.com/supporting-diverse-ml-systems-at-netflix-2d2e6b6d205d)的研究和工程团队的生产力,涵盖从经典统计学到最先进的深度学习和基础模型。通过在每个阶段统一代码、数据和计算,Metaflow 确保了对现实世界 AI 和 ML 系统的无缝、端到端管理。
如今,Metaflow 为大大小小的各类公司提供支持,驱动着数千种 AI 和 ML 体验,包括 Amazon、Doordash、Dyson、Goldman Sachs、Ramp 以及[许多其他公司](ADOPTERS.md)。仅在 Netflix,Metaflow 就支持超过 3000 个 AI 和 ML 项目,执行数亿个处理 PB 级数据的数据密集型高性能计算作业,并为其 AI、ML、数据科学和工程团队的数百名用户管理数十 PB 的模型和构件。
## 从原型到生产(以及从生产回到原型)
Metaflow 提供了一个简单且友好的 Python 风格 [API](https://docs.metaflow.org),涵盖了 AI 和 ML 系统的基础需求:
1. [快速本地原型设计](https://docs.metaflow.org/metaflow/basics)、[支持笔记本](https://docs.metaflow.org/metaflow/managing-flows/notebook-runs),以及内置对[实验跟踪、版本控制](https://docs.metaflow.org/metaflow/client)和[可视化](https://docs.metaflow.org/metaflow/visualizing-results)的支持。
2. [在您的云环境中轻松进行水平和垂直扩展](https://docs.metaflow.org/scaling/remote-tasks/introduction),同时利用 CPU 和 GPU,通过[快速数据访问](https://docs.metaflow.org/scaling/data)来[可靠](https://docs.metaflow.org/scaling/failures)且[高效](https://docs.metaflow.org/scaling/checkpoint/introduction)地运行[大规模易并行](https://docs.metaflow.org/metaflow/basics#foreach)以及[成组调度](https://docs.metaflow.org/scaling/remote-tasks/distributed-computing)的计算工作负载。
3. [轻松管理依赖项](https://docs.metaflow.org/scaling/dependencies),并[一键部署](https://docs.metaflow.org/production/introduction)到高可用的生产编排器,且内置对[响应式编排](https://docs.metaflow.org/production/event-triggering)的支持。
有关完整的文档,请查看我们的 [API 参考](https://docs.metaflow.org/api)或参阅我们的[发布说明](https://github.com/Netflix/metaflow/releases)以了解最新的功能和改进。
## 入门指南
快速启动和运行非常简单。如果您不知道从何入手,[Metaflow sandbox](https://outerbounds.com/sandbox) 将让您在几秒钟内开始运行和探索。
### 安装 Metaflow
要从 [PyPI](https://pypi.org/project/metaflow/) 将 Metaflow 安装到您的 Python 环境中:
```
pip install metaflow
```
或者,使用 [conda-forge](https://anaconda.org/conda-forge/metaflow):
```
conda install -c conda-forge metaflow
```
安装完成后,遵循我们的[教程](https://docs.metaflow.org/getting-started/tutorials)是入门的好方法。它将一步步引导您创建并运行您的第一个 Metaflow flow。
有关 Metaflow 功能和最佳实践的更多详细信息,请查看:
- [Metaflow 的工作原理](https://docs.metaflow.org/metaflow/basics)
- [其他资源](https://docs.metaflow.org/introduction/metaflow-resources)
如果您需要帮助,请随时在我们的 [Slack 社区](http://slack.outerbounds.co/)中联系我们!
### 在您的云端部署 Metaflow 基础设施
虽然您可以在笔记本电脑上轻松开始使用 Metaflow,但 Metaflow 的主要优势在于其能够[扩展到外部计算集群](https://docs.metaflow.org/scaling/remote-tasks/introduction)
并[部署到生产级的工作流编排器](https://docs.metaflow.org/production/introduction)。为了利用这些功能,请遵循此[指南](https://outerbounds.com/engineering/welcome/)
适当地配置 Metaflow 及其背后的基础设施。
## 联系我们
我们很乐意听取您的意见。加入我们的社区 [Slack 工作区](http://slack.outerbounds.co/)!
## 贡献
我们欢迎对 Metaflow 的贡献。请参阅我们的[贡献指南](https://docs.metaflow.org/introduction/contributing-to-metaflow)了解详情。
1. [快速本地原型设计](https://docs.metaflow.org/metaflow/basics)、[支持笔记本](https://docs.metaflow.org/metaflow/managing-flows/notebook-runs),以及内置对[实验跟踪、版本控制](https://docs.metaflow.org/metaflow/client)和[可视化](https://docs.metaflow.org/metaflow/visualizing-results)的支持。
2. [在您的云环境中轻松进行水平和垂直扩展](https://docs.metaflow.org/scaling/remote-tasks/introduction),同时利用 CPU 和 GPU,通过[快速数据访问](https://docs.metaflow.org/scaling/data)来[可靠](https://docs.metaflow.org/scaling/failures)且[高效](https://docs.metaflow.org/scaling/checkpoint/introduction)地运行[大规模易并行](https://docs.metaflow.org/metaflow/basics#foreach)以及[成组调度](https://docs.metaflow.org/scaling/remote-tasks/distributed-computing)的计算工作负载。
3. [轻松管理依赖项](https://docs.metaflow.org/scaling/dependencies),并[一键部署](https://docs.metaflow.org/production/introduction)到高可用的生产编排器,且内置对[响应式编排](https://docs.metaflow.org/production/event-triggering)的支持。
有关完整的文档,请查看我们的 [API 参考](https://docs.metaflow.org/api)或参阅我们的[发布说明](https://github.com/Netflix/metaflow/releases)以了解最新的功能和改进。
## 入门指南
快速启动和运行非常简单。如果您不知道从何入手,[Metaflow sandbox](https://outerbounds.com/sandbox) 将让您在几秒钟内开始运行和探索。
### 安装 Metaflow
要从 [PyPI](https://pypi.org/project/metaflow/) 将 Metaflow 安装到您的 Python 环境中:
```
pip install metaflow
```
或者,使用 [conda-forge](https://anaconda.org/conda-forge/metaflow):
```
conda install -c conda-forge metaflow
```
安装完成后,遵循我们的[教程](https://docs.metaflow.org/getting-started/tutorials)是入门的好方法。它将一步步引导您创建并运行您的第一个 Metaflow flow。
有关 Metaflow 功能和最佳实践的更多详细信息,请查看:
- [Metaflow 的工作原理](https://docs.metaflow.org/metaflow/basics)
- [其他资源](https://docs.metaflow.org/introduction/metaflow-resources)
如果您需要帮助,请随时在我们的 [Slack 社区](http://slack.outerbounds.co/)中联系我们!
### 在您的云端部署 Metaflow 基础设施
虽然您可以在笔记本电脑上轻松开始使用 Metaflow,但 Metaflow 的主要优势在于其能够[扩展到外部计算集群](https://docs.metaflow.org/scaling/remote-tasks/introduction)
并[部署到生产级的工作流编排器](https://docs.metaflow.org/production/introduction)。为了利用这些功能,请遵循此[指南](https://outerbounds.com/engineering/welcome/)
适当地配置 Metaflow 及其背后的基础设施。
## 联系我们
我们很乐意听取您的意见。加入我们的社区 [Slack 工作区](http://slack.outerbounds.co/)!
## 贡献
我们欢迎对 Metaflow 的贡献。请参阅我们的[贡献指南](https://docs.metaflow.org/introduction/contributing-to-metaflow)了解详情。标签:AI基础设施, Apex, DNS解析, MLOps平台, Netflix开源, NoSQL, Python框架, 人工智能, 全生命周期管理, 原型开发, 大模型, 工作流编排, 开源项目, 数据流水线, 数据科学, 机器学习, 模型管理, 模型部署, 深度学习, 漏洞利用检测, 用户模式Hook绕过, 请求拦截, 资源验证, 逆向工具, 高效计算