전체 글117 아파치 빔 아파치 빔다양한 TFX 컴포넌트와 라이브러리는 아파치 빔을 사용하여 파이프라인 데이터를 효율적으로 처리한다. 아파치 빔을 파이프라인 오케스트레이션 툴로 사용하는 방법은 추후 자세히 알아보도록 하고, 여기서는 TFX 컴포넌트에서 아파치 빔이 어떻게 작동하는지 알아보도록 하겠다. 아파치 빔(Apache Beam)은 2016년 오픈소스 형태로 공개된 unified programming model로, ETL, 배치 프로세스, 스트리밍 작업을 포함하여 다양한 데이터 처리 파이프라인을 정의하고 실행하기 위한 프로그램이다. TFX는 아파치 빔에 의존하며, 다양한 컴포넌트 내에서 이를 사용하고 있다.설치아파치 빔은 다음 명령어로 설치할 수 있다.pip install apache-beampip install 'apach.. MLOps 2021. 12. 15. 대화형 파이프라인 대화형 파이프라인머신러닝 파이프라인 전체를 설계하고 구현하는 일은 다소 어려운 일 중 하나이다. 한 번에 에러 없이 잘 동작하는 파이프라인을 구축하는 것은 프로젝트가 거대해질 경우 거의 불가능에 가깝고, 컴포넌트를 디버깅하는 일조차 일체형 파이프라인에서는 쉽지 않다. 이러한 문제를 해결하기 위해 TFX는 대화형 파이프라인 기능을 도입하였다. 대화형 파이프라인은 단계별 구현이 가능하며 구성 요소의 아티팩트를 즉시 검토할 수 있다는 장점이 있다. 각 단계의 구현과 디버깅이 완료된 후에는 아파치 에어플로에서 실행할 수 있도록 대화형 파이프라인을 실제 프로덕트 레벨의 파이프라인으로 변환하는 과정을 거치면 전체 파이프라인의 성공적인 구축이 완료된다고 할 수 있다.실습모든 대화형 파이프라인은 주피터 노트북이나 코랩.. MLOps 2021. 12. 13. ML 메타데이터 ML 메타데이터파이프라인 내 컴포넌트들은 아티팩트를 직접 주고받는 대신 파이프라인에서 만들어지는 아티팩트에 대한 참조를 기반으로 소통한다. 이러한 참조는 드라이버, 배포자 등에 의해 메타데이터로부터 얻어지며, 따라서 메타데이터는 TFX 파이프라인의 아주 중요한 요소 중 하나이다.컴포넌트를 실행할 때, 드라이버는 MLMD(Machine Learning Metadata) 라이브러리의 API를 사용하여 실행에 해당하는 메타데이터를 저장한다. 실행 이후 컴포넌트 배포자는 컴포넌트의 출력 값의 참조를 메타데이터스토어에 저장한다. MLMD는 스토리지 백엔드에 연결을 구성하여 메타데이터를 메타데이터스토어에 끊임없이 저장한다. 현재 MLMD가 제공하는 스토리지 백엔드는 다음과 같이 세 가지로 나뉜다.(SQLite를 통.. MLOps 2021. 12. 12. 회귀분석 회귀분석 지도 학습 (Supervised Learning) Y = f(X)에 대하여 입력 변수 X와 출력 변수 Y의 관계에 대하여 모델링하는 것 회귀(regression): 입력 변수 X에 대해서 연속형 출력 변수 Y를 예측 분류(classification): 입력 변수 X에 대해서 이산형 출력 변수 Y를 예측 회귀분석 입력 변수인 X의 정보를 활용하여 출력 변수인 Y를 예측하는 방법으로, 크게 선형회귀분석 / 비선형회귀분석으로 나뉜다. 1. 단순 선형 회귀분석 입력 변수가 X, 출력 변수가 Y일때, 단순 선형 회귀의 회귀식은 위와 같다. 위 식에서 $\beta_0$는 절편(intercept), $\beta_1$은 기울기(slope)이며, 둘을 통틀어 회귀계수(coefficients)라고 한다.($\ep.. ML&DL/ML DL 기본기 2021. 12. 11. TFX 컴포넌트 개요 TFX 컴포넌트 개요컴포넌트는 단일 태스크의 실행보다 더 복잡한 프로세스를 처리한다. 모든 머신러닝 파이프라인 컴포넌트는 메타데이터스토어에서 입력 아티팩트를 가져오고, 메타데이터스토어에서 제공한 경로에서 데이터를 로드하여 처리한다. 컴포넌트는 처리된 데이터를 출력하고 이 데이터는 다음 파이프라인 컴포넌트에 제공된다. 즉, 컴포넌트 내부에서는 다음과 같은 작업이 수행된다고 할 수 있다.입력 수신: 메타데이터스토어로부터 입력 아티팩트 수신 및 데이터 로드작업 수행: 데이터 처리최종 결과 저장: 결과 저장 후 출력 위 세 가지 작업을 수행하는 컴포넌트 내 파트를 각각 드라이버(driver), 실행자(executor), 배포자(publisher)라고 한다. 드라이버는 메타데이터스토어에서 입력 데이터를 가져오며,.. MLOps 2021. 12. 11. 회귀분석을 위한 확률 기초 회귀분석을 위한 확률 기초 1. 확률 기초 확률 실험( Random experiment) 실험의 결과는 미리 알 수 없다. ex - 주사위를 던졌을 때 어떤 눈이 나올지는 미리 알 수 없다. 실험에서 일어날 수 있는 모든 결과는 사전에 알려져 있다. ex - 주사위를 던졌을 때 1~6 중 하나의 눈이 나올 것이다. 이론적으로는 실험을 반복할 수 있다. 표본 공간 (Sample Space) 모든 결과들의 모임ex - 주사위를 던졌을 때 나올 수 있는 결과들의 집합 근원 사건 (Sample outcome) 표본 공간의 원소 ex - 1, 2, 3, 4, 5, 6 사건 (Event) 표본 공간의 부분집합 (근원 사건의 집합) ML&DL/Math for ML 2021. 12. 9. TFX - 텐서플로우 익스텐디드 TFX - 텐서플로우 익스텐디드이번 포스팅에서는 텐서플로우 기반 Google-production-scale 머신러닝 플랫폼인 텐서플로우 익스텐디드(TFX)를 소개하고 그 설치 방법을 알아보도록 하겠다. TFX를 사용하여 파이프라인 작업을 정의한 후 에어플로, 쿠브플로 파이프라인 등의 파이프라인 오케스트레이터로 파이프라인을 실행시킬 수 있다.1. TFX 소개머신러닝 파이프라인이 복잡해짐에 따라 작업 의존성을 관리하는 데에 드는 노력과 시간은 증가하기 마련이다. 파이프라인이 복잡해지고 커짐에 따라 태스크 간 결합을 수행하는 글루 코드(glue code)의 힘이 약해져 연결이 취약해지고, 이는 파이프라인의 고장을 초래할 수 있다. 여기서 연결이 취약해진다라고 함은, 프로덕션 모델의 업데이트가 주기적으로 이루어.. MLOps 2021. 12. 8. 통계학 기초: 회귀분석을 위한 통계 회귀분석을 위한 통계 0. 통계학이란? 통계학의 전반적인 이해를 위해서는 모집단과 표본에 대해 알아야 한다. 모집단 (Population) 연구의 대상이 되는 모든 개체들을 모은 집합 일반적으로 시간적, 공간적 제약으로 인해 모집단 전체를 대상으로 한 분석은 불가능하다. 표본 (Sample) 모집단 일부의 관측값들 각각의 집단에서 우리가 관심 있게 봐야 할 것들은 다음과 같다. 모수 (Parameter) 수치로 표현되는 모집단의 특성 모집단의 요약 값이라고 할 수 있다. ex - 모집단의 평균, 분산 등 통계량 (Statistic) 표본의 관측값들에 의해서 결정되는 양 추정량 모수를 추정하기 위한 목적을 가진 통계량 1. 자료의 종류 통계학에서 주로 다루는 자료는 크게 두 가지로 나눌 수 있다. 수치형 .. ML&DL/ML DL 기본기 2021. 12. 8. 과적합(Overfitting) 과적합(Overfitting) 1. 과적합이란 학습 데이터에 대해서는 높은 정확도를 보이지만, 검증 데이터 혹은 테스트 데이터에 대해서는 정확도가 낮은 경우를 의미한다. 복잡한 모형일수록, 데이터가 적을수록 과적합이 일어나기 쉽다. 과적합은 데이터 사이언스뿐만 아니라 AI 전반적으로 매우 큰 이슈 아래 그림은 회귀분석에서 고차항을 넣었을 때 만들어지는 직선 2. 분산(Variance)과 편파성(Bias) 3. 분산과 편파성의 트레이드오프(Tradeoff) 딜레마 분산과 표준편차가 모두 낮은 경우 (좌측 상단) 거의 존재하지 않는, 가장 이상적인 상황이다. 타깃 값에 높은 정확도를 가지고 적중함을 확인할 수 있다. 분산과 표준편차가 모두 높은 경우 (우측 하단) 예측값이 한 곳에 모이지도 않았고 타깃 값에.. ML&DL/ML DL 기본기 2021. 12. 7. 파이프라인 오케스트레이션 파이프라인 오케스트레이션앞서 설명한 머신러닝 파이프라인의 모든 컴포넌트가 올바른 순서로 실행되도록 조정해야 할 필요가 있다. 각 컴포넌트는 실행되기 전에 해당 컴포넌트의 실행에 필요한 모든 입력값이 준비되어야 한다. 이러한 단계 조정에는 아파치 빔(Apache Beam), 아파치 에어플로(Apache Airflow), 쿠버네티스(Kubernetes) 인프라용 쿠브플로(Kubeflow) 파이프라인 등의 도구가 사용된다. 데이터 파이프라인 도구가 머신러닝 파이프라인 단계를 조정하는 동안, 텐서플로우 ML 메타데이터스토어(MetadataStore)와 같은 파이프라인 아티팩트(Artifact) 저장소는 개별 프로세스의 산출물을 저장한다.1) 파이프라인 오케스트레이션의 필요성2015년, 구글 머신러닝 엔지니어 팀.. MLOps 2021. 12. 6. 모델 적합성 평가 및 실험설계 모델의 적합성 평가 및 실험설계 0. 용어 설명 MSE(mean squared error) 평균 제곱 오차. 예측값과 실제값 사이의 오차(잔차)의 제곱에 대한 평균 회귀 모형의 예측력을 평가하기 위해 예측 값과 실제 값이 유사한지 평가할 수 있는 척도로, 숫자가 작을수록 더욱 정확한 모델이라고 판단한다. 이외에도 Average error, MAE, MAPE, RMSE 등이 있다. Overfitting 과적합. 머신러닝에서, 학습 데이터를 과하게 학습하는 것을 뜻한다. 실제 데이터의 부분집합인 학습 데이터에 대해서는 오차가 감소하지만, 실제 데이터에 대해서는 오차가 증가하게 된다. Underfitting 과적합의 반대 개념. 과소 적합이라고도 불림. 학습 데이터가 충분치 않거나 학습이 제대로 이루어지지 않.. ML&DL/ML DL 기본기 2021. 12. 5. 머신러닝 파이프라인 단계 머신러닝 파이프라인 단계머신러닝 파이프라인은 새로운 학습 데이터 수집을 시작으로, 모델의 작동 피드백을 받는 것까지를 포함한다. 그 안에는 데이터 전처리, 모델 학습 및 분석, 모델 배포 등 다양한 단계가 포함되어 있다. 이러한 단계를 자동으로, 또 반복적으로 수행할 수 있게 하는 것이 머신러닝 파이프라인의 목적이다.위 그림에서처럼, 머신러닝 파이프라인은 반복되는 주기를 가진다. 데이터를 데이터 소스로부터 지속적으로 수집할 수 있으므로 모델의 지속적인 업데이트가 가능하고, 자동화된 재학습을 통해 모델의 성능을 개선할 수 있다. 실제 실무에서는 과거의 데이터와 현재 유입되는 데이터가 같다는 보장이 없는 경우가 많아 지속적인 재학습을 통한 업데이트가 필수적이며, 이를 머신러닝 파이프라인이 수행한다.1) 데이.. MLOps 2021. 12. 3. 이전 1 ··· 6 7 8 9 10 다음