제퍼넷 로고

Axfood가 Amazon SageMaker를 사용하여 조직 전체에서 기계 학습 가속화를 지원하는 방법 | 아마존 웹 서비스

시간

Axfood AB에서 작성한 게스트 게시물입니다. 

이 게시물에서는 스웨덴의 대규모 식품 소매업체인 Axfood가 AWS 전문가와의 긴밀한 협력을 통해 프로토타입을 제작하고 아마존 세이지 메이커.

액스푸드 스웨덴에서 두 번째로 큰 식품 소매업체로 13,000명 이상의 직원과 300개 이상의 매장을 보유하고 있습니다. Axfood는 다양한 책임 영역을 가진 여러 분산형 데이터 과학 팀으로 구성된 구조를 가지고 있습니다. 중앙 데이터 플랫폼 팀과 함께 데이터 과학 팀은 AI 및 ML 솔루션을 통해 조직에 혁신과 디지털 혁신을 가져옵니다. Axfood는 Amazon SageMaker를 사용하여 ML을 통해 데이터를 배양해 왔으며 수년 동안 프로덕션 모델을 사용해 왔습니다. 최근에는 정교함의 수준과 생산 모델의 수가 기하급수적으로 증가하고 있습니다. 그러나 혁신의 속도가 높음에도 불구하고 다양한 팀은 자체 작업 방식을 개발했으며 새로운 MLOps 모범 사례를 찾고 있었습니다.

우리의 도전

클라우드 서비스 및 AI/ML 측면에서 경쟁력을 유지하기 위해 Axfood는 AWS와의 파트너십을 선택하고 수년 동안 협력해 왔습니다.

AWS와의 반복적인 브레인스토밍 세션 중 우리는 데이터 과학 및 ML 실무자의 혁신 속도와 효율성을 높이기 위해 팀 간 협업을 가장 효과적으로 수행하는 방법에 대해 논의했습니다. 우리는 MLOps 모범 사례를 기반으로 프로토타입을 구축하기 위해 공동 노력을 기울이기로 결정했습니다. 프로토타입의 목표는 모든 데이터 과학 팀이 Axfood를 위한 차세대 AI 및 ML 플랫폼의 기반인 확장 가능하고 효율적인 ML 모델을 구축할 수 있는 모델 템플릿을 구축하는 것이었습니다. 템플릿은 AWS ML 전문가의 모범 사례와 회사별 모범 사례 모델을 연결하고 결합해야 합니다.

우리는 Axfood 내에서 현재 가장 많이 개발된 ML 모델 중 하나에서 프로토타입을 구축하기로 결정했습니다. 매장 매출 예측. 더 구체적으로 말하면, 식품 소매점을 위한 향후 캠페인의 과일 및 채소에 대한 예측입니다. 정확한 일일 예측은 매장의 주문 프로세스를 지원하며, 매장 내 필요한 재고 수준을 정확하게 예측하여 매출을 최적화함으로써 음식물 쓰레기를 최소화하여 지속 가능성을 높입니다. 이곳은 프로토타입을 시작하기에 완벽한 장소였습니다. Axfood는 새로운 AI/ML 플랫폼을 얻을 뿐만 아니라 ML 기능을 벤치마킹하고 최고의 AWS 전문가로부터 배울 수 있는 기회도 얻게 되었습니다.

우리의 솔루션: Amazon SageMaker Studio의 새로운 ML 템플릿

실제 비즈니스 사례에 맞게 설계된 전체 ML 파이프라인을 구축하는 것은 어려울 수 있습니다. 이 경우 예측 모델을 개발 중이므로 완료해야 할 두 가지 주요 단계가 있습니다.

  1. 과거 데이터를 사용하여 예측을 수행하도록 모델을 교육합니다.
  2. 훈련된 모델을 적용하여 미래 사건을 예측합니다.

