Serverless Computing
探索无服务器计算如何简化 AI 部署。学习使用 Ultralytics YOLO26 构建可扩展、经济高效的工作流,以进行高效的 ML 推理。
无服务器计算是一种云执行模型,使开发者能够构建和运行应用程序,而无需管理基础设施的复杂性。在此范例中,云提供商动态管理服务器的分配和配置,将底层硬件和操作系统从用户抽象出来。代码在由特定事件(例如 HTTP 请求、数据库修改或文件上传)触发的无状态容器中执行。这种方法与现代 云计算 策略高度相关,因为它允许组织仅为消耗的计算时间付费,并根据流量需求从零自动扩展到数千个实例,从而满足 可扩展性 需求。
面向 AI 的无服务器计算机制#
无服务器计算的核心是 函数即服务 (FaaS) 的概念,其中应用程序被分解为执行离散任务的各个函数。对于 机器学习 (ML) 的从业者来说,这为 模型部署 提供了一条简化的路径。无服务器函数无需维护在低流量期间闲置的专用服务器,而是可以按需启动以处理数据,并在处理完成后立即关闭。
然而,此架构中的一个关键考量因素是“冷启动”——即首次调用函数或在一段不活动时期后调用时所产生的延迟。为了缓解这种情况,开发者通常使用诸如 YOLO26 之类的轻量级架构或诸如 模型量化 之类的技术来确保快速加载时间,这对于维持低 推理延迟 至关重要。
机器学习中的实际应用#
无服务器架构对于事件驱动的 计算机视觉 (CV) 工作流和数据管道特别有效。
- 自动化数据预处理: 当用户将原始数据集上传到诸如 Amazon S3 的存储服务时,它可以触发一个无服务器函数来执行即时 数据预处理。该函数可能会在数据进入 训练数据 管道之前调整图像大小、归一化像素值或验证文件格式,从而在无需人工干预的情况下确保一致性。
- 按需智能监控: 在 AI in Security 中,运动传感器可以触发相机捕获一帧画面。此事件会调用托管 目标检测 模型的云函数。该模型分析图像以区分无害动物和潜在入侵者,仅在必要时发送警报。与连续流式传输相比,这大大降低了带宽和存储成本。
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 Functions 或 Azure Functions 的无服务器平台完全抽象了这种编排,使团队能够专注于代码逻辑,而不是节点的健康状况。
- 无服务器与 IaaS: 基础设施即服务 (IaaS) 通过互联网提供虚拟化计算资源,例如 Amazon EC2。使用 IaaS 时,用户负责修补操作系统和管理中间件。相比之下,无服务器计算消除了这些运营职责,使开发者能够专注于更高层级的任务,例如提高 图像分类 的准确率。
通过利用无服务器架构,开发者可以部署具有成本效益且能够处理不可预测工作负载的强大 AI 解决方案,并利用诸如 Ultralytics Platform 的工具来简化部署前的模型训练和管理流程。






