Kakao i Machine Learning::구성::이미지

페이지 이동경로

이미지

기계학습 모델을 학습하거나, 엔드포인트에 모델을 배포하기 위해서는 ML 프레임워크, Python 모듈, 패키지, 소프트웨어 설정 등을 정의해야 합니다. 이미지로 이러한 정보를 컨테이너 이미지로 관리할 수 있습니다.

필요한 패키지, 프레임워크 등의 정보를 환경으로 캡슐화하여, 다양한 ML 워크플로우나 대규모 모델에서도 동일한 환경을 제공할 수 있고 재현성(reproducible), 감사(auditable), 이식(portable)이 가능합니다.

기본 이미지

기본 이미지(Base Image)는 ML 프레임워크 등이 사전에 빌드된 컨테이너 이미지입니다. 모든 워크스페이스에 동일한 기본 이미지를 제공합니다. Kakao i Machine Learning에서 제공하는 기본 이미지를 이용하여, 기계학습 모델을 학습하거나 학습된 모델을 배포하기 위한 준비 시간을 절약할 수 있습니다.

안내
기본 이미지는 사용자가 수정하거나 삭제할 수 없습니다.

기본 이미지 목록

  • 실행과 컴퓨팅 인스턴스 생성 시, 학습용 기본 이미지 또는 커스텀 이미지만 사용 가능합니다.
  • 배포 생성 시, 배포용 기본 이미지 또는 커스텀 이미지만 사용 가능합니다.
기본 이미지 목록
구분 프레임워크 기본 이미지 이름 태그
학습용 PyTorch
- 머신러닝/딥러닝 학습을 위한 PyTorch 프레임워크 이미지
- CUDA, cuDNN, Ubuntu, Python 패키지를 포함
- 딥러닝을 포함한 기계학습에 적합한 PyTorch 프레임워크 이미지
- 유연성과 높은 성능, 직관적인 사용성을 갖춤
cosmos-pytorch1.11.0-cuda11.3-cudnn8-py3.8-ubuntu18.04 cuda:11.3
cudnn:8 python:3.8 ubuntu:18.04
cosmos-pytorch1.10.0-cuda11.3-cudnn8-py3.7-ubuntu18.04 cuda:11.3
cudnn:8 python:3.7 ubuntu:18.04
Deepspeed
- 딥러닝 분산학습 최적화 라이브러리 DeepSpeed가 설치된 PyTorch 프레임워크 이미지
- Ubuntu, CUDA, cuDNN, Python 패키지를 포함
cosmos-deepspeed0.6.4-pytorch1.11.0-cuda11.3-cudnn8-py3.7-ubuntu18.04 cuda:11.3
cudnn:8 python:3.8 ubuntu:18.04
Tensorflow
- 머신러닝/딥러닝 학습을 위한 TensorFlow 프레임워크 이미지
- CUDA, cuDNN, Ubuntu, Python 패키지를 포함
cosmos-tensorflow2.8.0-cuda11.2-cudnn8-py3.8-ubuntu20.04 cuda:11.2
cudnn:8 python:3.8 ubuntu:20.04
cosmos-tensorflow2.7.1-cuda11.2-cudnn8-py3.8-ubuntu20.04 cuda:11.2
cudnn:8 python:3.8 ubuntu:20.04
cosmos-tensorflow2.6.1-cuda11.2-cudnn8-py3.8-ubuntu20.04 cuda:11.2
cudnn:8 python:3.8 ubuntu:20.04
cosmos-tensorflow1.15.5-cuda10.0-cudnn7-py3.6-ubuntu18.04 cuda:10.0
cudnn:7 python:3.6 ubuntu:18.04
scikit-learn
- 머신러닝을 위한 Python 라이브러리
- 소규모 데이터세트를 빠르게 학습할 수 있는 scikit-learn 프레임워크 이미지
- 데이터처리를 포함한 다양한 기계학습 작업 수행에 적합
kiml-scikit-learn-1.0.2 python:3.8 ubuntu:18.04 type:trning
kiml-scikit-learn-1.1.3 python:3.8 ubuntu:18.04 type:trning
kiml-scikit-learn-1.2.1 python:3.8 ubuntu:18.04 type:trning
XGBoost
- Extreme Gradient Boosting 약자
- 정확도와 속도 향상을 위해 Gradient Boost 알고리즘 병렬 학습 지원
- 회귀 분석, 분류, 순위 문제에 적합
kiml-xgboost-1.7.4 python:3.8 ubuntu:18.04 type:trning
배포용 Triton
- NVIDIA Trition은 추론에 최적화된 프레임워크
- CPU 또는 GPU 모두 실행 가능하며, 고급 기능에서 GPU 활용 가능
cosmos-tritonserver-22.06-py3 type:inference servingFramework:triton
cosmos-tritonserver-21.12-py3 type:inference servingFramework:triton
cosmos-tritonserver-20.12-py3 type:inference servingFramework:triton
Tensorflow Serving
- 프로덕션 환경에서 모델 추론에 최적화된 TensorFlow Serving 프레임워크
cosmos-tfserving-2.5.4-ubuntu18.04 type:inference servingFramework:tfserving
cosmos-tfserving-2.4.4-ubuntu18.04 type:inference servingFramework:tfserving
cosmos-tfserving-2.5.4-gpu-ubuntu18.04 type:inference servingFramework:tfserving
cosmos-tfserving-2.4.4-gpu-ubuntu18.04 type:inference servingFramework:tfserving
Cosmos Serving
- Kakao i Machine Learning에서 제공하는 배포 전용 이미지
- 엔드포인트 및 배포 생성 시, 사용자의 소스코드로 API 서버를 구성
cosmos-serving-0.1.1 type:inference servingFramework:cosmos-serving