Axfood의 경우, 이 목적을 위해 잘 작동하는 파이프라인은 이미 SageMaker 노트북을 사용하여 설정되었으며 타사 워크플로 관리 플랫폼 Airflow에 의해 조정되었습니다. 그러나 ML 플랫폼을 현대화하고 아마존 세이지 메이커 스튜디오Amazon SageMaker 파이프 라인. SageMaker Studio로 전환하면 사전 정의된 다양한 기본 기능이 제공됩니다.

  • 모델 및 데이터 품질과 모델 설명 가능성 모니터링
  • 디버깅과 같은 통합 개발 환경(IDE) 도구 내장
  • 비용/성능 모니터링
  • 모델 수용 프레임워크
  • 모델 레지스트리

그러나 Axfood의 가장 중요한 인센티브는 다음을 사용하여 사용자 정의 프로젝트 템플릿을 생성하는 기능입니다. Amazon SageMaker 프로젝트 모든 데이터 과학 팀과 ML 실무자를 위한 청사진으로 사용됩니다. Axfood 팀은 이미 강력하고 성숙한 수준의 ML 모델링을 보유하고 있었기 때문에 주요 초점은 새로운 아키텍처를 구축하는 것이었습니다.

솔루션 개요

Axfood가 제안한 새로운 ML 프레임워크는 두 가지 주요 파이프라인을 중심으로 구성됩니다. 모델 빌드 파이프라인 및 일괄 추론 파이프라인:

  • 이러한 파이프라인은 두 개의 개별 Git 리포지토리(빌드 리포지토리 하나와 배포(추론) 리포지토리 하나) 내에서 버전이 관리됩니다. 이들은 함께 과일과 채소를 예측하기 위한 강력한 파이프라인을 형성합니다.
  • 파이프라인은 타사 Git 리포지토리(Bitbucket) 및 지속적인 통합 및 지속적인 배포(CI/CD) 구성 요소를 위한 Bitbucket 파이프라인과 통합된 SageMaker 프로젝트를 사용하여 사용자 지정 프로젝트 템플릿으로 패키징됩니다.
  • SageMaker 프로젝트 템플릿에는 빌드 및 배포 파이프라인의 각 단계에 해당하는 시드 코드(이 게시물의 뒷부분에서 이 단계에 대해 자세히 설명)와 파이프라인 정의(단계 실행 방법에 대한 레시피)가 포함되어 있습니다.
  • 템플릿을 기반으로 새 프로젝트를 구축하는 자동화는 다음을 통해 간소화됩니다. AWS 서비스 카탈로그에서는 여러 제품에 대한 추상화 역할을 하는 포트폴리오가 생성됩니다.
  • 각 제품은 AWS 클라우드 포메이션 데이터 과학자가 MLOps 청사진을 기반으로 새 SageMaker 프로젝트를 생성할 때 배포되는 템플릿입니다. 그러면 AWS 람다 시드 코드가 포함된 두 개의 저장소(모델 빌드 및 모델 배포)가 있는 Bitbucket 프로젝트를 생성하는 함수입니다.

다음 다이어그램은 솔루션 아키텍처를 보여줍니다. 워크플로 A는 두 모델 파이프라인(빌드 및 추론) 간의 복잡한 흐름을 보여줍니다. 워크플로 B는 새 ML 프로젝트를 생성하는 흐름을 보여줍니다.

모델 빌드 파이프라인

