Articles

엔드 투 엔드 기계 학습 워크플로우

눈의 아이콘

이 섹션에서는 기계 학습 기반 소프트웨어 개발을 위한 일반적인 워크플로우에 대한 높은 수준의 개요를 제공합니다.일반적으로 기계 학습 프로젝트의 목표는 수집 된 데이터를 사용하여 기계 학습 알고리즘을 적용하여 통계 모델을 구축하는 것입니다.따라서 모든 기계 학습 기반 소프트웨어에는 데이터,기계 학습 모델 및 코드의 세 가지 주요 아티팩트가 포함됩니다. 이러한 아티팩트에 해당하는 일반적인 기계 학습 워크플로는 세 가지 주요 단계로 구성됩니다:

  • 데이터 엔지니어링:데이터 수집&데이터 준비,
  • 밀리리터 모델 엔지니어링:밀리리터 모델 교육&서빙,
  • 코드 엔지니어링:밀리리터 모델을 최종 제품에 통합합니다.

아래 그림은 일반적인 기계 학습 워크플로와 관련된 핵심 단계를 보여줍니다.

기계 학습 공학

데이터 공학

데이터 과학 워크 플로우의 초기 단계는 분석 할 데이터를 수집하고 준비하는 것입니다.일반적으로 데이터는 다양한 리소스에서 통합되고 있으며 형식이 다릅니다.가트너는”데이터 통합,데이터 과학,데이터 검색 및 분석/비즈니스 인텔리전스 활용 사례를 위해 원시 데이터를 선별된 데이터 세트로 탐색,결합,정리 및 변환하기 위한 반복적이고 민첩한 프로세스”라고 말합니다.특히,준비 단계가 분석을 위해 데이터를 준비하는 중간 단계 임에도 불구하고,이 단계는 자원과 시간과 관련하여 가장 비싼 것으로보고됩니다.데이터 준비는 데이터 과학 워크플로에서 중요한 활동이며,다음 단계인 데이터 분석으로 데이터 오류의 전파를 방지하는 것이 중요하기 때문에 데이터에서 잘못된 통찰력을 유도하는 결과를 가져옵니다.

데이터 엔지니어링 파이프라인에는 사용 가능한 데이터에 대한 일련의 작업이 포함되어 기계 학습 알고리즘에 대한 교육 및 테스트 데이터 집합을 제공합니다:

  1. 데이터 수집-다양한 프레임워크 및 형식을 사용하여 데이터를 수집합니다. 이 단계에는 합성 데이터 생성 또는 데이터 보강도 포함될 수 있습니다.
  2. 탐색 및 유효성 검사-데이터의 내용 및 구조에 대한 정보를 얻기 위한 데이터 프로파일링을 포함합니다. 이 단계의 출력은 최대,최소,평균 값과 같은 메타 데이터 집합입니다. 데이터 유효성 검사 작업은 일부 오류를 발견하기 위해 데이터 집합을 검사하는 사용자 정의 오류 감지 함수입니다.
  3. 데이터 논쟁(청소)-특정 속성을 다시 포맷하고 누락 된 값 대치 등의 데이터 오류를 수정하는 과정.
  4. 데이터 라벨링-각 데이터 요소가 특정 범주에 할당되는 데이터 엔지니어링 파이프라인의 작동입니다.
  5. 데이터 분할-핵심 기계 학습 단계에서 사용되는 데이터를 학습,검증 및 테스트 데이터 세트로 분할하여 기계 학습 모델을 생성합니다.

모델 엔지니어링

기계 학습 워크플로의 핵심은 기계 학습 알고리즘을 작성하고 실행하여 기계 학습 모델을 얻는 단계입니다. 모델 엔지니어링 파이프라인에는 최종 모델로 이어지는 여러 가지 작업이 포함됩니다:

  1. 모델 교육-기계 학습 알고리즘을 학습 데이터에 적용하여 기계 학습 모델을 학습하는 프로세스입니다. 또한 모델 학습 활동에 대한 기능 엔지니어링 및 하이퍼파라미터 튜닝도 포함됩니다.
  2. 모델 평가-학습된 모델의 유효성을 검사하여 최종 사용자에게 프로덕션에서 기계 학습 모델을 제공하기 전에 원래 성문화된 목표를 충족하는지 확인합니다.
  3. 모델 테스트-대기 테스트 데이터 집합을 사용하여 최종”모델 수용 테스트”를 수행합니다.
  4. 모델 패키징-최종 기계설비 모델을 특정 형식으로 내보내는 프로세스입니다.

모델 배포

기계 학습 모델을 학습한 후에는 모바일 또는 데스크톱 응용 프로그램과 같은 비즈니스 응용 프로그램의 일부로 배포해야 합니다.기계 학습 모델은 예측을 생성하기 위해 다양한 데이터 포인트(특징 벡터)가 필요합니다.기계 학습 워크플로의 마지막 단계는 이전에 설계된 기계 학습 모델을 기존 소프트웨어에 통합하는 것입니다.이 단계에는 다음 작업이 포함됩니다:

  1. 모델 제공-프로덕션 환경에서 기계 학습 모델 아티팩트를 해결하는 프로세스입니다.
  2. 모델 성능 모니터링-예측 또는 권장 사항과 같이 라이브 및 이전에 보이지 않는 데이터를 기반으로 기계 학습 모델 성능을 관찰하는 프로세스입니다. 특히,우리는 이전 모델 성능에서 예측 편차와 같은 특정 신호에 관심이 있습니다. 이러한 신호는 모델 재교육을 위한 트리거로 사용될 수 있습니다.
  3. 모델 성능 로깅-모든 추론 요청이 로그 레코드를 생성합니다.