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

无服务器计算

探索无服务器计算如何简化人工智能部署。学习Ultralytics 构建可扩展、成本效益高的工作流,实现高效的机器学习推理。

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

无服务器架构在人工智能中的运作机制

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

然而,该架构的关键考量在于"冷启动"——即函数首次调用或闲置一段时间后重新调用时产生的延迟。为缓解此问题,开发者常采用YOLO26等轻量级架构或模型量化等技术,以确保快速加载时间,这对维持低推理延迟至关重要。

机器学习的实际应用

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

  • 自动化数据预处理:当用户将原始数据集上传至Amazon S3等存储服务时,可触发无服务器函数立即执行数据预处理。该函数可在数据进入训练数据管道前调整图像尺寸、归一化像素值或验证文件格式,确保数据一致性且无需人工干预。
  • 按需智能监控: 安防领域的人工智能应用中,运动传感器可触发 摄像头捕捉画面。该事件将调用托管物体检测模型的云端函数。该模型通过分析图像 区分无害动物与潜在入侵者,仅在必要时发送警报。相较于持续流式传输,此方案 大幅降低了带宽和存储成本。

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 Functions或Azure Functions等无服务器平台 则完全抽象化了编排工作, 使团队能够专注于代码逻辑而非节点健康状态。
  • 无服务器与IaaS对比: 基础设施即服务(IaaS) 通过互联网提供虚拟化计算资源,例如 亚马逊EC2。在IaaS模式下,用户需自行负责操作系统的补丁更新 及中间件管理。相比之下,无服务器计算消除了这些运维责任, 使开发者能够专注于更高层次的任务,例如提升 图像分类准确率。

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

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入