728x90

IT 417

[Azure] Azure으로 MLOps 구현하기 <실전편>

※ 일본의 한 블로그 글을 번역한 포스팅입니다. 오역 및 의역, 직역이 있을 수 있으며, 틀린 내용은 지적해주시면 감사하겠습니다. 이번 포스팅에서는 지난 포스팅에 이어 실제로 Azure에서 MLOps를 구현해보고자 한다. Azure에서 MLOps 라이프 사이클을 실현하기 위한 최적화된 방법 아래 5개의 그림이 Azure에서 추천하는 MLOps기반의 좋은 방법이다. 1. 재이용 가능한 파이프라인으로 모델을 만들기 모델링에 이용하는 데이터 세트의 선택, 각 종 파라미터의 설정등도 하나로 모아서 모델 생성의 포르레스를 파이프라인화한다. 2. 모델 등록의 자동화 이벤트 구동형으로 실제 사용자 환경에 가동할 모델을 바꿀 수 있도록 메타 정보를 포함하여 모델의 버전 관리를 행한다. 3. 감사증좌의 자동화 테스트 코..

IT/기초 지식 2022.04.12

[Azure] Azure으로 MLOps 구현하기 <개념편>

※ 일본의 한 블로그 글을 번역한 것입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적 부탁드립니다. 이번 포스팅에서는 ML Ops에 있어서 머신러닝 모델을 운용할 때에 과제와 개념을 정리해보았다. 다음 포스팅에서는 실제로 Azure의 각 종 서비스를 이용해여 MLOps를 실현해보고자한다. 머신러닝 운용할 때의 과제 상정 먼저 머신러닝 모델을 운용해감에 있어서 몇 가지 과제를 같이 생각해보자. 이번 포스팅에서는 위의 역할과 흐름으로 머신러닝 모델이 개발된다고 상정하고 있다. 모델 개발의 흐름 1번 : 맨 처음 데이터 분석가가 머신러닝 모델의 개발을 위한 준비단계로써 머신러닝으로 해결할 과제 정의과 가설 검증을 실행한다. 어떤 머신러닝모델을 사용하면, 비즈니스의 가치가 있을지를 고찰하는 단계..

IT/기초 지식 2022.04.11

[Azure] AWS와 비교한 Azure의 환경 구축 특징(AWS와 Azure의 차이)

※ 일본의 한 블로그 글을 번역한 것입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적 부탁드립니다. AWS는 어느정도 알고 있지만 Azure은 처음인 경우 당황하는 경우가 많다. 나도 그런 사람 중 한 사람이었다. 따라서 이번 포스팅에서는 AWS의 환경 구축 순서를 바탕으로 Azure에서는 어떻게 환경을 구축하는지 차이를 살펴보고자 한다. 참고로 아래의 내용은 2021년 5월 기점에 작성된 것으로 현재는 바꼈을 가능성이 있으니 참고하길 바란다. 구축할 환경 AWS와 Azure 각각에 가상 머신을 1개 실행하여 인터넷에서 부터 접속 할 수 있는 심플한 환경을 만들어 볼 것이다. 이러한 환경을 구축해 가면서 두 개의 차이점에 대해서 간단히 설명하고자한다. 아래의 그림은 AWS와 Azure의 ..

IT/기초 지식 2022.04.11

[git] git submodule 기초

※ 일본의 블로그 글을 번역한 포스팅입니다. 오역 및 직역이 있을 수 있으며 내용 오류시 지적해주시면 수정하겠습니다. git submodule이란? git submodule은 외부 git리포지토리를 자신의 git 리포지토리의 서브 디렉토리로 등록하고 특정 commit을 참고하는 구조이다. Subversion의 external와 유사하다. 그럼 git submodule의 해설을 위해 수중의 리포지토리 A(/path/to/a)와 A의 submodule로써 자주 사용되는 예로써 Bootstrap을 등록하는 흐름을 보려고 한다. git submodule를 이해할 때 가장 중요한 것은 아래의 두 가지이다. 리포지토리 A가 가리키는 submodule로서의 Bootstrap의 commit 현재의 Bootstrap의 ..

IT/기초 지식 2022.04.04

segmentation의 종류 (semantic segmentation, instance segmentation, panoptic segmentation의 차이)

논문을 읽는 중에 segmentation 태스크관련해서 종류가 나눠져 있다는 사실을 알게 되어 종류에 대해 간단하게 정리하고자 한다. segmentation은 단순 사전적의미로는 "분할"으로, 기계학습에 있어서는 이미지를 몇 개의 오브젝트로 분할하는 태스크 를 의미한다. 현재 segmentaion은 크게 세 가지 종류가 있다. 아래의 이미지는 각각의 예이다. 그림에서 (b) semantic segmentation은 이미지의 모든 요소에 대해 클래스 라벨을 예측하는 것을 목표로 한다. 한편으로, (c) instance segmentation 태스크는 이미지의 모든 물체에 대해서 클래스 라벨을 예측하고, 추가로 임의의 ID를 부여한다. (b)의 semantic segmentation과 주된 차이점은 겹쳐진 ..

IT/AI\ML 2022.03.31

[UML] 클래스 다이어그램

