활용 기술 스택
1. 웹 프레임워크
Flask
설명
- Flask는 파이썬으로 작성된 마이크로 웹 프레임워크로, 경량의 웹 애플리케이션을 빠르게 개발할 수 있도록 도와줍니다.
특징
- 경량 및 유연성
- 최소한의 기본 구조
- 확장성: 플러그인과 확장 모듈을 통해 기능 추가 가능
- RESTful 요청 처리에 적합
2. 컨테이너 및 오케스트레이션 도구
Docker
설명
- Docker는 애플리케이션을 컨테이너로 패키징하고 배포하는 플랫폼으로, 일관된 실행 환경을 제공합니다.
특징
- 이식성: 개발 환경과 동일한 환경에서 애플리케이션 실행 가능
- 격리성: 독립적인 컨테이너 실행
- 효율성: 리소스 효율적인 컨테이너 실행
Kubernetes
설명
- Kubernetes는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하는 오픈소스 오케스트레이션 도구입니다.
특징
- 자동화된 배포 및 스케일링
- 자가 치유 (Self-healing)
- 서비스 디스커버리 및 로드 밸런싱
- 선언적 구성 관리
3. 머신러닝 실험 관리 및 오케스트레이션
MLflow
설명
- MLflow는 머신러닝 라이프사이클을 관리하기 위한 오픈소스 플랫폼으로, 실험 추적, 프로젝트 패키징, 모델 관리 및 배포를 제공합니다.
특징
- 실험 추적 (Tracking)
- 프로젝트 패키징 (Projects)
- 모델 관리 (Models)
- 모델 배포 (Deployment)
Kubeflow
설명
- Kubeflow는 Kubernetes 위에서 머신러닝 워크플로우를 실행하고 관리하기 위한 오픈소스 프로젝트입니다.
특징
- Kubernetes와 통합된 머신러닝 파이프라인
- 다양한 머신러닝 프레임워크 지원
- 자동화 및 재현 가능한 파이프라인
- 확장성과 유연성
Katib
설명
- Katib는 Kubeflow의 구성 요소로, 자동화된 머신러닝 실험과 하이퍼파라미터 튜닝을 지원합니다.
특징
- 다양한 하이퍼파라미터 튜닝 알고리즘 지원
- 실험의 자동화 및 반복 가능성 보장
- Kubernetes와 통합
4. 자동화 머신러닝 도구
PyCaret
설명
- PyCaret은 파이썬 기반의 오토머신러닝 라이브러리로, 데이터 전처리, 모델링, 하이퍼파라미터 튜닝, 성능 평가 등을 자동화합니다.
특징
- 사용하기 쉬운 API
- 다양한 알고리즘 지원
- 모델 비교 및 선택
- 인터랙티브 보고서 생성
5. 머신러닝 실험 및 시각화 도구
Wandb (Weights & Biases)
설명
- Wandb는 머신러닝 실험의 추적, 시각화 및 관리 도구로, 실시간으로 모델의 성능을 모니터링하고 비교할 수 있게 해줍니다.
특징
- 실험 추적 및 관리
- 다양한 시각화 도구
- 팀 협업 기능
- 다양한 프레임워크와의 통합 (TensorFlow, PyTorch 등)
TensorBoard
설명
TensorBoard는 TensorFlow의 시각화 도구로, 학습 중인 모델의 그래프, 지표, 히스토그램 등을 시각화하여 모델의 성능을 모니터링합니다.
특징
- 학습 과정 시각화
- 모델 구조 그래프
- 하이퍼파라미터 튜닝
- 임베딩 시각화
6. 인증 및 권한 관리 도구
Keycloak
설명
- Keycloak은 오픈소스 아이덴티티 및 접근 관리 솔루션으로, 애플리케이션과 서비스에 싱글 사인온(SSO), 로그인, 로그아웃, 인증 및 권한 관리를 제공합니다.
특징
- 싱글 사인온 (SSO)
- LDAP 및 Active Directory 통합
- 소셜 로그인
- 중앙화된 사용자 관리
7. 모델 서빙 도구
Kserve
설명
- Kserve는 Kubernetes 기반의 모델 서빙 플랫폼으로, 다양한 머신러닝 프레임워크의 모델을 쉽게 배포하고 관리할 수 있게 해줍니다.
특징
- 다양한 프레임워크 지원 (TensorFlow, PyTorch, ONNX 등)
- 자동 확장 및 축소
- Canary 배포 및 롤백 지원
- 예측 로그 및 모니터링