AI: 파이프라인 및 자동화

ㅁ 파이프라인 및 자동화

1. Experiment Tracking

ㅇ 정의:
– 머신러닝 실험의 파라미터, 데이터셋, 코드 버전, 결과 메트릭 등을 체계적으로 기록하고 관리하는 과정 또는 도구.

ㅇ 특징:
– 실험 재현성 보장.
– 실험 비교 및 분석 용이.
– 협업 시 실험 이력 공유 가능.

ㅇ 적합한 경우:
– 여러 하이퍼파라미터 조합을 테스트하는 프로젝트.
– 장기간에 걸쳐 모델 성능 변화를 추적해야 하는 경우.

ㅇ 시험 함정:
– 단순 로깅(log)과 혼동하는 경우.
– 버전 관리 없이 결과만 저장하는 것은 Experiment Tracking이 아님.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “MLflow를 활용해 모델 학습 시 사용한 데이터 버전과 파라미터를 기록했다.”
– X: “CSV 파일에 모델 정확도만 기록했다.”

================

2. Model Packaging

ㅇ 정의:
– 학습 완료된 모델을 배포 가능하도록 필요한 코드, 종속성, 환경 설정과 함께 패키징하는 과정.

ㅇ 특징:
– 컨테이너(Docker) 기반 패키징이 일반적.
– 환경 일관성 확보.
– 재사용 가능성 증가.

ㅇ 적합한 경우:
– 모델을 다양한 환경(개발/운영)에 배포해야 하는 경우.
– 외부 팀이나 고객에게 모델을 전달해야 하는 경우.

ㅇ 시험 함정:
– 단순 모델 파일 저장과 혼동.
– 패키징 시 종속성 누락 시 실행 불가.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Docker 이미지를 생성하여 모델과 필요한 라이브러리를 포함했다.”
– X: “모델 가중치 파일(.h5)만 전송했다.”

================

3. Artifact Registry

ㅇ 정의:
– 모델, 데이터셋, 패키지, 컨테이너 이미지 등 ML 파이프라인에서 생성되는 산출물을 저장하고 버전 관리하는 중앙 저장소.

ㅇ 특징:
– 접근 제어 및 보안 기능 제공.
– 버전별 관리 가능.
– CI/CD 파이프라인과 연동 쉬움.

ㅇ 적합한 경우:
– 여러 팀이 동일한 모델/데이터를 공유해야 하는 경우.
– 규제 준수를 위해 모델 이력을 관리해야 하는 경우.

ㅇ 시험 함정:
– 단순 파일 서버와 동일시.
– 버전 관리와 메타데이터 관리 기능을 간과.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Artifact Registry를 통해 모델 버전별로 저장하고 배포했다.”
– X: “로컬 폴더에 모델 파일을 덮어쓰며 저장했다.”

================

4. Seldon Core

ㅇ 정의:
– Kubernetes 환경에서 머신러닝 모델을 대규모로 배포, 관리, 모니터링할 수 있는 오픈소스 플랫폼.

ㅇ 특징:
– 다양한 모델 포맷 지원.
– A/B 테스트, Canary 배포 등 지원.
– 모니터링 및 로깅 기능 내장.

ㅇ 적합한 경우:
– 마이크로서비스 아키텍처 기반 모델 배포.
– 실시간 예측 서비스 운영.

ㅇ 시험 함정:
– 단순 서빙 프레임워크와 동일시.
– Kubernetes 의존성을 모르는 경우.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Seldon Core를 사용해 Kubernetes에서 모델을 Canary 방식으로 배포했다.”
– X: “로컬 환경에서 Flask API로 모델을 서빙했다.”

================

5. Weights & Biases

ㅇ 정의:
– 머신러닝 실험 추적, 시각화, 협업을 지원하는 SaaS 기반 플랫폼.

ㅇ 특징:
– 대시보드 기반 실험 관리.
– 하이퍼파라미터 튜닝 지원.
– 팀 협업 기능 강화.

ㅇ 적합한 경우:
– 시각적 분석이 필요한 실험.
– 원격에서 실험 결과를 공유해야 하는 경우.

ㅇ 시험 함정:
– 단순 로깅 툴과 혼동.
– 오프라인 환경에서는 제한적.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “W&B로 실험 메트릭과 이미지 출력을 실시간 모니터링했다.”
– X: “엑셀로 수동 실험 기록을 작성했다.”

