티스토리 뷰

728x90

[ 밑줄/연결 ]

 

(머신러닝 용어)

 

(모델과 프레임워크)

 

머신러닝은 데이터에서 학습하는 모델을 구축하는 프로세스다.

 

업계의 ML 엔지니어는 보통 모델 구축을 위한 직관적인 API를 제공하는 여러 오픈소스 프레임워크 중 하나를 사용하는 편이다.

 

오픈소스 머신러닝 프레임워크인 텐서플로...

 

케라스는 신경망 구축을 위한 상위 수준 API로 다양한 백엔드를 지원한다.

 

 

 

(데이터와 특징 가공)

 

데이터셋(dataset) : 머신러닝 모델의 학습, 검증, 테스트에 사용하는 데이터

ㅇ 학습 데이터(training data) : 학습 프로세스 중에 모델에 제공되는 데이터

ㅇ 검증 데이터(validation data) : 학습 데이터셋에 포함되지 않는 데이터로 각 학습 epoch(학습 데이터셋에 대한 각 반복)이 완료된 후 모델의 성능을 평가하는 데 사용하는 데이터

ㅇ 테스트 데이터(test data) : 학습이 끝난 모델의 성능을 평가하는 데 사용되는 데이터

 

구조화된 데이터 = 수치 데이터(정수나 부동 소수점으로 이루어짐) 와 범주 데이터(자동차 종류, 개인 교육 수준 등 유한 그룹 집합으로 나눌 수 있는 데이터)  ==> 스프레드시트로 다룰 수 있는 데이터 (테이블 데이터)

 

구주화되지 않은 데이터 = 자유 형식 텍스트, 이미지, 비디오, 오디오 등

 

전처리 = 특징 가공

전처리 단계는 보통 수칫값을 조정하거나, 수치가 아닌 데이터를 모델에서 이해할 수 있는 수치 형식으로 변환하는 작업

 

 

(머신러닝 과정)

 

학습: 학습 데이터를 모델에 전달하여 패턴을 식별하는 방법을 학습시키는 과정

 

서빙(Serving) : 다른 사용자가 모델에 접근하여 예측값을 받을 수 있도록 모델을 제공....들어오는 접근 요청을 수락하고 모델을 마이크로서비스 형태로 배포하여 예측값을 전송하는 시스템을 구축하는 것

서빙의 인프라는 클라우드, 온프레미스(on-premise), 온디바스(on-device ) 등의 형태가 될 수 있음

 

예측 : 모델에 새 데이터를 전송하고 출력을 사용하는 프로세스

아직 배포되지 않은 로컬 모델에서 예측값을 생성하는 것은 물론, 배포된 모델에서 예측값을 가져오는 것 모두를 의미함

 

온라인 예측: 거의 실시간으로 적은 수의 예측값을 얻고자 할 때 사용되며 지연 시간이 짧을수록 좋음

배치 예측: 오프라인에서 대규모 데이터 집합에 대한 예측을 생성하는 것을 의미함

온라인 예측보다 오래 걸리며, 예측을 사전에 계산(예: 추천 시스템)하고 대규모 새 데이터 샘플에서 모델의 예측을 분석할 때 유용함

 

텍스티 리뷰를 보고 감정을 금정/부정으로 출력하는 당은 예측을 대체하는 말로 추론(Inference)을 사용함.

 

학습 데이터 수집 --> 특징 가공 --> 학습 --> 모델 평가 프로세스는 프로덕션 파이프라인과 별도로 처리하는 경우가 많음

 

스트리밍 : 새로운 데이터를 지속적으로 수집하고 학습 또는 예측을 이해 모델로 보내기 전에 이 데이터를 즉시 전처리해야 야 함.  스트리밍 데이터를 처리하려면 특징 가공, 학습, 평가, 예측을 수행하기 위해 여러 단계에 걸친 시스템이 필요함. 이러한 시스템을 머신러닝 파이프라인(ML pipeline)이라고 부름

 

 

(머신러닝 직군)

 

데이터 과학자(data scientist) : 데이터셋 수집, 해석, 처리를 수행하는 직군.

데이터에 대한 통계적, 탐색적 분석을 수행함. 데이터 수집, 특징 가공, 모델 구축 등의 작업을 할 수 있음

파이썬 또는 R로 작업하며 일반적으로 조직의 머신러닝 모델을 가장 먼저 구축함

 

데이터 엔지니어(data engineer) : 조직의 데이터를 위한 인프라와 워크플로를 관리함

데이터를 수집하고, 데이터 파이프라인을 구축하고, 데이터를 저장하고 전송하는 방법을 관리하는 데 도움을 줌

데이터를 중심으로 인프라와 파이프라인을 구현함

 

