Aqueduct 是一个 MLOps 框架,允许您在任何云基础设施上定义和部署机器学习和 LLM 工作负载。 查看我们的快速入门指南!→
Aqueduct 是一个开源的 MLOps 框架,允许您用原生 Python 编写代码,在任何云基础设施上运行该代码,并获得对模型和预测执行情况及性能的可见性。查看 Aqueduct 支持哪些基础设施。→
以下是您可以开始的方法:
pip3 install aqueduct-ml
aqueduct start
它是如何工作的
Aqueduct 的原生 Python API 允许您使用常规 Python 代码定义机器学习任务。您可以将 Aqueduct 连接到您现有的云基础设施(文档),Aqueduct 将无缝地将您的代码从笔记本电脑移到云端或在不同的云基础设施层之间移动。
例如,我们可以定义一个管道,用 GPU 在 Kubernetes 上训练模型,并在 AWS Lambda 中验证该模型,只需几行 Python 代码:
# 使用现有的 LLM。
vicuna = aq.llm_op('vicuna_7b', engine='eks-us-east-2')
features = vicuna(
raw_logs,
{
"prompt":
"将此日志条目转换为 CSV: {text}"
}
)
# 或者在您喜欢的基础设施上编写自定义操作!
@op(
engine='kubernetes',
# 获取 GPU。
resources={'gpu_resource_name': 'nvidia.com/gpu'}
)
def train(featurized_logs):
return model.train(features) # 训练您的模型。
train(features)
一旦您将此工作流发布到 Aqueduct,您可以在界面上看到它:
要了解如何构建您的第一个工作流,请查看我们的**快速入门指南!→**
为什么选择 Aqueduct?
MLOps 已经变成了一个 缠结混乱的孤立基础设施。大多数团队需要设置和操作许多不同的云基础设施工具才能有效运行机器学习,但这些工具拥有各自不同的 API,互操作性差。
Aqueduct 提供了一个单一界面来在您现有的云基础设施上运行机器学习任务——Kubernetes、Spark、Lambda 等。从同一个 Python API,您可以无缝地跨任何或所有这些系统运行代码,并了解您的代码表现如何。
- 原生 Python 的管道 API:Aqueduct 的 API 允许您用原生 Python 定义工作流,因此您可以快速高效地将代码投入生产。无需担心 DSL 或 YAML 配置。
- 与您的基础设施集成:Aqueduct 中定义的工作流可以在您使用的任何云基础设施上运行,例如 Kubernetes、Spark、Airflow 或 AWS Lambda。您无需替换现有工具即可享受 Aqueduct 的所有好处。
- 对代码、数据和元数据的集中可见性:一旦您的工作流投入生产,您需要知道什么在运行,是否正常工作,何时出错。Aqueduct 让您看到每次工作流运行生成的代码、数据、指标和元数据,让您有信心工作流按预期工作,并立即知道它们何时没有按预期工作。
- 在您的云中安全运行:Aqueduct 是完全开源的,可以在任何 Unix 环境中运行。它完全运行在您的云和基础设施中,因此您可以放心地确保您的数据和代码是安全的。
概述和示例
Aqueduct 的核心抽象是一个 工作流,它是一系列由 操作符(计算)转换的工件(数据)。工作流的输入工件通常是从数据库加载的,输出工件通常会持久化回数据库。 每个工作流可以按照固定的时间表运行,也可以按需触发运行。
要查看 Aqueduct 在一些实际机器学习工作流中的应用,请查看我们的一些示例:
- 客户流失预测
- 情感分析
- 填充缺失的葡萄酒数据
- ... 还有更多!
接下来是什么?
查看我们的 文档,您可以找到:
如果您有问题或意见,或想了解更多关于我们正在构建的内容,请 联系我们,加入我们的 Slack 频道,或在 GitHub 上开始讨论。我们很愿意听到您的意见!
如果您有兴趣贡献,请查看我们的 路线图,并加入 我们的社区 Slack 的开发频道。