이 섹션의 다중 페이지 출력 화면임. 여기를 클릭하여 프린트.
CloudML
- 1: Overview
- 2: How-to guides
- 2.1: Kubernetes 클러스터 구성
- 3: API Reference
- 4: CLI Reference
- 5: Release Note
1 - Overview
서비스 개요
CloudML은 클라우드 환경에서 데이터 분석부터 모델 개발, 학습, 검증, 배포까지 머신러닝 전 과정을 지원하는 통합 플랫폼입니다.
특장점
- Cloud ML은 분석가, 머신러닝 엔지니어, 개발자 등 다양한 역할의 사용자가 하나의 환경에서 협업하고, 손쉽게 머신러닝 워크플로우를 설계하고 운영할 수 있도록 설계되었습니다.
- Cloud ML은 Python과 R을 기반으로 분석 환경을 제공하며, 프로그래밍 경험이 있는 사용자는 더욱 유연하고 효과적으로 플랫폼을 활용할 수 있습니다. 특히, 생성형 AI 기반의 Copilot 기능을 이용하면 자연어 입력만으로 코드 작성, 리펙토링, 오류 수정, 함수 추천 등을 손쉽게 수행할 수 있어, 분석 생산성과 분석 접근성을 높여줍니다.
- Cloud ML은 분석 환경 구성, 모델 개발 및 서빙, 분석 자동화, 시각화 등 각 단계를 체계적으로 지원합니다. 반복적인 실험과 운영 자동화를 통해 생산성과 모델 품질을 모두 향상시킬 수 있도록 지원합니다.
서비스 구성도
CloudML은 분석 환경, 머신러닝 라이프사이클 관리, 자동분석 지원, 시각화, 생성형 AI 기반 Copilot 기능 등으로 구성되어 있으며, 사용자는 이 구성요소를 통해 머신러닝 전 과정을 통합적으로 수행할 수 있습니다.
제공 기능
CloudML은 다음과 같은 기능을 제공하고 있습니다.
- 시각적 모델링: Drag&Drop 방식으로 코딩 없이 머신러닝 모델을 구축하고 배포할 수 있는 직관적인 인터페이스를 제공합니다. 데이터 불러오기부터 모델 평가, 배포까지 모든 과정을 쉽게 관리할 수 있습니다.
- 코드 기반 개발: Jupyter Notebook 환경에서 Python, R 등을 사용하여 자유롭게 코드를 작성하고 실행할 수 있습니다. 고급 사용자 및 연구자를 위한 강력한 기능을 제공합니다.
- 워크플로우 자동화: 데이터 전처리, 모델 학습, 평가, 배포 등 복잡한 머신러닝 워크플로우를 효율적으로 자동화합니다.
- 실험 관리: 다양한 파라미터 조합으로 머신러닝 모델을 학습시키고, 그 결과를 체계적으로 관리하고 비교할 수 있습니다.
- Copilot 기능 활용: 자연어 기반의 AI 어시스턴트 기능을 제공하여 모델 개발 과정을 가이드하고 자동화합니다. 코드 생성, 리펙토링, 오류 수정, 설명 등 다양한 작업을 지원하여 생산성을 향상시킵니다.
- 통합 플랫폼: 모든 기능이 CloudML 내에서 통합되어 편리하게 사용할 수 있습니다.
- 확장성 및 유연성: 필요에 따라 컴퓨팅 자원 확장 및 다양한 데이터 소스 연결을 지원합니다.
제약 사항
CloudML 사용 전 아래 제약 사항을 반드시 확인하고, 서비스 이용 계획에 반영하세요. Cloud ML은 Kubernetes 기반 환경에서 동작하므로, 안정적인 서비스 운영을 위해 적절한 클러스터 자원 설정이 필요합니다.
- Application 기본 자원: Application 구동을 위해 최소 vCPU 24코어, 메모리 96GBi가 기본적으로 할당됩니다.
- 분석 작업 자원: 분석 작업 수행을 위해서는 위 기본 자원 외에 추가적인 CPU 또는 GPU 자원 설정이 필요합니다. 분석 작업의 부하량을 고려하여 적절히 설정해야 합니다.
- Copilot (CPU 기반 사용): Copilot을 CPU 자원에서 실행하려면 최소 vCPU 16코어, 메모리 10GBi가 필요합니다. 이 경우, 분석 작업에 사용 가능한 CPU 자원은 그만큼 줄어듭니다.
- Copilot (GPU 기반 사용): Copilot은 전용 GPU 자원을 설정하여 사용할 수도 있습니다.
- 지원 LLM 모델: 현재 Copilot에 적용 가능한 LLM 모델은 Llama3로 제한됩니다.
리전별 제공 현황
CloudML은 아래의 환경에서 제공 가능합니다.
| 리전 | 제공 여부 |
|---|---|
| 한국 서부(kr-west1) | 제공 |
| 한국 동부(kr-east1) | 제공 |
| 한국 남부1(kr-south1) | 미제공 |
| 한국 남부2(kr-south2) | 미제공 |
| 한국 남부3(kr-south3) | 미제공 |
선행 서비스
해당 서비스를 생성하기 전에 미리 구성되어 있어야 하는 서비스 목록입니다. 자세한 내용은 각 서비스 별로 제공되는 가이드를 참고하여 사전에 준비하세요.
| 서비스 카테고리 | 서비스 | 상세 설명 |
|---|---|---|
| Container | Container Registry | 컨테이너 이미지를 저장, 관리, 공유하는 서비스 |
| Container | Kubernetes Engine | Kubernetes 컨테이너 오케스트레이션 서비스 |
| Networking | Load Balancer | 서버 트래픽 부하를 자동으로 분산하는 서비스 |
2 - How-to guides
CloudML 생성하기
사용자는 Samsung Cloud Platform Console을 통해 CloudML의 필수 정보를 입력하고, 상세 옵션을 선택하여 해당 서비스를 생성할 수 있습니다.
CloudML을 생성하려면 다음 절차를 따르세요.
모든 서비스 > AI/ML > CloudML 메뉴를 클릭하세요. CloudML의 Service Home 페이지로 이동합니다.
Service Home 페이지에서 CloudML 생성 버튼을 클릭하세요. CloudML 페이지로 이동합니다.
CloudML 생성 페이지에서 서비스 생성에 필요한 정보들을 입력하고, 상세 옵션을 선택하세요.
버전 선택 영역에서 해당 서비스의 버전을 선택하세요.
구분 필수 여부상세 설명 버전 선택 필수 CloudML 버전 선택 표. CloudML 서비스 버전 선택 항목SCP Kubernetes Engine에서 배포 영역에서 서비스 생성에 필요한 옵션을 선택하세요.
구분 필수 여부상세 설명 클러스터명 필수 Kubernetes Engine 클러스터 선택 표. CloudML 서비스 클러스터 선택 항목서비스 정보 입력 영역에서 서비스 생성에 필요한 옵션을 선택하세요.
구분 필수 여부상세 설명 CloudML명 필수 서비스명 입력 설명 선택 서비스 설명 입력 도메인명 필수 서비스에서 사용할 도메인명 입력 - 영문 소문자, 숫자, 특수문자를 사용해 2-63자 입력
엔드포인트 필수 서비스에서 사용할 엔드포인트 선택 - Private과 Public 중 선택
Copilot 선택 서비스에서 Copilot 사용 여부 선택 - 신청 선택 시 팝업창에서 약관 동의 필요
- 선택한 클러스터가 LLM 전용 GPU로 구성되지 않고, LLM 할당 자원이 충분하지 않은 경우 Copilot 신청 불가
자원 정보 필수 선택한 클러스터의 자원 정보 표시 SCR 정보 입력 필수 서비스에서 사용할 SCR 정보 입력 - 프라이빗 엔드포인트, 인증키, 시크릿 키 입력
표. CloudML 서비스 정보 입력 항목추가 정보 입력 영역에서 필요한 정보를 입력 또는 선택하세요.
구분 필수 여부상세 설명 태그 선택 태그 추가 - 자원 당 최대 50개까지 추가 가능
- 태그 추가 버튼을 클릭한 후 Key, Value 값을 입력 또는 선택
표. CloudML 추가 정보 입력 항목
요약 패널에서 생성한 상세 정보와 예상 청구 금액을 확인하고, 완료 버튼을 클릭하세요.
- 생성이 완료되면, CloudML 목록 페이지에서 생성한 자원을 확인하세요.
CloudML 상세 정보 확인하기
CloudML 서비스의 전체 자원 목록과 상세 정보를 확인하고 수정할 수 있습니다. CloudML 상세 페이지는 상세 정보, 태그, 작업 이력 탭으로 구성되어 있습니다.
CloudML 상세정보를 확인하려면 다음 절차를 따르세요.
- 모든 서비스 > AI/ML > CloudML 메뉴를 클릭하세요. CloudML의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 상세 정보를 확인할 자원(CloudML)을 클릭하세요. CloudML 상세 페이지로 이동합니다.
- CloudML 상세 페이지에는 CloudML의 상태 정보 및 상세 정보가 표시되며, 상세 정보, 태그, 작업 이력 탭으로 구성됩니다.
구분 상세 설명 서비스 상태 CloudML의 상태 - Creating: 생성 중
- Deployed: 생성 완료/정상 작동 중
- Updating: 설정 업데이트 중
- Terminating: 삭제 중
- Error: 에러 발생
접속 가이드 서비스 접속 가이드 - 사용자 PC에 등록할 host 정보 안내
서비스 해지 서비스를 해지하는 버튼 표. CloudML 상태 정보 및 부가 기능
- CloudML 상세 페이지에는 CloudML의 상태 정보 및 상세 정보가 표시되며, 상세 정보, 태그, 작업 이력 탭으로 구성됩니다.
상세 정보
CloudML 목록 페이지에서 선택한 자원의 상세 정보를 확인하고, 필요한 경우 정보를 수정할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 서비스 | 서비스명 |
| 자원 유형 | 자원 유형 |
| SRN | Samsung Cloud Platform에서의 고유 자원 ID |
| 자원명 | 자원 이름 |
| 자원 ID | 서비스에서의 고유 자원 ID |
| 생성자 | 서비스를 생성한 사용자 |
| 생성 일시 | 서비스를 생성한 일시 |
| 수정자 | 서비스 정보를 수정한 사용자 |
| 수정 일시 | 서비스 정보를 수정한 일시 |
| 상품명 | CloudML 이름 |
| Copilot | Copilot 사용 여부 |
| 설명 | 서비스에 대한 설명 |
| 클러스터명 | 선택한 Kubernetes Engine 클러스터명 |
| 도메인명 | 입력한 서비스 도메인명 |
| 버전 | 선택한 서비스 버전 |
| 설치 노드 정보 | 클러스터에 설치된 노드 정보 |
| SCR 정보 | 입력한 SCR 정보 |
태그
CloudML 목록 페이지에서 선택한 자원의 태그 정보를 확인하고, 추가하거나 변경 또는 삭제할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 태그 목록 | 태그 목록
|
작업 이력
CloudML 목록 페이지에서 선택한 자원의 작업 이력을 확인할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 작업 이력 목록 | 자원 변경 이력
|
CloudML 서비스 해지하기
사용자는 Samsung Cloud Platform Console을 통해 CloudML 서비스를 해지할 수 있습니다.
CloudML을 해지하려면 다음 절차를 따르세요.
- 모든 서비스 > AI/ML > CloudML 메뉴를 클릭하세요. CloudML의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 서비스 해지 버튼을 클릭하세요. 서비스 해지 알림창이 나타납니다.
- 알림창에서 삭제할 CloudML 이름을 입력하고 확인 버튼을 클릭하세요.
2.1 - Kubernetes 클러스터 구성
Kubernetes 클러스터 구성하기
CloudML 서비스를 신청하기 위해서는 CloudML만을 위한 전용 클러스터가 구성되어 있어야 합니다. 전용 클러스터란 요구되는 최소 사양 이상의 Kubernetes Engine을 생성하고 몇 가지 필요 사항을 설정하는 것을 의미합니다. CloudML 서비스를 신청하기 전에 전용 클러스터를 미리 생성하세요.
- 클러스터를 생성하는 방법은 클러스터 생성 가이드를 참고하세요.
- CloudML은 443 포트의 HTTPS 엔드포인트를 노출합니다. 클러스터 생성 시 퍼블릭 엔드포인트를 선택하세요.
클러스터 노드 및 저장소 권장 사양
클러스터 노드는 클러스터 생성 후 추가하거나 수정할 수 있습니다. 다음은 사용자 5명을 기준으로 CloudML를 설치하기 위해 준비되어야 하는 클러스터 노드 및 저장소의 권장 사양입니다.
| 구분 | 항목 | 역할 | 용량 |
|---|---|---|---|
| 클러스터 노드 | Kubernetes 노드 풀 (Virtual Server) | Application 구동
| 24 core / 96 GBi |
| 클러스터 노드 | Kubernetes 노드 풀 (Virtual Server) | Analysis 실행
| 8 core / 32 GBi x 2 EA
|
| 저장소 | File Storage | 데이터 저장 | 1 TB |
노드 개수의 변경, GPU 노드 추가 또는 리소스 증설 등 사양 변경이 필요한 경우에는 기술 지원을 요청하세요.
- 기술 지원 안내 페이지: https://www.samsungsds.com/kr/support/support_tech.html
- 기술 지원 신청 메일: brightics.cs@samsung.com
노드에 라벨 추가하기
클러스터 노드 및 저장소 권장 사양에서 제시한 역할별로 노드에 라벨을 직접 추가하세요.
- 노드 YAML에 라벨을 추가하는 방법은 노드 YAML 편집하기 가이드를 참고하세요.
클러스터 노드에 라벨을 추가하려면 다음 절차를 따르세요.
- 모든 서비스 > Container > Kubernetes Engine 메뉴를 클릭하세요. Kubernetes Engine의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 노드 메뉴를 클릭하세요. 노드 목록 페이지로 이동합니다.
- 노드 목록 페이지에서 상세 정보를 확인하려는 클러스터를 왼쪽 상단의 톱니바퀴 버튼에서 선택한 후, 확인 버튼을 클릭하세요.
- 상세 정보를 확인하려는 노드를 선택해 클릭하세요. 노드 상세 페이지로 이동합니다.
- 노드 상세 페이지에서 YAML 탭을 클릭하세요. YAML 탭 페이지로 이동합니다.
- YAML 탭 페이지에서 편집 버튼을 클릭하세요. 노드 편집창이 열립니다.
- 노드 편집창에서 역할에 맞는 라벨을 추가하고 저장 버튼을 클릭하세요.
- 다음 정보를 확인해 노드 사양에 맞는 라벨을 추가합니다.
구분 목적별 라벨 CPU 노드 - 앱용:
node.kubernetes.io/nodetype: ml-app
- 분석용:
node.kubernetes.io/nodetype: ml-analytics
GPU 노드 - 분석용:
node.kubernetes.io/nodetype: ml-analytics-gpu
- copilot용:
node.kubernetes.io/nodetype: ml-gpu
표. Kubernetes 노드의 목적별 라벨 항목 - 앱용:
- 다음 정보를 확인해 노드 사양에 맞는 라벨을 추가합니다.