머신러닝 엔지니어(machine learing engineer) : ML 모델에 대해 데이터 엔지니어와 유사한 작업을 수행함

데이터 과학자가 개발한 모델을 가져와서 해당 모델의 학습, 배포와 관련된 인프라와 운영을 관리함

모델을 업데이트하고, 모델 버전을 관리하고, 최종 사용자에게 예측 서빙을 처리하는 프로덕션 시스템을 구축함

 

데이터 엔지니어가 머신러닝 프로젝트를 시작하고 데이터 수집을 위한 데이터 파이프라인을 구축함

데이터 과학자가 ML모델을 구축함

ML엔지니어가 모델을 프로덕션으로 옮김

 

 

(머신러닝의 문제)

 

(데이터의 품질)

 

불완전한 데이터셋, 특징이 부실한 데이터, 모델을 사용하는 모집단을 제대로 표현하지 못하는 데이터...

 

데이터 정확도(accuracy) : 학습 데이터 특징의 정확도와 해당 특징에 해당하는 실측 라벨의 정확도를 모두 가르킴

오타, 중복 항목, 데이블 데이터의 단위 불일치, 누락된 특징 등 오류....

라벨이 잘못 지정된 학습 데이터의 모델의 정확도를 떨어뜨림

 

데이터 완전성(completenese) : 고양이만을 분류하게 만든 모델은 개를 분류할 수 없음.

고양의 사진이 모두 정면 사진이면 모델은 고양이의 측면 얼굴이나 전신사진을 제대로 식별할 수 없음

부동산 가격을 예측하는 모델을 만들 때 30평 이상의 데이터만 학습시킨 모델은 25평 아파트의 예측 성능은 떨어짐

 

데이터 일관성(consistency) : 대규모 데이터셋을 만들 때는 데이터 수집과 라벨 지정 작업을 여러 팀이 나워서 수행하는 것이 일반적임. 이런 작업 절차에 대한 표준을 마련해야 함. 작업자의 편견이 들어가기 때문임

아파트는 평수로, mm2로 다르게 표현하는 것 등도 해당됨

 

데이터 적시성(timeliness) : 데이터의 사건이 발생한 시점과 데이터베이스에 추가된 시점 사이의 지연 시간을 말함

이벤트가 발생한 시점과 데이터셋에 추가된 시점의 타임스탬프를 추적한 후 특징 가공을 할 때 차이점을 반영해야 함

 

 

(재현성)

 

일반적인 프로그래밍에서 프로그램의 출력은 재현 가능하다...

반면 머신러닝 모델에는 근본적으로 무장위성이 내재되어 있다.

 

ML모델 학습에는 재현성을 보장하기 위해 수정해야 하는 몇 가지 요소가 있다. 학습 데이터, 학습 및 검증을 위한 데이터셋 생성에 사용되는 분할 매커니즘, 데이터 준비와 모델 하이퍼파라미터, 배치 크기와 학습률 등의 변수가 여기에 해당한다.

 

 

(데이터 드리프트)

 

머신러닝 모델이 입력과 출력 간의 관계를 유지할 수 있는지와 모델 예측이 사용 중인 환경을 정확하게 반영하는 지에 대한 문제를 표현하는 용어가 데이터 드리프트(data drift)임

 

과거의 데이터를 학습한 모델은 스마트폰이라는 단어에 대한 지식이 없다....

해결하려면 학습 데이터셋을 지속적으로 업데이트하고, 모델을 재학습하고, 모델이 특정 입력 데이터 그룹에 할당하는 가중치를 수정해야 함

 

 

(패턴 요약)

 

 

(ML 수명 주기)


(자연어 이해)

임베딩 + 특징 해시 + 중립 클래스 + 멀티모달 입력 + 전이 학습 + 2단계 예측 + 캐스케이드 + 원도 추론

 

(컴퓨터 비전)

리프레이밍 + 중립 클래스 + 멀티모달 입력 + 전이 학습 + 임베딩 + 멀티라벨 + 캐스캐이드 + 2단계 예측

 

 

[ 자평 ] 이해할 날이 오겠지...

 

번역본은 2021년 11월 나왔고, 원서는 2020년 11월에 나왔다.

번역본이 나오던 시점에는 ChatGPT도 없었다..

당시 이 책을 처음 훑어보고 "미국은 벌써, 머신러닝 파이프라인에서 패턴"까지 나오는 구나라는 감탄을 한 기억이 있다.

 

그 이후 필요에 위해 한번 더 훑어 보았고, 2023년 11월 ChatGPT 열풍 후 국내 몇 몇 대기업에서도 초거대언어모델을 하니 마니....잘 만들었니 아니니 하는 난리가 지속되고 있어 다시 한번 훑어 봤다.

 

 

댓글