================

6. Kubeflow

ㅇ 정의:
– Kubernetes 상에서 머신러닝 워크플로우를 구축, 배포, 관리하는 오픈소스 플랫폼.

ㅇ 특징:
– 파이프라인 기반 워크플로우 관리.
– 스케일 아웃 지원.
– 다양한 ML 프레임워크 통합.

ㅇ 적합한 경우:
– 대규모 분산 학습 및 배포.
– 복잡한 ML 파이프라인 자동화.

ㅇ 시험 함정:
– 단일 노드 환경에서 과도한 오버헤드 발생.
– Kubernetes 지식 없이 사용 어려움.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Kubeflow Pipelines로 데이터 전처리부터 배포까지 자동화했다.”
– X: “로컬 주피터 노트북에서 수동으로 모델을 학습했다.”

================

7. Neptune

ㅇ 정의:
– 머신러닝 실험 관리와 메타데이터 저장을 위한 SaaS 플랫폼.

ㅇ 특징:
– 대규모 실험 데이터 저장 가능.
– 다양한 ML 프레임워크와 통합.
– 팀 기반 프로젝트 관리 지원.

ㅇ 적합한 경우:
– 장기 프로젝트에서 실험 이력 관리.
– 다수의 모델 버전을 관리해야 하는 경우.

ㅇ 시험 함정:
– 단순 스프레드시트 기록과 혼동.
– 무료 요금제의 제한 간과.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Neptune을 사용해 모델 학습 메타데이터를 중앙 저장소에 기록했다.”
– X: “모델 결과를 개인 노트에 메모했다.”

ㅁ 추가 학습 내용

Experiment Tracking과 Model Packaging은 MLflow, DVC, Docker와 자주 연계된다.
– MLflow: 실험 관리, 모델 저장, 배포 지원. 장점은 간편한 설치와 다양한 언어 지원, 단점은 대규모 확장성 한계.
– DVC: 데이터와 모델 버전 관리에 강점, Git 연동 용이. 장점은 코드·데이터 동시 버전 관리, 단점은 실시간 실험 추적 기능 부족.
– Docker: 환경 일관성 유지, 재현성 보장. 장점은 이식성과 확장성, 단점은 초기 설정 복잡성.
사용 시나리오: MLflow는 실험 추적 및 모델 관리, DVC는 데이터 버전 관리, Docker는 모델 패키징 및 배포 환경 구성에 적합.

Artifact Registry 비교:
– Google Cloud Artifact Registry: GCP 전용, 다양한 아티팩트 형식 지원, IAM 기반 권한 관리.
– AWS ECR: AWS 서비스와 밀접 통합, 이미지 스캔 기능 제공.
– Azure Container Registry: Azure DevOps와 통합, 지리적 복제 지원.
차이점은 지원 형식, 보안 기능, 클라우드 서비스와의 통합 수준.

Seldon Core와 Kubeflow:
– 공통점: Kubernetes 기반.
– Seldon Core: 주로 모델 서빙에 특화, 다양한 서빙 전략 지원.
– Kubeflow: 데이터 전처리부터 학습, 배포까지 파이프라인 전체 관리.

Weights & Biases(W&B)와 Neptune:
– SaaS 기반 실험 관리 도구.
– 로컬 및 온프레미스 환경 연동 가능 여부와 방식에 차이가 있음.
– 데이터 보안 이슈가 시험에서 함정으로 출제될 수 있음.

배포 전략:
– Canary 배포: 일부 트래픽만 새 버전에 전달하여 문제 발생 시 영향 최소화.
– Blue-Green 배포: 두 개의 동일한 환경을 유지하며, 전환 시 다운타임 최소화.

버전 관리 차이:
– 모델 버전 관리: 모델 아티팩트의 변경 이력 추적.
– 데이터 버전 관리: 학습 및 평가 데이터셋의 변경 이력 추적.

파이프라인 자동화와 CI/CD 연계:
– 파이프라인 자동화는 데이터 준비, 학습, 배포 과정을 자동으로 실행.
– CI/CD는 코드 변경 사항을 자동 빌드, 테스트, 배포하는 프로세스와 연결되어 모델 개발·배포 효율성을 높임.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*