모델 빌드 파이프라인은 전처리부터 시작하여 학습을 거쳐 모델 레지스트리에 등록되는 모델의 수명 주기를 조정합니다.

  • 전처리 – 여기, SageMaker ScriptProcessor 클래스는 기능 엔지니어링에 사용되어 모델이 학습될 데이터세트가 생성됩니다.
  • 훈련 및 일괄 변환 – SageMaker의 사용자 지정 교육 및 추론 컨테이너를 활용하여 과거 데이터에 대한 모델을 교육하고 해당 작업에 대해 SageMaker Estimator 및 Transformer를 사용하여 평가 데이터에 대한 예측을 생성합니다.
  • 평가 – 학습된 모델은 평가 데이터에 대해 생성된 예측을 다음을 사용하여 Ground Truth와 비교하여 평가를 진행합니다. ScriptProcessor.
  • 기준 작업 – 파이프라인은 입력 데이터의 통계를 기반으로 기준선을 생성합니다. 이는 데이터 및 모델 품질은 물론 특성 속성을 모니터링하는 데 필수적입니다.
  • 모델 레지스트리 – 학습된 모델은 향후 사용을 위해 등록됩니다. 모델은 지정된 데이터 과학자의 승인을 받아 프로덕션에 사용할 모델을 배포합니다.

프로덕션 환경의 경우 데이터 수집 및 트리거 메커니즘은 기본 Airflow 조정을 통해 관리됩니다. 한편, 개발 중에는 모델 빌드 Bitbucket 저장소에 새 커밋이 도입될 때마다 파이프라인이 활성화됩니다. 다음 그림은 모델 빌드 파이프라인을 시각화합니다.

일괄 추론 파이프라인

일괄 추론 파이프라인은 다음 단계로 구성된 추론 단계를 처리합니다.

  • 전처리 – 데이터는 다음을 사용하여 전처리됩니다. ScriptProcessor.
  • 일괄 변환 – 모델은 SageMaker Transformer와 함께 사용자 지정 추론 컨테이너를 사용하고 사전 처리된 입력 데이터를 바탕으로 예측을 생성합니다. 사용된 모델은 모델 레지스트리에서 승인된 최신 학습 모델입니다.
  • 후 처리 – 예측은 다음을 사용하여 일련의 후처리 단계를 거칩니다. ScriptProcessor.
  • 모니터링 – 지속적인 감시를 통해 데이터 품질, 모델 품질 및 기능 속성과 관련된 드리프트 검사를 완료합니다.

불일치가 발생하면 사후 처리 스크립트 내의 비즈니스 로직이 모델 재교육이 필요한지 여부를 평가합니다. 파이프라인은 정기적으로 실행되도록 예약됩니다.

다음 다이어그램은 일괄 추론 파이프라인을 보여줍니다. 워크플로 A는 전처리, 데이터 품질 및 특성 속성 드리프트 확인, 추론, 후처리에 해당합니다. 워크플로우 B는 모델 품질 드리프트 검사에 해당합니다. 모델 품질 드리프트 검사는 새로운 실측 데이터를 사용할 수 있는 경우에만 실행되기 때문에 이러한 파이프라인은 나누어집니다.

SageMaker 모델 모니터

Amazon SageMaker 모델 모니터 통합되면 파이프라인은 다음에 대한 실시간 모니터링의 이점을 얻습니다.

  • 데이터 품질 – 데이터의 드리프트 또는 불일치를 모니터링합니다.
  • 모델 품질 – 모델 성능의 변동을 관찰합니다.
  • 기능 기여 – 특성 속성의 드리프트를 확인합니다.

모델 품질을 모니터링하려면 실제 데이터에 액세스해야 합니다. 때로는 실제 정보를 얻는 것이 어려울 수 있지만 데이터 또는 특성 속성 드리프트 모니터링을 사용하면 모델 품질에 대한 유능한 프록시 역할을 합니다.

특히 데이터 품질 드리프트의 경우 시스템은 다음 사항을 감시합니다.

  • 컨셉 드리프트 – 이는 입력과 출력 사이의 상관관계 변화와 관련되며, Ground Truth가 필요합니다.
  • 공변량 이동 – 여기서는 독립입력변수의 분포 변화에 중점을 둔다.

SageMaker 모델 모니터의 데이터 드리프트 기능은 입력 데이터를 꼼꼼하게 캡처하고 면밀히 조사하여 규칙을 배포하고 통계 검사를 수행합니다. 이상이 감지될 때마다 경고가 발생합니다.

