AI 시스템 구축: 도구 – MLflow

ㅁ 도구 ㅇ 정의: – MLflow는 머신러닝 실험 관리, 모델 버전 관리, 배포를 지원하는 오픈소스 플랫폼으로, 실험 추적(Tracking), 프로젝트 관리(Projects), 모델 저장(Model Registry), 배포(Serving) 기능을 제공한다. ㅇ 특징: – 다양한 ML 프레임워크(TensorFlow, PyTorch, Scikit-learn 등)와 호환됨 – 실험 파라미터, 메트릭, 아티팩트 저장 가능 – 모델 버전 관리와 재현성 보장 – 로컬, 클라우드, 하이브리드 환경에서 사용

AI 시스템 구축: 도구 – Kubeflow

ㅁ 도구 ㅇ 정의: – Kubeflow는 Kubernetes 환경에서 머신러닝(ML) 워크플로우를 효율적으로 개발, 배포, 운영하기 위한 오픈소스 플랫폼. ㅇ 특징: – Kubernetes 기반으로 확장성과 이식성이 높음. – 파이프라인(Pipelines) 기능을 통해 데이터 전처리, 학습, 배포 단계를 자동화. – 다양한 ML 프레임워크(TensorFlow, PyTorch 등)와 연동 가능. – 모델 서빙(KFServing) 기능 제공. ㅇ 적합한 경우: – 대규모 ML 프로젝트에서

AI 시스템 구축: 배포 전략 – Shadow Deployment

ㅁ 배포 전략 ㅇ 정의: 새로운 모델이나 시스템을 실제 서비스 환경에 배포하되, 사용자 요청에 대해 기존 버전과 새 버전이 동시에 처리하고, 실제 응답은 기존 버전에서만 반환하는 방식. ㅇ 특징: – 실서비스 트래픽을 활용해 새 버전을 검증할 수 있음 – 사용자 경험에 영향을 주지 않음 – 로그 및 성능 지표 비교 분석 가능 – 운영 비용이

AI 시스템 구축: 배포 전략 – A/B Test

ㅁ 배포 전략 ㅇ 정의: – 모델 또는 서비스의 두 가지 이상의 버전을 실제 환경에 배포하여, 동일한 조건에서 성능, 사용자 반응, 비즈니스 지표를 비교하는 실험적 배포 방식. ㅇ 특징: – 사용자 집단을 무작위로 나누어 각기 다른 버전을 제공. – 실험군과 대조군의 성능 차이를 통계적으로 분석. – 실시간 사용자 반응 데이터를 기반으로 의사결정 가능. – 변경

AI 시스템 구축: 배포 전략 – Online Inference

ㅁ 배포 전략 ㅇ 정의: 머신러닝 모델을 실시간으로 서비스 환경에 배포하여 요청이 들어올 때마다 즉시 예측 결과를 반환하는 방식. ㅇ 특징: – 요청-응답 구조로 동작하며, API 형태로 제공되는 경우가 많음. – 낮은 지연 시간(Latency)과 높은 가용성이 요구됨. – 트래픽 변동에 대응하기 위해 오토스케일링이나 로드밸런싱 구조를 자주 사용. ㅇ 적합한 경우: – 실시간 의사결정이 필요한 서비스(예:

AI 시스템 구축: 배포 전략 – Batch Inference

ㅁ 배포 전략 ㅇ 정의: 머신러닝 모델이 예측을 수행하는 방식을 운영 환경에 적용하는 전략 중 하나로, 대량의 입력 데이터를 일정 주기마다 모아서 한 번에 예측을 수행하는 방식. ㅇ 특징: – 실시간성이 필요 없고, 대규모 데이터 처리에 효율적 – 스케줄러(Cron, Airflow 등)를 사용하여 주기적으로 실행 – 예측 결과를 파일, DB 등에 저장하여 후속 시스템이 활용 –

AI 시스템 구축: 파이프라인 구성 – 데이터 전처리 → 학습 → 평가 → 배포

ㅁ 파이프라인 구성 ㅇ 정의: – 머신러닝 모델 개발 전 과정을 자동화·표준화하여 데이터 수집부터 모델 배포까지 일련의 단계를 체계적으로 연결한 프로세스. ㅇ 특징: – 단계별 모듈화로 재사용성과 유지보수성 향상. – 데이터 품질 관리와 모델 버전 관리 용이. – 자동화 도구(CI/CD, MLOps)와 결합 시 효율 극대화. ㅇ 적합한 경우: – 반복적인 모델 개발·배포가 필요한 환경. –

AI 모델 개발: 클래스 불균형 해결 – Class Weights

ㅁ 클래스 불균형 해결 ㅇ 정의: 데이터셋 내 각 클래스의 샘플 수가 불균형할 때, 손실 함수 계산 시 클래스별 가중치를 다르게 부여하여 소수 클래스의 영향력을 높이는 기법. ㅇ 특징: – 모델 학습 시 손실 함수에서 소수 클래스 오분류에 더 큰 패널티를 부여. – 데이터 증강 없이도 불균형 문제를 일부 완화 가능. – Scikit-learn, TensorFlow, PyTorch

AI 모델 개발: 클래스 불균형 해결 – Focal Loss

ㅁ 클래스 불균형 해결 1. Focal Loss ㅇ 정의: – 분류 문제에서 클래스 불균형으로 인해 쉬운 예시에 치우쳐 학습되는 문제를 완화하기 위해, 어려운 예시에 더 큰 가중치를 부여하는 손실 함수. – Cross Entropy Loss에 조정 계수(γ, 감마)와 α-밸런싱 파라미터를 추가하여 설계. ㅇ 특징: – γ(감마)가 클수록 쉬운 샘플의 손실 기여도가 줄어들고 어려운 샘플의 기여도가 커짐.

AI 모델 개발: 클래스 불균형 해결 – Cost-sensitive Learning

ㅁ 클래스 불균형 해결 ㅇ 정의: 데이터의 클래스 비율이 크게 차이날 때, 학습 시 소수 클래스의 오분류 비용을 높여 모델이 소수 클래스에 더 민감하게 반응하도록 하는 기법. ㅇ 특징: – 각 클래스별로 다른 비용(가중치)을 손실 함수에 반영. – 소수 클래스의 학습 비중을 높여 예측 성능 개선. – 데이터 샘플링 없이도 적용 가능. – 비용 설정이