2. NAS
Model
Model
Memory Limitation
Inference Speed
Worse Performance
Training Model
Model
Data
Data
Data
1)데이터 병렬화 2)모델 병렬화
GPU
그 이유는 같은 데이터에서 단순히 모델만을 키운다고
성능이 향상되진 않음
( 학습 데이터의 다양성 보장 필요 )
Serving Layer Model
학습에 필요한 gradient는 모델의 크기에 비례하기 때문에
분산 학습을 통해 학습 속도를 올리더라도,
모델이 커짐에 따라 학습에 보다 많은 시간이 소요
Training Speed
모델 크기가 증가하면서 추론에 걸리는 시간 역시
늘어나기 때문에 문제가 됨
모델이 커지면서 가장 먼저 문제가
될 수 있는 것은 메모리 사이즈임
Memory
Enhanced AI Platform
복수의 GPU를 사용한 학습을 통해 이 문제를 해결하려 함
하지만 분산 학습으로 모델을 학습하더라도 여전히 문제는
해결되지 않는다. ( GPU 구매는 NVidia만 좋은 일(?) )
GPU
가지치기 (Pruning)
가중치 분해 (Weight Factorization)
지식 증류 (Knowledge Distillation)
가중치 공유 (Weight Sharing)
양자화 (Quantization)
Pre-train vs. Downstream
Model 압축 기술
3. Model Training
Data Labeling
Model Evaluation
Data Versioning
Model Service
Model Prediction
Model Deployment Model Versioning
Serving Architecture
Legacy Interface
Scaling Hardware
Model Life Cycle 준용
모델 별 Training Image 반입
Workspace에서 Training 수행
Training 시 Shared Memory 설정
Training 시 Multi GPU 설정
Model Serving Monitoring
Inference 제공 Gateway
POD Monitoring
Rancher는 간단한 설정만으로 Node, Pod
상태를 모니터링 할 수 있는 기능을 제공
보다 상세한 상태를 파악하기 위해서는
Prometheus, Grafana 등을 사용하여 모니터링
Data Selection Data Cleaning
Data Pre-Processing
Model MetaData 관리
Model Validation
ML-Metadata
Model Registry
ML-Metadata Model Registry
4. Data Versioning
DW는 데이터의 재구성을 위해 원시 데이터 계층에서 획득된 서로 다른 데이터들을
이해할 수 있어야 하며 모델링 시에 활용되는 각각의 데이터셋들에 대한 이력을
유지해서 모델 트레이닝 시 학습된 모델과의 binding 관계를 표현할 수 있게
스냅샷 형태로의 저장이 필요하다.
운영 및 유지보수 관점에서 필요하다고 판단됨
5. 학습 Data와 학습 모델의 단일화된 백업 관리
https://deview.kr/2019/schedule/310
6. Training과 Inference 시 Scaling Hardware
Training 시 구성되는 Data의 Size와 Scope에 따라 가용해야 하는 Training
Resource차이가 존재함
이를 위해서는 Data의 Size와 Scope에 따라 동적으로 Traing환경 구성에 필요한
IDE 자원할당 및 환경 구성을 Resource Clustering화하여 제공함
Inference 시에는 얼마나 트래픽이 들어올 지 몰라서 많은 GPU를 확보하고 시작
- Throughput 추정 불가 ( Resource 낭비 )
Inference를 하기 위한 최소한 장비 사양을 모름 (?)
10. Model Registry
모델과 부가 정보를 저장
- model-id, model-URI,
description, user, metrics 등
실제 모델 파일은 HDFS 또는
NAS에 저장
https://deview.kr/2020/sessions/393
11. Serving관련 다양한 환경 구성의 단일화
Inference Speed와 Response Time 보장에 필요한 Model Build 시 Base Image선택 필요 또한 일단위 처리량에 따른 유기적인 Base
Image Switching을 통한 리소스 효율화 필요
https://deview.kr/2019/schedule/310
12. 모델 서비스 시 프로세스 구조도
https://deview.kr/2020/sessions/329
13. 배포 단계 제어 및 이력 관리
CPU / GPU Cluster 배포 사내 주요 클러스터 오퍼레이터 구현
선언적 배포 구성 파일 도입
라우팅 자동화 엔드포인트 자동 등록 / 관리 기능
새로운 인스턴스 배포
기존 인스턴스 재시작
EndPoint 정보
업데이트
동적 엔드포인트 디스커버리
AI Platform 고도화에서 고려해야 할 사항
Scaling Hardware
Model Versioning
장애 탐지 라우팅
자동화