深圳Yolo 视觉
深圳
立即加入
词汇表

无服务器计算

探索无服务器计算如何简化AI部署。学习如何使用Ultralytics YOLO26构建可扩展、经济高效的工作流,以实现高效的机器学习推理。

无服务器计算是一种云执行模型,使开发者无需管理基础设施的复杂性即可构建和运行应用程序。在这种范式下,云提供商动态管理服务器的分配和供应,将底层硬件和操作系统从用户那里抽象出来。代码在无状态容器中执行,由特定事件触发,例如HTTP请求、数据库修改或文件上传。这种方法与现代 云计算策略高度相关,因为它允许组织只为消耗的计算时间付费,并根据流量需求从零扩展到数千个实例,自动满足 可扩展性要求。

无服务器 AI 的机制

无服务器计算的核心是函数即服务 (FaaS)的概念,其中应用程序被分解为执行离散任务的独立函数。对于机器学习 (ML)从业者而言,这为模型部署提供了一条简化路径。无服务器函数可以按需启动以处理数据,并在处理后立即关闭,而无需维护在低流量期间闲置的专用服务器。

然而,这种架构中的一个关键考量是“冷启动”——即函数首次调用或长时间不活动后产生的延迟。为了缓解这个问题,开发者通常使用 YOLO26等轻量级架构或 模型量化等技术来确保快速加载时间,这对于保持低 推理延迟至关重要。

机器学习的实际应用

无服务器架构对于事件驱动的计算机视觉 (CV)工作流和数据管道特别有效。

  • 自动化数据预处理:当用户将原始数据集上传到 Amazon S3等存储服务时,可以触发无服务器函数来执行即时 数据预处理。该函数可能会调整图像大小、归一化像素值或验证文件格式,然后数据才能进入 训练数据管道,从而在无需人工干预的情况下确保一致性。
  • 按需智能监控:安全领域的AI中,运动传感器可以触发摄像头捕捉一帧图像。此事件会调用托管 目标检测模型的云函数。该模型分析图像以区分无害动物和潜在入侵者,仅在必要时发送警报。与连续流媒体相比,这大大降低了带宽和存储成本。

Python 示例:无服务器推理处理程序

以下代码演示了一个概念性的无服务器处理程序。它初始化一个全局模型实例,以利用“热启动”(即容器在请求之间保持活跃),并处理传入的图像路径。

from ultralytics import YOLO

# Initialize the model outside the handler to cache it for subsequent requests
# YOLO26n is ideal for serverless due to its compact size and speed
model = YOLO("yolo26n.pt")


def lambda_handler(event, context):
    """Simulates a serverless function handler triggered by an event. 'event' represents the input payload containing
    the image source.
    """
    image_source = event.get("url", "https://ultralytics.com/images/bus.jpg")

    # Perform inference
    results = model(image_source)

    # Return prediction summary
    return {
        "statusCode": 200,
        "body": {
            "objects_detected": len(results[0].boxes),
            "top_class": results[0].names[int(results[0].boxes.cls[0])] if len(results[0].boxes) > 0 else "None",
        },
    }

区分相关技术

理解无服务器计算需要将其与 MLOps中常用的其他基础设施模型区分开来。

  • 无服务器计算与边缘计算:虽然两者都旨在优化效率,但它们在不同位置运行。 边缘计算在设备本地(例如智能摄像头或 物联网设备)处理数据,以 最小化网络传输时间。无服务器计算则在集中式公共云中进行。混合解决方案通常在边缘处理初始数据,并将复杂异常发送到无服务器云函数进行更深度的 医学图像分析或法医审查。
  • 无服务器计算与Kubernetes: Kubernetes是一个用于 容器化的编排平台,它使开发者能够对集群环境、网络和Pod进行细粒度控制。虽然功能强大,但它需要大量的管理开销。无服务器平台,例如 Google Cloud FunctionsAzure Functions,则完全抽象化了这种编排,使团队能够专注于代码逻辑,而不是节点的健康状况。
  • 无服务器与IaaS:基础设施即服务(IaaS)通过互联网提供虚拟化计算资源,例如Amazon EC2。使用IaaS时,用户负责修补操作系统和管理中间件。相比之下,无服务器计算消除了这些操作责任,使开发者能够专注于更高级别的任务,例如提高图像分类的准确性。

通过利用无服务器架构,开发者可以部署经济高效且能够处理不可预测工作负载的强大AI解决方案,并利用 Ultralytics Platform等工具在部署前简化模型训练和管理流程。

让我们一起共建AI的未来!

开启您的机器学习未来之旅