매직코드
반응형
article thumbnail
12. MLOps DVC를 이용한 데이터 관리
MLOps 2022. 3. 7. 10:28

Data Management 필요성 Raw Data를 처리하면서 다양한 시도들로 인해 Data의 버전이 많이 발생한다. 다양한 시도들을 하다보면 어떤 버전의 데이터를 사용해서 어떤 결과가 나왔는지 매칭하거나 관리하기 힘들어진다. 이를 관리하기 위하여 대부분의 사람들이 Git을 이용한다. 하지만 Git은 파일 크기에 제한이 있기 때문에 대용량 데이터를 관리하기에는 적합하지 않다. 대용량 데이터를 이용한 소스코드와 데이터를 같이 관리하기 위해서 DVC, Pachyderm, Delta Lake, Dolt 등의 툴이 생겼다. DVC Data Version Control의 약자다. 대부분의 스토리지와 호환 가능 (amazon s3, google drive...) 대부분의 git 호스팅 서버와 연동 가능 (GitH..

article thumbnail
9. 쿠버네티스 미니큐브로 간단한 실습 - ReplicaSet (MacOS)
MLOps 2022. 1. 19. 10:37

쿠버네티스 안내서를 보고 작성한 포스팅입니다. Pod을 단독으로 만들면 Pod에 어떤 문제(서버가 죽어서 Pod이 사라졌다던가)가 생겼을 때 자동으로 복구되지 않는다. 이러한 Pod을 정해진 수만큼 복제하고 관리하는 것이 ReplicaSet이다. 이전 실습에서 pod와 minikube를 모두 삭제했기 때문에 실습환경을 다시 시작한다. # 1. 도커실행 # 2. 디렉토리 이동 cd Desktop/kube # 3. 미니큐브 실행 minikube start 이전에는 pod만 만들었다면 이번에는 replica set를 만들어보려고 한다. 컨테이너 하나 또는 두개 이상 포함하던게 pod이라면 이런 pod를 하나 또는 여러개 관리하는게 replica set이다. replica set은 spec: 부분에 replic..

article thumbnail
8. 쿠버네티스 미니큐브로 간단한 실습 - Pod (MacOS)
MLOps 2022. 1. 17. 11:04

쿠버네티스 안내서와 패스트캠퍼스 강의를 보고 작성한 포스팅입니다. Pod는 하나 또는 여러개의 컨테이너를 포함한 쿠버네티스에서 사용하는 가장 작은 단위다. 이번에는 Pod을 생성하는 실습을 진행한다. # 도커를 실행시키고 터미널에 명령어 입력 minikube start # 실습할 디렉토리로 이동 cd Desktop/kube Pod 생성 저번에는 만들어진 yaml 파일을 실행시키는 방법을 사용했었는데 이번에는 파일을 직접 만들어서 실행시켜보려고 한다. # pod.yaml 파일 생성 vi pod.yaml # pod.yaml 파일에 내용 작성 apiVersion: v1 kind: Pod metadata: name: echo labels: app: echo spec: containers: - name: app ..

article thumbnail
7. 쿠버네티스 미니큐브로 간단한 실습 (MacOS)
MLOps 2022. 1. 14. 15:14

쿠버네티스 안내서와 패스트캠퍼스 강의를 보고 작성한 포스팅입니다. 배포를 위한 yaml 파일 구조 확인 쿠바네티스를 컨테이너를 등록하고 관리하기 위해 pod이라는 오브젝트를 사용한다. 컨테이너 < pod < replica set < deployment 순으로 구성되어있음을 기억하면서 컨테이너 배포를 위한 pod을 생성해보자 apiVersion: v1# 쿠바네티스 리소스의 api 버전 kind: Pod# 쿠바네티스 리소스 이름 (내가 만들고자 하는것) metadata:# name, namespace, labels, annotations 등을 포함 name: hello labels: app: hello spec:# 가장 중요 리소스의 설정 정보 입력 containers:# 컨테이너에 대한 정보를 입력하겠다 ..

article thumbnail
5. 맥북에서 MLOps 환경 구축; 맥북에 도커 설치, 도커 실행
MLOps 2022. 1. 11. 15:54

맥북에 도커 설치 도커 홈페이지에 맥을 위한 도커 설치 방법이 잘 설명되어 있는데 영어로 되어있어서 열심히 읽어봐야한다. 도커 홈페이지를 통해 설치하는 방법을 설명하긴 하겠지만 맥을 통해 리눅스를 이용할 때에는 brew 명령어를 통해 도커를 설치하는게 더 호환이 잘 된다고 한다. 나도 카더라도 들은 이야기이니 너무 믿을건 못된다. 1. 홈페이지를 통해 도커 설치 https://docs.docker.com/desktop/mac/install/ Install Docker Desktop on Mac docs.docker.com 웬만하면 맥북에 인텔칩이 들어있을테니 인텔 맥북으로 설치 버튼을 누른다. 도커 설치프로그램인 Docker.dmg 파일이 다운로드 된다. 나는 맥을 사용한지 얼마 안되었는데 윈도우랑 다른..

article thumbnail
4. 쿠버네티스 입문하기
MLOps 2022. 1. 10. 10:50

유튜브 초보를 위한 쿠버네티스 안내서 영상 시리즈를 보고 정리한 포스팅입니다. 서버 관리의 진화 문서화를 잘 해보자 --> 실행하는 순서를 하나하나 설명하는 ppt 등으로 만들어서 보관 문서보다는 코드를 직접 받아와서 관리해보자 --> CHEF, puppet, ANSIBLE 등의 프로그램 사용 but 하나의 서버에서 여러 버전을 돌리기 힘들었음 그럼 가상머신을 통해서 하나의 프로그램만 실행해보자 --> Oracle VirtualBox 사용 but 하나의 프로그램만 실행 가능하다. 다른 클라우드를 사용하려면 어려움이 있음, 느림 그래서 도커 등장! --> 모든 실행환경을 컨테이너로 묶어서 어디서든 쉽게 실행시킬 수 있음 컨테이너의 특징 가상머신과 비교하여 컨테이너 생성이 쉽고 효율적 언어나 프레임워크에 상..

article thumbnail
3. MLOps와 쿠버네티스(Kubernetes)
MLOps 2022. 1. 5. 14:22

MLOps를 잘 이용하려면 서로 사용하는 작업 환경에서 동일한 실행 환경을 보장해야하고, 다수의 개발자가 소수의 클러스터를 공유하면서 사용, 삭제, 업데이트 등의 혼란이 이루어지지 않도록 하기위해 컨테이너와 컨테이너 오케스트레이션 시스템이 등장했다. 컨테이너란? 마이크로소프트에서는 컨테이너를 애플리케이션의 표준화된 이식 가능한 패키징이라고 정의한다. 머신러닝 모델들은 운영체계나 파이썬 실행환경, 패키지 버전 등에 따라 다르게 동작할 수 있다. 이를 방지하기 위해 머신러닝에 사용된 소스코드와 함께 종속적인 실행 환경 전체를 하나로 묶어서(패키징해서) 공유하고 실행하는 기술을 컨테이너라이제이션(Containerization)이라고 한다. 컨테이너를 공유함으로써 사용자들은 어떤 시스템에서든지 같은 실행 결과를..

article thumbnail
2. MLOps 핵심 기능들
MLOps 2022. 1. 5. 12:05

2021년 5월 구글에서 발표한 자료를 통해 MLOps을 공부할 수 있다. Practitioners guide to MLOps: A framework for continuous delivery and automation of machine learning 1. Experimentation (실험) 실험 기능을 통해 데이터 사이언티스트와 머신러닝 연구원이 공동으로 데이터탐색, 프로토 타입 모델 생성, 학습 기능 구현을 수행할 수 있다. ML 환경은 버전이 컨트롤되는 모듈식, 재사용 가능하고 테스트 가능한 소스코드 작성이 가능하다. 실험의 주요 기능은 다음과 같다. 깃(git)과 같은 버전 컨트롤 도구와 통합된 노트북(jupyter notebook) 환경 제공 사용한 데이터, 하이퍼 파라미터, 평가 지표를 ..

article thumbnail
1. MLOps란?
MLOps 2022. 1. 5. 11:04

탄생 배경 많은 기업들이 머신러닝, 딥러닝을 이용한 프로젝트을 진행했지만 실제 서비스에 적용하기 힘들었다. 데이터 분석가가 만들어진 모델을 전달하면 프로그래머들은 기존 방식대로 모델을 배포하고자 했으나 작업환경차이, 버전차이, 패키지이해, 구조이해 등의 문제로 배포가 어려울 때도 있고, 배포했어도 모델이 제대로 작동하지 않는 문제가 발생했다. 그래서 많은 사람들이 모델을 잘 운영, 관리 할 수 있도록 MLOps가 탄생했다. MLOps는 Machine Learning Model Operationalization Management의 약자로 말 그대로 "머신러닝 모델 운영 관리"다. 일부는 Machine Learning 과 소프트웨어 분야에서 사용하는 DevOps(개발운영)의 합성어라고 하는데 모델은 운영한..

반응형