모델 저하를 모니터링하기 위한 프록시로 데이터 품질 드리프트 검사를 사용하는 것과 병행하여 시스템은 NDCG(정규화된 할인 누적 이득) 점수를 사용하여 특성 속성 드리프트도 모니터링합니다. 이 점수는 기능 속성 순위 순서의 변경과 기능의 원시 속성 점수 모두에 민감합니다. 개별 기능에 대한 기여도의 드리프트와 상대적 중요성을 모니터링하면 모델 품질 저하를 쉽게 찾아낼 수 있습니다.

모델 설명 가능성

모델 설명 가능성은 예측의 투명성을 보장하므로 ML 배포의 핵심 부분입니다. 자세한 이해를 위해 다음을 사용합니다. Amazon SageMaker 명확화.

Shapley 가치 개념을 기반으로 하는 모델에 구애받지 않는 특성 속성 기술을 통해 글로벌 및 로컬 모델 설명을 모두 제공합니다. 이는 추론 중에 특정 예측이 이루어진 이유를 해독하는 데 사용됩니다. 본질적으로 대조되는 이러한 설명은 다양한 기준에 따라 달라질 수 있습니다. SageMaker Clarify는 입력 데이터 세트에서 K-평균 또는 K-프로토타입을 사용하여 이 기준선을 결정하는 데 도움을 주며, 이후 모델 빌드 파이프라인에 추가됩니다. 이 기능을 통해 향후 모델 작동 방식에 대한 이해를 높이기 위해 생성적 AI 애플리케이션을 구축할 수 있습니다.

산업화: 프로토타입부터 생산까지

MLOps 프로젝트에는 높은 수준의 자동화가 포함되어 있으며 유사한 사용 사례에 대한 청사진 역할을 할 수 있습니다.

  • 인프라는 완전히 재사용할 수 있는 반면 시드 코드는 각 작업에 맞게 조정할 수 있으며 대부분의 변경 사항은 파이프라인 정의와 전처리, 훈련, 추론 및 후처리를 위한 비즈니스 로직으로 제한됩니다.
  • 훈련 및 추론 스크립트는 SageMaker 사용자 지정 컨테이너를 사용하여 호스팅되므로 데이터가 표 형식인 한 데이터 및 모델 모니터링 또는 모델 설명 단계를 변경하지 않고도 다양한 모델을 수용할 수 있습니다.

프로토타입 작업을 마친 후 이를 프로덕션에서 어떻게 사용해야 할지 고민했습니다. 이를 위해 MLOps 템플릿을 추가로 조정할 필요가 있다고 느꼈습니다.

  • 템플릿의 프로토타입에 사용된 원본 시드 코드에는 핵심 ML 단계(훈련 및 추론) 전후에 실행되는 전처리 및 후처리 단계가 포함되었습니다. 그러나 프로덕션에서 여러 사용 사례에 맞게 템플릿을 사용하도록 확장하는 경우 내장된 전처리 및 후처리 단계로 인해 코드의 일반성과 재현성이 저하될 수 있습니다.
  • 일반성을 향상하고 반복적인 코드를 최소화하기 위해 우리는 파이프라인을 더욱 슬림화하기로 결정했습니다. ML 파이프라인의 일부로 사전 처리 및 사후 처리 단계를 실행하는 대신 ML 파이프라인을 트리거하기 전후에 기본 Airflow 조정의 일부로 이를 실행합니다.
  • 이러한 방식으로 사용 사례별 처리 작업이 템플릿에서 추상화되고 남은 것은 최소한의 코드 반복으로 여러 사용 사례에 걸쳐 일반적인 작업을 수행하는 핵심 ML 파이프라인입니다. 사용 사례마다 다른 매개변수는 기본 Airflow 조정에서 ML 파이프라인에 대한 입력으로 제공됩니다.

결과: 모델 구축 및 배포에 대한 빠르고 효율적인 접근 방식

