엔드포인트를 운영하는 것과 효율적으로 운영하는 것은 다르다. 학습 비용은 한 번이지만 추론 비용은 모델이 살아 있는 내내 나가므로, 최적화가 곧 총비용 절감이다. SageMaker는 모델을 더 빠르게(지연↓), 더 싸게(비용↓), 더 가볍게(리소스↓) 만드는 여러 수단을 제공한다.
대상: 클라우드 인스턴스부터 ARM 기반 엣지 디바이스까지(IoT Greengrass와 연동).
프레임워크: TensorFlow, PyTorch, MXNet, XGBoost, ONNX 등 주요 프레임워크.
필수 입력: input_shape — 대상 하드웨어에 맞춰 그래프를 고정하려면 입력 형상을 알려줘야 한다.
Neo가 하는 일
Neo가 하지 않는 일
대상 하드웨어에 맞게 연산 그래프 재구성
정밀도 축소(양자화)
불필요한 의존성을 걷어낸 경량 런타임 생성
가중치 제거(프루닝)
클라우드 인스턴스·엣지 디바이스 양쪽 타깃
모델 구조·학습 결과 변경
Neo의 핵심 가치는 "익숙한 프레임워크로 학습하고, 하드웨어에 최적화된 코드로 배포한다"는 것이다. 모델 자체를 건드리지 않는 컴파일 단계 최적화(양자화·프루닝이 아니다)라서 정확도 손실 없이 속도를 얻는다. 지문에 "엣지 디바이스 배포 + 지연 감소"가 보이면 Neo를 떠올린다.
양자화(Quantization) : 정밀도 축소(FP32 → INT8). 크기↓, 속도↑, 약간의 정확도 손실 가능프루닝(Pruning) : 기여도가 낮은 가중치/뉴런을 제거해 경량화증류(Distillation) : 큰 teacher 모델의 지식을 작은 student 모델로 이전
이 기법들은 Neo 컴파일과 결합하면 더 빠르고 더 작은 모델이 된다. 엣지 배포처럼 리소스 제약이 큰 환경에서 특히 중요하다.
⚠️ 함정: Neo와 양자화를 같은 것으로 묶으면 안 된다. Neo는 모델을 바꾸지 않는 컴파일 최적화라 정확도가 유지되고, 양자화는 정밀도를 낮추는 모델 변경이라 정확도 손실이 생길 수 있다. "정확도는 유지하면서"라는 조건이 붙으면 Neo다.
시험 시나리오는 "지연을 줄여라" / "비용을 줄여라" / "처리량을 높여라"에 따라 서로 다른 처방을 요구한다. 지연↓: Neo 컴파일, 더 빠른 인스턴스. 비용↓: Elastic Inference, Inferentia, Serverless. 처리량↑: 배치 추론, 오토스케일 아웃, Inferentia. 키워드와 도구를 짝지으면 점수가 된다.
목표
1순위 수단
트레이드오프
지연 감소
Neo 컴파일, 더 빠른 인스턴스, 모델 압축
압축은 정확도 손실 가능, 인스턴스 상향은 비용↑
비용 감소
Elastic Inference, Inferentia, Serverless
EI/Inferentia는 딥러닝 추론 전제, Serverless는 콜드 스타트
처리량 증가
배치 추론, 스케일 아웃, Inferentia
배치는 개별 요청 지연을 일부 희생
정합성 보장
추론 파이프라인
컨테이너를 개별 호출할 수 없다
무엇을 개선해야 하나?├─ 개별 요청이 느리다(지연)│ ├─ 대상 하드웨어가 정해져 있다 → Neo 컴파일│ ├─ 엣지 등 리소스 제약이 크다 → 양자화·프루닝·증류 (+ Neo)│ └─ 그래도 느리다 → 더 빠른 인스턴스로 상향├─ 비용이 과하다│ ├─ 풀 GPU 사용률이 낮다 → Elastic Inference (부분 GPU 부착)│ └─ 대규모 추론, 컴파일 감수 가능 → Inferentia (Inf1/Inf2)└─ 단위 시간당 처리량이 부족하다 ├─ 요청을 묶을 수 있다 → 배치 추론 └─ 묶을 수 없다 → 오토스케일 아웃 / Inferentia