Quick Run
ALO의 최신 버전을 설치하고, 샘플 AI Solution(Titanic)을 설치하여 코드 수정 없이 AI Solution을 등록하는 과정을 빠르게 가이드 하는 페이지입니다.
Topics
step1: Start ALO
가상환경 설정과 ALO-v3를 설치하는 과정입니다.
step1-1: ALO 실행 환경 설정
아래는 Anaconda 가상환경의 예이며, pyenv 등 python 3.10 버전을 실행 가능한 가상 환경을 구축하면 됩니다.
conda init bash ## conda 환경 초기화
exec bash ## bash를 재시작
# conda create --prefix /home/jovyan/testenv python=3.10 ## docker 에서의 jupyter 실행 시, 삭제되지 않는 가상환경 설치 방법
conda create -n {가상환경이름} python=3.10 ## 3.10 필수
conda activate {가상환경이름} ## conda activate 가 실행되지 않은 경우, exec bash 를 실행하기
step1-2: ALO 설치
원하는 가상환경 내에서 아래 명령어를 실행합니다.
pip install mellerikat-alo
step2: Develop AI Solution
ALO 에서 실행되 는 AI Solution 에 대한 이해가 필요한 경우 샘플 Solution 인 'titanic' 예제를 설치하여 확인 가능합니다.
step2-1: Titanic 설치 및 실행하기
# 현재 경로에 titanic 예제 설치
alo example
성공적으로 실행된 뒤 아래와 같은 폴더 및 파일들이 생성됩니다. 생성된 폴더 및 파일들은 AI Solution 제작 및 등록에 있어 필수적인 요소로 구성되어 있습니다.
현재 경로/
├── experimental_plan.yaml # AI Solution 제작을 위해 필요한 정보 (titanic.py와 맵핑)
├── inference_dataset # 모델 추론을 위한 데이터
│ └── inference_dataset.csv
├── setting # 인프라 설정을 위한 폴더
│ ├── infra_config.yaml
│ ├── sagemaker_config.yaml
│ └── solution_info.yaml
├── titanic.py # Quick Run을 위해 만들어진 python 파일
└── train_dataset # 모델 학습을 위한 데이터
└── train.csv
alo run # ALO 실행
alo run이 정상적으로 실행되고 나면, 아래와 같은 두 폴더가 추가됩니다.
현재 경로/
├── inference_artifact # experimental_plan.yaml에 작성된 inference: 의 artifact_uri 경로입니다. inference pipeline의 정보가 저장됩니다.
│ ├── inference_artifacts.zip # output (result.csv) , log (pipeline.log, process.log), score (inference_summary.yaml)가 저장된 zip 파일입니다.
│ ├── pipeline.log # titanic.py의 실행 로그입니다.
│ └── process.log # alo 실행의 전반적인 log 입니다.
│
├── train_artifact # experimental_plan.yaml에 저장된 train: 의 artifact_uri 경로입니다. train pipeline의 정보가 저장됩니다.
│ ├── model.tar.gz # 학습된 모델이 저장된 gz 입니다.
│ ├── pipeline.log # titanic.py의 실행 로그입니다.
│ ├── process.log # alo 실행의 전반적인 log 입니다.
│ └── train_artifacts.tar.gz # log (pipeline.log, process.log), score (inference_summary.yaml)가 존재합니다.
step3: Register Solution
AI Solution 을 등록하기 위해선 아래 절차들을 진행합니다.
- 솔루션을 등록할 Infra 정보를 settings/infra_config.yaml 파일에 작성
- 등록할 솔루션의 정보를 settings/solution_info.yaml 파일에 작성
- 솔루션 등록 실행
- AI 학습 테스트
step3-1: infra_config.yaml 파일 작성
./{project_home}/setting/infra_setup.yaml 에 AI Solution을 등록할 환경의 정보를 작성합니다.
AIC_URI: https://aicond.meerkat-dev.com/
#CLOUD_SERVICE_ACCOUNT:
# TYPE: GCP # AWS
# CREDENTIALS: # for GCP
# KEY_FILE: *.json
# CREDENTIALS: # for AWS
# PROFILE: profile-name
AWS_KEY_PROFILE: mmeerkat-dev
GCP_CRENDENTIALS: key.json
BUILD_METHOD: codebuild # docker / buildah / codebuild
CODEBUILD_ENV_COMPUTE_TYPE: BUILD_GENERAL1_SMALL
CODEBUILD_ENV_TYPE: LINUX_CONTAINER
LOGIN_MODE: static
REGION: ap-northeast-2
REPOSITORY_TAGS: # ECR repository tags 설정: {Key:Value} 리스트
- Key: Owner
Value: Mellerikat
- Key: Phase
Value: DEV
VERSION: 1.1
WORKSPACE_NAME: common-ws
step3-2: solution_info.yaml 파일 작성
register-ai-solution.ipynb Jupyter Notebook에서 부여받은 계정으로 로그인 셀을 실행하고, 아래 셀의 내용을 작성하여 실행합니다. 핵심 key는 'solution_name' 이며, 등록할 AI Solution의 명칭을 영소문자와 '-'의 조합으로 기입해줍니다.
contents_type:
labeling_column_name: null
support_labeling: false
detail:
- content: content_1
title: title_1
inference:
cpu: amd64
datatype: table
gpu: false
only: false
name: test-0207-1
overview: test_overview
train:
datatype: table
gpu: false
type: private
update: false
contents_type은 사용자가 운영 동작 후 재학습 기능을 사용하고 싶은 경우에 support_labeling을 True로 변경하시면됩니다. detail은 등록할 AI Solution에 대한 정보가 아래 overview에 적은 것 보다 부족한 경우 추가하는 부분입니다. inference는 추론에 사용할 스펙을 정의합니다. gpu를 사용하고자 하는 경우, gpu를 True로 변경하시면 됩니다. 마지막 update는 기존 등록된 AI Solution을 update 하는 경우에만 True로 설정하시면 됩니다.
step3-3: AI Solution 등록 실행
현재 경로에서 아래 CLI 명령어를 실행합니다.
alo register
위 과정들이 성공적으로 실행됐다면, 성공적으로 AI Solution이 등록됨을 의미합니다. 더욱 자세한 AI Solution 제작 방법에 대해서는 다음 목차를 확인하시면됩니다.