AWS와 협력한 프로토타입을 통해 현재 모든 Axfood 데이터 과학 팀에서 사용할 수 있는 현재 모범 사례를 따르는 MLOps 템플릿이 탄생했습니다. SageMaker Studio 내에서 새로운 SageMaker 프로젝트를 생성함으로써 데이터 과학자는 새로운 ML 프로젝트를 시작하고 신속하고 원활하게 프로덕션으로 전환하여 보다 효율적인 시간 관리가 가능합니다. 이는 지루하고 반복적인 MLOps 작업을 템플릿의 일부로 자동화함으로써 가능해졌습니다.

또한 몇 가지 새로운 기능이 ML 설정에 자동화된 방식으로 추가되었습니다. 이러한 이점에는 다음이 포함됩니다.

  • 모델 모니터링 – 모델 및 데이터 품질은 물론 모델 설명 가능성에 대한 드리프트 검사를 수행할 수 있습니다.
  • 모델 및 데이터 계보 – 이제 어떤 모델에 어떤 데이터가 사용되었는지 정확하게 추적 가능
  • 모델 레지스트리 – 이는 생산용 모델을 카탈로그화하고 모델 버전을 관리하는 데 도움이 됩니다.

결론

이 게시물에서는 Axfood가 AWS 전문가와 협력하고 SageMaker 및 관련 제품을 사용하여 기존 AI 및 ML 작업의 운영 및 확장성을 어떻게 개선했는지 논의했습니다.

이러한 개선 사항은 Axfood의 데이터 과학 팀이 보다 표준화된 방식으로 ML 워크플로를 구축하는 데 도움이 될 것이며 생산 중인 모델의 분석 및 모니터링을 크게 단순화하여 우리 팀이 구축하고 유지 관리하는 ML 모델의 품질을 보장할 것입니다.

의견 섹션에 의견이나 질문을 남겨주세요.


저자에 관하여

비요른 블롬크비스트 박사 Axfood AB의 AI 전략 책임자입니다. Axfood AB에 합류하기 전에 그는 Axfood의 일부인 Dagab에서 데이터 과학자 팀을 이끌고 스웨덴 전역의 사람들에게 우수하고 지속 가능한 식품을 제공하겠다는 사명으로 혁신적인 기계 학습 솔루션을 구축했습니다. 스웨덴 북부에서 태어나고 자란 Björn은 여가 시간에 눈 덮인 산과 넓은 바다로 모험을 떠납니다.

오스카 클랑 그는 Dagab 분석 부서의 선임 데이터 과학자로서 공급망 운영 최적화, 예측 모델 구축, 최근에는 GenAI 애플리케이션 구축 등 모든 분석 및 기계 학습 작업을 즐깁니다. 그는 보다 효율적인 기계 학습 파이프라인을 구축하여 효율성과 확장성을 향상시키는 데 전념하고 있습니다.

파벨 마슬로프 Analytic Platforms 팀의 선임 DevOps 및 ML 엔지니어입니다. Pavel은 AWS 플랫폼에서 DevOps 및 ML/AI 도메인의 프레임워크, 인프라 및 도구 개발에 대한 광범위한 경험을 보유하고 있습니다. Pavel은 Axfood에서 ML 내에서 기본 기능을 구축하는 데 핵심 역할을 한 사람 중 한 명입니다.

요아킴 버그 스웨덴 스톡홀름에 본사를 둔 팀 리더이자 제품 소유자 분석 플랫폼입니다. 그는 데이터 과학 팀에 데이터 및 ML 플랫폼을 제공하는 데이터 플랫폼 최종 DevOps/MLOps 엔지니어 팀을 이끌고 있습니다. Joakim은 다양한 산업 분야의 수석 개발 및 아키텍처 팀을 이끄는 수년간의 경험을 갖고 있습니다.

spot_img

최신 인텔리전스

spot_img