※ 일본의 한 포스팅을 번역한 내용입니다. 오역 및 직역이 있을 수 있으며, 틀린 내용이 있다면 지적해주시면 감사하겠습니다. 클래스 다이어그램이란? 클래스 다이어그램이란 클래스의 구성이나 클래스 간의 관계, 역할을 표현하기 위한 그림으로 1개의 클래스를 표현하는 기본 요소는 아래의 세 가지이다. 클래스 속성 조작 또한 각 요소는 위의 순서대로 기재해야하며 요소마다 선으로 구분한다. 이 그림을 예로 살펴보자면, 클래스명은 "사원", 속성은 "사원 번호", "이름", '주소"이며, 조작은 "출근한다", "퇴근한다"라고 표현할 수 있다. 그리고 클래스 간의 관계에 대해서도 추가해서 살펴보자. 사원 - 회사의 클래스가 선으로 연결되어 있으므로 어떠한 관계로 이어져 있음을 추론할 수 있다. 이제 관계와 관련된 구..

IT/기초 지식 2022.03.30

[python] 0이 없는 문자형(str) 숫자 데이터 리스트 제대로 정렬하기 (1, 10, 11 정렬 문제 해결)

Python에서 리스트 등을 오름차순 혹은 내림차순으로 정렬하기 위해서 sort() 메소드나 sorted() 함수를 사용한다. 이번 포스팅에서 0로 메워지지 않은 예를 들면, 0001, 0002....가 아닌 1, 2...으로 되어 있는 문자열 형태의 숫자는 어떻게 정렬할 수 있는지 알아보고자 한다. (참고로 문자열 숫자를 별다른 과정을 거치지 않고 정렬하기 위해서는 0001, 0002와 같이 앞을 0으로 메워주면 간단하게 제대로 정렬되지 않는 문제가 해결되지만 경우에 따라 적용하지 못할 수 있기 때문에 그 방법에 대해 알아봤다. ) sort()와 sorted() 0로 메워지지 않은 숫자 문자열의 주의점 인수 key에 int()나 float()를 지정 정규표현으로 문자열 안의 숫자를 추출 - 문자열안에 ..

IT/언어 2022.03.10

[python] python으로 디렉토리(폴더) 만들기

디렉토리(폴더) 만들기 os.mkdir으로 디렉토리를 생성 제일 간단하게 단일의 디렉토리를 생성하는 방법에 대해 알아보자. 아래의 예에서는 현재 디렉토리에 "dir_01"이라는 서브 디렉토리를 만들고 있다. os.mkdir(’dir_01’) # 혹은 os.mkdir(‘./dir_01’) 그리고 다음은 예에서는 루트 디렉토리 바로 아래에 있는 tmp라는 디렉토리에 dir_01이라는 디렉토리를 생성하고 있다. os.mkdir(‘/tmp/dir_01’) 첫 번째 예에서 보았듯 현재 위치한 디렉토리에 따라 작성되는 디렉토리 생성 위치가 다르므로 주의해야할 필요가 있다. 현재 디렉토리와 관계없이 디렉토리를 생성하고 싶은 경우 반드시 루트 디렉토리를 지정하는 "/"에서 부터 디렉토리 생성 위치를 지정할 필요하다. ..

IT/언어 2022.03.06

GAN의 평가지표 FID(Frechet Inception Distance)와 PPL(Perceptual Path Length)

GAN은 비교사 학습이므로, 교사학습의 Accurary, F1 score과 같은 확립된 평가 지표가 없다. 이번 포스팅에서는 자주 사용되는 Frechet Inception Distance이라는 평가지표와 StyleGAN에서 제안된 Perceptual Path Lenght에 대해 소개한다. Frechet Inception Distance(FID) Frechet Inception Distance(FID)는 생성된 이미지의 분포와 원래 이미지의 분포가 어느정도 비슷한지 측정하는 지표이다. 그러나, 이미지는 고차원 공간이므로 간단하게 분포의 거리를 계측하는 것은 힘들다. 따라서, 최근 인간을 초월한 이미지 인식 정밀도를 가진 모델을 사용하여 이미지를 저차원 공간으로 변경 한 뒤, 그 공간에서 분포의 거리를 구하..

IT/AI\ML 2022.02.28

머신러닝에서의 내삽(보간, Interpolation), 외삽(보외, Extrapolation)

머신러닝에서의 내삽(Interpolation)이란, 어떤 데이터를 사용하여 훈련한 기계 학습 모델의 출력 결과가 그 훈련 데이터(입력 데이터 및 교사 라벨)의 수치 범위 내에 있는 것을 의미한다. 또한 외삽(Expolation)이란, 그 범위 밖의 수치를 의미한다. 내삽/외삽이라는 용어는 원래 수학 용어이며, 기계학습 모델의 한계나 오해를 방지하기 위한 주의점으로 언급되는 경우가 많다. 특히 머신러닝에 익숙하지 않은 일반인이나 머신러닝 초심자는 내삽과 외삽을 의식하여 구분하지 않기 때문에, 머신 러닝 모델을 "어떤 입력 데이터에 대해서도 동일한 정밀도/신뢰성을 출력하고 있다"고 오해하기 쉽다. 예를 들어, 머신러닝 모델을 훈련하여 90% 정밀도가 나오면 "그 모델을 사용하면 항상 90%의 정밀도가 나온다..

IT/AI\ML 2022.02.28
728x90