Serverless Computing
서버리스 컴퓨팅이 AI 배포를 어떻게 간소화하는지 알아보십시오. 효율적인 ML 추론을 위해 Ultralytics YOLO26을 사용하여 확장 가능하고 비용 효율적인 워크플로를 구축하는 방법을 배우십시오.
서버리스 컴퓨팅은 개발자가 인프라 관리의 복잡성 없이 애플리케이션을 구축하고 실행할 수 있도록 지원하는 클라우드 실행 모델입니다. 이 패러다임에서 클라우드 제공업체는 서버의 할당과 프로비저닝을 동적으로 관리하며, 기본 하드웨어와 운영 체제를 사용자로부터 추상화합니다. 코드는 HTTP 요청, 데이터베이스 수정 또는 파일 업로드와 같은 특정 이벤트에 의해 트리거되는 상태 비저장 컨테이너에서 실행됩니다. 이 접근 방식은 조직이 소비한 연산 시간에 대해서만 비용을 지불할 수 있도록 하며, 트래픽 수요에 따라 0에서 수천 개의 인스턴스로 확장하여 확장성 요구 사항을 자동으로 충족하므로 현대 클라우드 컴퓨팅 전략과 매우 밀접합니다.
AI를 위한 서버리스 메커니즘#
서버리스 컴퓨팅의 핵심은 Function-as-a-Service (FaaS) 개념으로, 애플리케이션이 개별적인 작업을 수행하는 개별 함수로 분할됩니다. Machine Learning (ML) 실무자에게 이는 model deployment를 위한 간소화된 경로를 제공합니다. 트래픽이 적은 기간 동안 유휴 상태로 있는 전용 서버를 유지 관리하는 대신, 서버리스 함수를 온디맨드로 실행하여 데이터를 처리하고 직후에 종료할 수 있습니다.
그러나 이 아키텍처에서 주요 고려 사항은 함수가 처음 호출되거나 비활성 기간 후에 호출될 때 발생하는 지연 시간인 "콜드 스타트"입니다. 이를 완화하기 위해 개발자는 YOLO26과 같은 경량 아키텍처나 model quantization과 같은 기법을 사용하여 빠른 로딩 시간을 보장하며, 이는 낮은 inference latency를 유지하는 데 필수적입니다.
머신러닝에서의 실질적인 적용 사례#
서버리스 아키텍처는 이벤트 기반 computer vision (CV) 워크플로 및 데이터 파이프라인에 특히 효과적입니다.
- 자동화된 데이터 전처리: 사용자가 Amazon S3와 같은 스토리지 서비스에 원시 데이터셋을 업로드하면 서버리스 함수가 트리거되어 즉시 data preprocessing을 수행할 수 있습니다. 이 함수는 데이터가 training data 파이프라인에 들어가기 전에 이미지 크기를 조정하거나 픽셀 값을 정규화 또는 파일 형식을 검증하여 수동 개입 없이 일관성을 보장할 수 있습니다.
- 온디맨드 스마트 감시: AI in Security에서 모션 센서는 카메라가 프레임을 캡처하도록 트리거할 수 있습니다. 이 이벤트는 object detection 모델을 호스팅하는 클라우드 함수를 호출합니다. 이 모델은 이미지를 분석하여 무해한 동물과 잠재적 침입자를 구별하며, 필요한 경우에만 알림을 보냅니다. 이는 지속적인 스트리밍에 비해 대역폭과 스토리지 비용을 대폭 절감합니다.
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에서 자주 사용되는 다른 인프라 모델과 구별해야 합니다.
- 서버리스 대 엣지 컴퓨팅: 두 가지 모두 효율성 최적화를 목표로 하지만 작동 위치가 다릅니다. Edge computing은 네트워크 이동 시간을 최소화하기 위해 장치(예: 스마트 카메라 또는 IoT device)에서 로컬로 데이터를 처리합니다. 서버리스 컴퓨팅은 중앙 집중식 퍼블릭 클라우드에서 이루어집니다. 하이브리드 솔루션은 종종 엣지에서 초기 데이터를 처리하고 더 심층적인 medical image analysis 또는 포렌식 검토를 위해 복잡한 이상 징후를 서버리스 클라우드 함수로 전송합니다.
- 서버리스 대 Kubernetes: Kubernetes는 개발자에게 클러스터 환경, 네트워킹 및 파드에 대한 세분화된 제어 권한을 부여하는 containerization용 오케스트레이션 플랫폼입니다. 강력하지만 상당한 관리 오버헤드가 필요합니다. Google Cloud Functions 또는 Azure Functions과 같은 서버리스 플랫폼은 이 오케스트레이션을 완전히 추상화하여 팀이 노드의 상태보다는 코드 로직에만 집중할 수 있도록 합니다.
- 서버리스 대 IaaS: Infrastructure-as-a-Service (IaaS)는 Amazon EC2와 같이 인터넷을 통해 가상화된 컴퓨팅 리소스를 제공합니다. IaaS를 사용하면 사용자는 운영 체제 패치 및 미들웨어 관리를 담당합니다. 대조적으로 서버리스 컴퓨팅은 이러한 운영 책임을 제거하여 개발자가 image classification 정확도 향상과 같은 상위 수준의 작업에 집중할 수 있도록 합니다.
서버리스 아키텍처를 활용함으로써 개발자는 배포 전에 모델 학습 및 관리 프로세스를 간소화하는 Ultralytics Platform과 같은 도구를 사용하여 비용 효율적이고 예측 불가능한 워크로드를 처리할 수 있는 강력한 AI 솔루션을 배포할 수 있습니다.






