Serverless Computing
探索无服务器计算如何简化 AI 部署。了解如何使用 Ultralytics YOLO26 构建可扩展且经济高效的工作流,实现高效 ML 推理。
无服务器计算是一种云执行模型,使开发者能够构建和运行应用,而无需承担管理基础设施的复杂性。在这一范式中,云服务提供商会动态管理服务器的分配和配置,将底层硬件和操作系统抽象化,用户无需直接处理这些细节。代码在无状态容器中执行,并由特定事件触发,例如 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)中常用的其他基础设施模型区分开来。
- **无服务器计算与边缘计算:**两者都旨在优化效率,但运行位置不同。边缘计算在设备本地处理数据,例如在智能摄像头或IoT 设备上处理,以尽量减少网络传输时间。无服务器计算则发生在集中的公有云中。混合方案通常会先在边缘处理初始数据,再将复杂异常发送到无服务器云函数,以进行更深入的医学图像分析或取证审查。
- 无服务器计算与 Kubernetes:Kubernetes是用于容器化的编排平台,为开发者提供对集群环境、网络和 Pod 的精细控制。虽然功能强大,但它需要投入大量管理成本。Google Cloud Functions或Azure Functions等无服务器平台则完全抽象了这种编排,使团队能够专注于代码逻辑,而不必关注节点的运行状况。
- 无服务器计算与 IaaS:基础设施即服务 (IaaS)通过互联网提供虚拟化计算资源,例如Amazon EC2。使用 IaaS 时,用户需要负责修补操作系统并管理中间件。相比之下,无服务器计算免除了这些运维责任,使开发者能够专注于更高层次的任务,例如提升图像分类的准确率。
借助无服务器架构,开发者可以部署稳健且经济高效的 AI 解决方案,以应对不可预测的工作负载,并利用Ultralytics Platform等工具,在部署前简化模型训练和管理流程。









