MLOps World Conference _ Top 5 Lessons Learned in Helping Organizations Adopt MLOps Practices
세션 소개
MLOps World 컨퍼런스에서 들었던 세션 중 하나로, 조직의 MLOps 시스템 도입 과정을 지원하며 깨달았던 점들을 소개하는 세션입니다. 아마존 AWS의 Shelbee Eigenbrode에 의해 진행되었습니다. 정리 겸 공유차 글을 작성합니다.
Lesson #1: Start With Process
Shelbee는 머신러닝 모델을 프로덕션으로 가져오고, 다른 비즈니스와 통합하고 이를 잘 수행하려면 현재 프로세스에 대한 이해가 첫째로 우선시되어야 한다고 말합니다. 예를 들어 현재 프로세스의 갭은 무엇인지, 어떤 것이 필요하고 어떤 것이 수정되고 더해져야 하는지 등을 말합니다. 반복적으로 사용 가능하고 신뢰할 수 있는 패스를 생성하려면, 현재 프로세스의 격차를 이해하고 고심해야합니다.
ML 문제 식별 및 우선순위 설정
사실 머신러닝 문제를 프레임화 하는 것 부터, 모델을 훈련시키고 배포하는 것은 매우 힘듭니다. 따라서 가장 먼저 해야 할 것은 ML 프로젝트들을 식별하고 우선 순위를 매기는 것 입니다. 고려해야할 포인트들은 다음과 같습니다.
- Data Readiness
- 어떠한 데이터가 준비되어 있는지
- 어떠한 데이터가 가용한지
- Business Impact
- 현재 이 ML 문제를 해결하면 비즈니스에 어떠한 영향이 있는지
- ML applicability
위 세가지는 일반적인 가이드라인으로, 빠르게 해결할 수 있는 문제들이 어떤 것들인지 식별하게 해줍니다. 사실 일반적인 머신러닝 테크닉(가령 pre-trained model, auto ML)만으로 해결 가능한 ML 문제들도 많기 때문입니다.
또한 비즈니스 use case와 비교해서 성공의 척도를 어떻게 측정할 것인지 정의해야합니다. 그저 모델 퍼포먼스를 측정하는 메트릭이 아니라 비즈니스에 대한 영향과 성공 척도를 측정하는 데 사용해야 할 메트릭을 정해야 한다는 것입니다.
- 핵심 메트릭 정의하기
- 기대치를 조기에 설정하기
- 일관성있고 신뢰할 수 있는 프로세스를 구현하여 지속적으로 수집 및 측정하기
AI/ML을 포함하는 반복 가능한 데이터 전략 확인
다음은 AI/ML을 포함하는 반복 가능한 데이터가 있는지 확인하는 작업이 필요합니다. 데이터 사이언티스트들이 모델 구축을 위해 활용해야하는 데이터에 접근이 가능한지, 올바르게 권한 세팅이 되어있는지 등을 확인해야 합니다. 데이터 접근 권한을 얻을 때 계속해서 데이터 안전성이 보장되는지, 모델의 realiability에 영향이 가지는 않는지 등 머신러닝을 포함하는 데이터 전략 없이는 안정적이고 반복적으로 확장할 수 있는 방식을 찾을 수 없기 때문에 조직 및 팀에서 항상 첫번째로 다뤄야 하는 항목 중 하나입니다. 고려해야 할 포인트들은 다음과 같습니다.
- 오늘 가용한 데이터가 어떤 것이 있나?
- 데이터 사이언티스트들이 데이터를 사용할 수 있도록 하는 방법은 무엇인가?
- 데이터에 대한 액세스는 어떻게 보호되고 관리되는가?
- 오늘 수집을 시작하면 좋을, 1년 후 우리가 보고 싶을 데이터는 무엇이 있는가?
IT 니즈의 균형을 유지하면서 혁신을 가능하게 하는 반복 가능한 프로세스 생성
이제 데이터 사이언티스트가 환경에 액세스하여 실험을 수행할 수 있도록 해야합니다. 데이터 뿐만 아니라 리소스도 필요합니다. 머신러닝은 많은 연산과 큰 스토리지를 필요로 하므로 그러한 환경에 액세스 할 수 있어야합니다.
- 데이터 사이언티스트가 실험을 위한 제어된 환경에 액세스 할 수 있도록 하기
- 코드 및 자동화를 통해 가드레일 설정 및 시행
반복 가능하고 신뢰할 수 있는 배포 경로 확립
프로덕션 환경에 모델을 배포할 수 있는 일관되고 안정적인 프로세스가 데이터 액세스 다음으로 발생하는 두번째로 흔한 병목 현상이라고 합니다. 이를 위해서는 수동으로 쳐내는 태스크를 가능한 한 줄여야합니다.
모델 퍼포먼스를 측정하기 위한 프로세스 내 피드백 루프 생성
앞서 우리는 모델과 모델이 비즈니스에 미치는 영향을 측정하는 메트릭이 필요하다고 이야기했습니다. 따라서 해당 레벨의 투명성을 제공하는 피드백 루프를 생성해야합니다. 또한 수동으로 쳐내는 태스크를 줄여야한다고도 언급했습니다. 따라서 이에 관한 피드백 루프가 일반적인 비즈니스 프로세스에 통합되도록 해야합니다. 이러한 피드백 루프들을 가장 큰 투명성을 제공하는 매커니즘과 통합해야합니다.
Lesson #2 : You Can’t Scale With People Issues
앞서 여러 중요한 것들을 얘기했지만, 당신과 팀이 같은 언어를 사용하고 있는지를 확인하는 것 또한 중요합니다. 데이터 사이언티스트라면 devops 팀이나 ML 엔지니어와 유사한 IT 백그라운드를 가지고 있지 않을 수 있습니다. 따라서 Shelbee가 기업과 일을 할 때 가장 먼저 했던 것 중 하나는 데이터 사이언티스트팀, devops팀과 함께하는 워크샵이었다고 합니다. Shelbee가 모델 배포에 대해 이야기하기 시작했을 때, 누군가 손을 들고 end point가 무엇인지, api가 무엇인지 질문했는데, 그녀가 그 때 깨달았던 것은 그 워크샵에 있던 사람들이나 페르소나에 따라 말하는 방식을 변경해야한다는 것이었습니다. 각자의 도메인 전문지식에 기반해서 다 다른 언어를 사용하는 것이 당연하기 때문에, 팀원들에게 머신러닝 개발 수명 주기에 대한 매우 높은 수준의 기본 지식을 제공해서 모든 사람들이 같은 언어로 말을 시작할 수 있도록 해야합니다.
Top challenges
- 기대치 설정
- 같은 언어로 대화
- 다른 우선 순위
- 능력치의 격차
Addressing Top Challenges
- 성공 영역 정의
- 교차 훈련
- 프로젝트 팀 간 교차
- 프로젝트 목표와 우선순위 공유
Lesson #3: Technical Implementation(s) - One Size Does Not Fit All
Shelbee는 언젠가 전반적으로, 전 세계적으로 사용할 수 있는 매우 규범적인 MLOps 패턴을 구성해달라는 요청을 받은 적이 있다고 합니다. 그러나 모두 잘 알고 있듯이, 그러한 황금 패턴은 없습니다. 핵심 관행들은 동일하게 유지되지만 기술 구현은 매우 다양하기 때문입니다. 패키지화된 솔루션들, 즉 미리 구성된 프로덕트들과 관리된 서비스들은 운영 복잡성이나 오버헤드는 낮지만 동시에 유연성과 관리성이 떨어집니다. 반대로 직접 구축한 솔루션들은 복잡성 및 오버헤드는 높지만 유연성과 관리성 측면에서는 매우 유용하고, 수요기업을 위한 완전한 맞춤형 솔루션을 구축할 수 있습니다. 그리고 하이브리드 솔루션이 있는데, 바로 직접 구축한 솔루션과 패키지화된 솔루션을 조합하는 것입니다. 물론 어떠한 솔루션을 사용해야 하는가에 대한 하나의 정답은 없습니다. 다만 공유한 몇 가지 팁을 나열해보겠습니다.
- 지적 재산과 핵심 비즈니스에 집중할 수 있도록 선택
-
비즈니스 목표에 신속하게 도달할 수 있는 툴 사용
- 기술 구현 선택 시 모든 비용을 고려
- 더 많은 확장을 위해 표준화할 수 있는 부분 고려
Lesson #4: Don’t Ignore Unique Aspects of the ML Development Lifecycle
devops practice를 기반으로 하는 MLops는 머신러닝에 직접 소프트웨어 개발 practice를 적용할 수 없습니다. 종종 MLops에 devops 관행을 직접적으로 적용하려는 경향이 있는데, 이것은 많은 문제들을 야기합니다. MLops는 처음부터 파이프라인을 바로 구축하여 시작하지 않는 경우가 많습니다. 여기에는 여러가지 이유가 있을 수 있습니다. 데이터 사이언티스트가 반드시 파이프라인을 구축할 수 있는 기술세트를 가지고 있는 것은 아니기도 하고, 혹은 이후 계속 진행될 실험이 있기 때문에 파이프라인을 구축하는 것이 의미가 없는 경우도 있습니다. 일반적으로 주의해야 할 점은 다음과 같습니다.
- Experiment
- 빠른 실험 & 실험 추적이 모델 개발 활동의 핵심입니다.
- 이 실험에서 실제로 작동할 것이 무엇인지 더 나은 아이디어를 얻은 후 파이프라인을 구축하십시오.
- Pipelines
- 항상 모델 개발중에 빌드되는 것은 아닙니다.
- 하나의 단일 종단간 파이프라인이 아닌 운영을 위한 여러 파이프라인이 존재하는 것이 매우 일반적입니다.
- Model Lineage
- Model Registry가 필요합니다.
- 모델 계보 및 거버넌스의 핵심입니다.
- Monitoring
- 모니터링 요구사항은 조기에 확립되어야 합니다.
- 지속적인 재교육이 만사는 아닙니다.
Lesson #5: Start Small & Iterate
위 이미지는 ML Adoption과 MLOps 성숙도에 따른 단계들입니다. Repeatable 단계에서는 자동화를 통합하고, 수동 핸즈오프들을 제거하는 등의 활동을 볼 수 있습니다. Reliable 단계에서는 모델, 거버넌스, 파이프라인 계보 추적을 위한 지속적인 매커니즘 통합과 소스 및 버전 제어, 자동화 트리거와 같은 ci/cd practice들을 통합합니다. 마지막으로 Scalable 단계는 일반적으로 조직 전체에서 패턴을 만들고 공유하는 것과 일치합니다. 그러나 한가지 경고하는 것은 결승선에서 시작하는 것을 피해야한다는 것입니다. 즉, Scalable 단계에서 시작하는 것을 피해야합니다. 비즈니스에서 가장 중요한 practice를 선택 및 구축하고 거기에서 시작해야합니다. 모두가 알고 있듯이, 여정은 결승선에서 시작해서 빠르게 진행되고 마무리될 수 없기 때문입니다.
정리
- Start with Process
- You Can’t Scale With People Issues
- Technical Implementation(s) - One Size Does Not Fit All
- Don’t Ignore Unique Aspects of the ML Development Lifecycle
- Start Small & Iterate