티스토리 뷰

(포스팅의 모든 내용은 Hannes HapkeCatherine Nelson 의 저서인 Building Machine Learning Pipelines(O’Reilly, 2020)를 직접 읽고 작성한 후기 및 정리글입니다.)

 

머신러닝에 대해서는 2018년에 처음 접했고, 직접 실무를 하지는 않았지만 부트캠프, 독학 등으로 캐글 프로젝트 수준의 데이터가 주어지면  기초적인 ML/DL 모델을 실행할 수 있는 수준이 되었다(물론 모든 알고리즘을 100%이해하고 있는 것은 아니다).

 

최근 들어서 MLOps에 대한 관심이 생겼는데, 그 계기는 ML 모델링에 대한 접근성과 대중성이 높아졌다고 생각하기 때문이다. 불과 2~3년 전만 해도 ML 모델링은 환경 설치와 개발 문법과 프레임워크(Python, Tensorflow 등)에 대한 진입장벽이 존재했는데, 이제 하루 날 잡으면 Scikit Learn으로 Linear Regression은 누구라도 모델링 할 수 있게 된 것 같다.

 

그럼, 다음 단계(phase)는 뭘까? 뭘 할 줄 알아야 경쟁력이 생길까?

내가 ML알고리즘을 연구하는 박사가 되지 않을 바에야 기업들은 ML 공장을 돌리고 있을텐데, ML공장 잘 돌리는 법을 경쟁력으로 가지고 싶다는 생각에서 Hannes HapkeCatherine Nelson 의 저서인 Building Machine Learning Pipelines(O’Reilly, 2020)을 구매하여 정독하기로 했다. 구매하고 나서 알았는데, Riiid의 송호연님이 역자인 걸 보니 책은 믿을 만 한 것 같다.

 

1. 머신러닝 파이프라인은 왜 필요할까?

추천사에서는 포드 자동차의 조립라인 자동화에 비유했다.

생산 공정을 '잘 정의한 단계(파이프라인)'로 정립했기 때문에, 여러 단계 중 일부를 자동화해서 시간과 비용을 절감했습니다. 
소프트웨어는 단순히 배포한 뒤 끝나는 것이 아니라 정기적으로 모니터링, 유지 관리, 업데이트 되어야 합니다. 소프트웨어 파이프라인은 정적 생산 라인보다는 동적 루프에 가깝습니다. 소프트웨어를 손상하지 않고 신속하게 업데이트할 수 있어야 합니다.

2. 머신러닝 파이프라인은 언제 필요할까?

머신러닝의 프로젝트의 수가 증가할수록 파이프라인이 더욱 중요해진다. 새로운 모델을 실험하는 작업이 아니라, 유저가 있는 상황에서 지속적인 업데이트와 세부 조정을 해야한다면(즉, 반복성이 중요하다면) 파이프라인이 필요할 시기이다.

 

모델 생애 주기 (출처 : 구글이미지, Building Machine Learning Pipelines, by Hannes Hapke, Catherine Nelson Released July 2020)

 

머신 러닝 모델 생애 주기에 있어서 각 모든 단계에서 반복적인 작업이 발생하며, 이 과정에서 파이프라인 오케스트레이션(Orchestration)이 필요하다. 대부분의 머신러닝 프로젝트의 실패 원인은 파이프라인 단계 사이에서 커스텀 코드를 사용해서 발생한다. 따라서 작업 간의 표준화된 관리도구가 필요하다.

 

3. 방향 비순환 그래프(DAG; Directed Acyclic Graph)

아파치 빔, 아파치 에어플로, 쿠베플로와 같은 파이프라인 도구는 그래프를 통해서 작업을 관리한다. DAG는 모든 의존성이 완전히 계산된 후에 작업을 시작한다. 파이프라인 그래프도 비순환적이어야 하며, 파이프라인이 끝없이 실행되지 않도록 정의되어야 한다(방향성과 비순환성이라는 두 조건 때문에 방향 비순환 그래프라고 한다).

 

4. 예제 프로젝트

예제 프로젝트에서는 머신러닝 모델을 지속적으로 학습하는 데 필요한 프레임워크와 컴포넌트, 인프라 요소를 시연한다. 데이터는 미국 소비자 금융 보호국에서 제공하는 금융 제품 관련 소비자 불만 사항 모음 데이터를 사용하며, 이 프로젝트의 목표는 모델링이 아닌 파이프라인 구축이기 때문에, 이미 저자가 생성한 모델을 사용하기로 한다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함