커스텀 이미지

커스텀 이미지(Custom Image)은 사용자가 직접 필요한 패키지 등을 컨테이너 이미지로 등록하여 관리할 수 있습니다. 커스텀 이미지는 워크스페이스 단위로 관리되며, 다른 워크스페이스에는 공유되지 않습니다.

  • Docker Image 주소와 이미지가 유효한 경우에만 실행 또는 배포가 정상적으로 생성됩니다.
  • 실행 제출 시, Succeed 상태 Registered 상태의 커스텀 이미지만 선택할 수 있습니다.
  • Docker Image가 유효하지 않을 경우, 실행 제출 시 실행 상태가 Issued로 변경되며 학습이 진행되지 않습니다.

커스텀 이미지 이름 정책

커스텀 이미지 이름 정책
항목 설명
커스텀 이미지 이름 - 워크스페이스 내에서 고유해야 함
- 공백 없이, 영어 소문자(a-z), 숫자(0-9), 하이픈(-), 온점(.)만 사용
- 영어 소문자(a-z)로 시작하며, 소문자(a-z) 또는 숫자(0-9)로 끝나야 됨
- 2~63자 입력 가능
- cosmos 또는 kiml으로 시작할 수 없음
커스텀 이미지 설명(선택) 이미지 설명이 필요할 경우 입력
- 최대 1,024자 이내로 작성

커스텀 이미지 빌드 상태

커스텀 이미지 빌드 상태
빌드 상태 설명
Pending 이미지 명세가 제출되어, 빌드 대기 중인 상태
Running 이미지 빌드 중
Succeed 이미지 빌드 성공
Failed 이미지 빌드 실패
Registered Docker Image 경로를 입력한 경우, 자동 빌드를 지원하지 않음

커스텀 이미지 만드는 방법

커스텀 이미지 만드는 방법
생성 방법 설명
Python Requirements File 1. 준비 이미지를 설정하고, pip requirements file을 입력하여 이미지를 생성합니다.
- 기본 이미지 또는 Python Requirements File 타입 및 Succeeded 상태의 커스텀 이미지만 선택 가능
2. requirements file에 ‘#!’ 으로 시작하는 명령어를 입력해 시스템 패키지를 설치할 수 있습니다. (예: “#! apt-get install git -y”)
3. 이미지를 생성하면 자동으로 빌드가 진행되고, 빌드 성공 후 사용할 수 있습니다.
Docker Image KakaoCloud > Container Registry 또는 Docker Hub 등 외부 컨테이너 저장소의 Docker 이미지 경로를 입력하여 환경을 생성합니다. 별도로 빌드를 진행하지 않으며, 이미지를 생성 후 바로 사용할 수 있습니다.
- 이미지 주소 입력 예시: kiml-gov.kr-gov-central-1.kcr.dev/public-kiml/cosmos-tensorflow2.8.0-cuda11.2-cudnn8-py3.8-ubuntu20.04
- Container Registry 이미지를 관리하는 방법은 KakaoCloud 사용자 가이드의 Container Registry > 이미지 관리하기 문서를 참고하시기 바랍니다.
- 비공개 저장소를 이용하는 경우, Container Registry ID 및 Secret을 입력해야 합니다.
이 문서가 만족스러운 이유를 알려주세요.
이 문서에 아쉬운 점을 알려주세요.
평가해주셔서 감사합니다.

더 자세한 의견은 documentation@kakaoenterprise.com 으로 제보해주세요.