Skip to content

Latest commit

 

History

History
26 lines (19 loc) · 2.05 KB

File metadata and controls

26 lines (19 loc) · 2.05 KB

Pipeline training pattern

Usecase

  • 학습용 파이프라인 단계를 분리하여 각각의 라이브러리를 선택하고 재사용을 할 수 있도록 만드는 경우.
  • 각각의 작업마다 데이터 상태와 진행을 기록하고 재시도를 용이하게 만드는 경우.
  • 각 작업들을 별도로 컨트롤하고자 하는 경우.

Architecture

Pipeline training pattern은 Batch training pattern의 응용 패턴입니다. 각 작업을 개별 리소스(서버, 컨테이너, 워커 등)로 분할함으로써 작업과 리소스를 개별적으로 구축할 수 있게 하여 작업 실행과 재시도를 유연하게 실행시킬 수 있습니다. 이 패턴에서 모든 작업들은 개별 리소스로 배치되기 때문에, 의존 관계가 있는 작업 후에 실행됩니다. 이전 작업의 실행 결과는 후속 작업에 제공되며 후속 작업의 입력 데이터가 됩니다. fault tolerance(결함 감내. 시스템을 구성하는 일부에서 결함 또는 고장이 발생하여도 정상적 혹은 부분적으로 기능을 수행)를 위하여 처리 완료 데이터를 데이터 웨어하우스에 저장할 수도 있습니다. 이전 작업을 완료하자마자 바로 다음 작업을 실행할 필요는 없습니다. 시간이 많이 걸리는 작업은 자주 실행하고 다른 작업들은 더 적게 실행할 수 도 있습니다.
이 패턴으로 인해 작업 워크플로우와 리소스 관리가 복잡해 줄 수 있습니다. 각 작업의 독립성을 높이는 장점이 있지만, 작업의 실행 조건이나 리소스 선택 등을 개별적으로 고려해야 합니다.

Diagram

diagram

Pros

  • 작업의 리소스나 라이브러리를 유연하게 선택할 수 있습니다.
  • 장애 분리.
  • 워크플로우 또는 데이터 기반의 작업 관리.

Cons

  • 다중 구조로 여러 작업들을 관리해야 합니다.
  • 시스템 및 워크플로우가 복잡해 질 수 있습니다.

Needs consideration

  • 리소스, 라이브러리, 버전 관리 방법.