Scalability
AI의 확장성(Scalability)의 중요성을 살펴보십시오. Ultralytics YOLO26과 Ultralytics Platform이 어떻게 효율적이고 고성능인 모델 배포를 지원하는지 알아보십시오.
확장성(Scalability)은 시스템, 네트워크 또는 프로세스가 리소스를 추가하여 증가하는 작업량을 처리할 수 있는 능력을 말합니다. Artificial Intelligence (AI) 및 Machine Learning (ML)의 맥락에서 확장성은 수요가 증가함에 따라 성능 수준을 유지하는 모델 또는 인프라의 능력을 설명합니다. 이 수요는 일반적으로 학습 중 더 큰 데이터셋, 추론 중 더 높은 사용자 트래픽, 또는 연산 작업의 복잡성 증가로 나타납니다. 확장 가능한 아키텍처는 computer vision 모델을 단일 임베디드 디바이스에 배포하든 클라우드 클러스터를 통해 수백만 개의 API 요청을 처리하든 원활한 확장을 가능하게 하며, 과부하 상태에서도 inference latency가 낮게 유지되도록 보장합니다.
AI에서 확장성의 중요성#
확장성을 위한 설계는 성공적인 Machine Learning Operations (MLOps)의 핵심 요소입니다. 제어된 연구 환경에서 완벽하게 작동하는 모델은 프로덕션 환경에서 발견되는 고속 데이터 스트림에 노출될 때 실패할 수 있습니다. Big Data를 효과적으로 관리하려면 수평적 확장(클러스터에 더 많은 머신 추가) 또는 수직적 확장(기존 머신에 RAM 또는 GPU와 같은 더 많은 파워 추가)이 가능한 시스템이 필요합니다.
확장 가능한 AI 시스템의 주요 이점은 다음과 같습니다:
- 신뢰성: 확장 가능한 시스템은 예상치 못한 트래픽 급증 시에도 일관된 서비스 가동 시간을 보장하여 핵심 애플리케이션의 충돌을 방지합니다.
- 비용 효율성: 동적 확장을 통해 사용량이 적은 기간 동안 리소스를 축소할 수 있으며, 이 기능은 AWS 또는 Google Cloud와 같은 cloud computing 플랫폼에 의해 관리되는 경우가 많습니다.
- 래퍼런스 미래 대비(Future-Proofing): 확장 가능한 인프나는 하드웨어 생태계의 완전한 전면 개편 없이도 vision transformers (ViT)와 같은 더 새롭고 복잡한 알고리즘을 수용합니다.
확장성을 달성하기 위한 전략#
확장 가능한 AI 솔루션을 만드는 것에는 모델 아키텍처와 배포 인프라를 모두 최적화하는 과정이 포함됩니다.
- 분산 학습: 학습 데이터셋이 단일 프로세서에 너무 커지면 distributed training은 여러 Graphics Processing Units (GPUs)에 걸쳐 워크로드를 분할합니다. PyTorch Distributed와 같은 프레임워크를 사용하면 개발자가 연산을 병렬화하여 파운데이션 모델을 학습하는 데 필요한 시간을 크게 줄일 수 있습니다. Ultralytics Platform과 같은 도구는 클라우드 학습 리소스를 자동으로 관리하여 이 과정을 단순화합니다.
- 효율적인 모델 아키텍처: 처리량을 위해서는 올바른 모델 아키텍처를 선택하는 것이 중요합니다. 최신 Ultralytics YOLO26은 이전 모델보다 더 작고 빠르도록 설계되어 edge AI 디바이스부터 대규모 서버 팜에 이르기까지 다양한 하드웨어 전반에 걸쳐 네이티브로 확장 가능합니다.
- 컨테이너화 및 오케스트레이션: Docker로 애플리케이션을 패키징하면 서로 다른 환경에서 일관되게 실행할 수 있습니다. 대규모 컨테이너 클러스터를 관리하기 위해 Kubernetes는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화합니다.
- 모델 최적화: model quantization 및 pruning과 같은 기술은 모델의 메모리 풋프린트와 연산 비용을 줄입니다. NVIDIA TensorRT와 같은 도구는 추론 속도를 더욱 가속화하여 기존 하드웨어에서 더 높은 처리량을 가능하게 합니다.
코드 예시: 확장 가능한 배치 추론#
추론 중 확장성을 개선하는 효과적인 방법 중 하나는 입력을 순차적으로 처리하는 대신 배치 단위로 처리하는 것입니다. 이는 GPU 활용도를 극대화하고 전반적인 처리량을 증가시킵니다.
from ultralytics import YOLO
# Load a scalable YOLO26 model (smaller 'n' version for speed)
model = YOLO("yolo26n.pt")
# Define a batch of images (URLs or local paths)
# Processing multiple images at once leverages parallel computation
batch_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
# Run inference on the batch
results = model(batch_images)
# Print the number of detections for the first image
print(f"Detected {len(results[0].boxes)} objects in the first image.")실제 애플리케이션 사례#
확장성은 AI 기술이 이론적인 연구에서 글로벌 산업용 도구로 전환될 수 있게 합니다.
- 스마트 팩토링: AI in manufacturing 분야에서 자동 검사 시스템은 고속 조립 라인에서 시간당 수천 개의 부품을 분석해야 합니다. 확장 가능한 object detection 시스템은 생산 속도가 증가함에 따라 품질 관리 프로세스가 병목 현상이 되지 않고 높은 accuracy를 유지하도록 보장합니다.
- 리테일 추천 엔진: 주요 전자상거래 플랫폼은 recommendation systems을 활용하여 수백만 개의 개인화된 제품 추천을 즉시 제공합니다. 확장 가능한 인프라를 통해 이러한 플랫폼은 트래픽이 100배 폭증할 수 있는 블랙 프라이데이와 같은 대규모 이벤트를 Microsoft Azure 또는 유사한 제공자를 통해 추가 서버 노드를 동적으로 프로비저닝함으로써 처리할 수 있습니다.
확장성과 관련 개념 비교#
종종 혼용되기도 하지만, 확장성은 성능 및 효율성과 구별되는 개념입니다.
- 확장성 대 성능: Performance는 일반적으로 특정 순간에 시스템이 얼마나 빠르고 정확한지(예: 초당 프레임 수)를 나타냅니다. 확장성은 워크로드가 증가할 때 해당 성능을 유지하는 시스템의 능력을 설명합니다.
- 확장성 vs 효율성: 효율성은 특정 작업을 완료하는 데 사용되는 리소스를 측정합니다(예: 추론당 에너지 소비). 시스템은 효율적이지만 확장성이 부족할 수 있고(병렬 작업을 처리할 수 없는 경우), 확장성은 있지만 비효율적일 수도 있습니다(성장을 처리하기 위해 과도한 리소스를 사용하는 경우).
- 확장성 대 유연성: 유연성은 YOLO11이 탐지, 분할, 포즈 추정을 처리하는 것과 같이 시스템이 서로 다른 유형의 작업을 처리할 수 있도록 합니다. 확장성은 특히 동일한 작업을 더 많이 처리하는 데 중점을 둡니다.






