모두를위한 ML : Nordstrom의 ML 플랫폼 소개

(Ariana Bray) (2020 년 4 월 17 일)

대규모 셀프 서비스 머신 러닝 지원 전략

사진 : Pietro Jeng ( Unsplash

공급망 물류 관리에서 (수백만 고객을위한 큐 레이트 된 룩 (디지털 스타일 권장 사항) 구축)에 이르기까지 Nordstrom의 점점 더 많은 팀이 기계 학습 (ML)의 힘을 통해 고객 경험을 지속적으로 향상시킵니다. 데이터 소스 선택에서 프로그래밍 언어 선택에 이르기까지 모든 사람이 다르게 수행합니다. Nordstrom의 기계 학습 플랫폼 팀은 어디로 들어 오나요? 모두를위한 머신 러닝 플랫폼 인 Cerebro 를 소개합니다. 이 기사에서는 Cerebro에 대한 비전, 머신 러닝 플랫폼의 필요성 및 Cerebro를 설계 할 때 해결 한 문제에 대해 설명합니다.

비전

비전 Cerebro는 데이터 과학자, 분석가 및 기타 ML 개발자가 직접 비즈니스에 영향을 미치는 확장 가능한 ML 솔루션을 만들 수있는 플랫폼을 만드는 것이 었습니다. 즉, 셀프 서비스 머신 러닝을 대규모로 활성화하는 것이 우리의 임무입니다. Cerebro는 사용자에게 ML 솔루션을 신속하게 개발하고 자신있게 배포하는 데 사용할 수있는 통합 도구 세트를 제공하는 것을 목표로합니다.

요약하면 Cerebro의 주요 목적은 다음과 같은 간편한 방법을 제공하는 것입니다. 모델의 수명주기를 관리합니다. Cerebro는 모델을 더 빠르게 프로덕션으로 푸시 할 수있을뿐만 아니라 다른 팀이 Cerebro SDK를 사용하여 서비스를 ML 솔루션으로 대체 할 수 있도록함으로써 모든 Nordstrom에 직접적인 영향을줍니다. Cerebro는 Nordstrom 내의 여러 팀에서 이미 프로젝트를 수행하는 데 사용되었습니다. 우리 플랫폼은 모델 예측과 같은 내부 도구를 강화하는 데 사용되었습니다. 디자인 결정의 최전선에서 다음 지침을 준수합니다.

자동화를 사용하여 편안한 사용자 환경을 만들어 이러한 목표를 달성합니다.

편안한 사용자 경험을위한 자동화

필요한 사항

오랫동안 Nordstrom 데이터 과학자들은 새로운 문제 해결 방법을 모색했습니다. 이 질문은 프로덕션 등급의 엔드 투 엔드 머신 러닝 워크 플로를 활성화하는 방법 입니다.

또한 워크 플로는 머신 러닝의 여러 측면을 포함해야합니다.

이러한 요구 사항에 대한 일회성 솔루션을 만들기 위해 각 팀에 데이터 엔지니어를 포함시키는 것은 비용 효율적이지 않습니다. 선택권. 이러한 데이터 과학 팀이 전체 기계 학습 수명주기 (데이터 수집에서 모델 제공에 이르기까지)를 관리 할 수 ​​있도록 허용하면 허용 할 수없는 시간이 걸리고 전체 조직의 속도가 느려집니다. 간단히 말해 머신 러닝에서 엔지니어링을 추상화

기회

일반적으로 알려진 문제 이러한 문제 외에도 ML 플랫폼 팀은 Nordstrom 관련 문제도 해결해야합니다.

  • 다양한 모델, 다양한 표준 : Nordstrom은 엔터프라이즈 급 측정 항목과 로깅 솔루션을 사용합니다.하지만 이러한 측정 항목과 로그의 결과에 대한 단일 연락 창구가 없다면 얼마나 효과적인가요? 서비스 및로드 밸런서의 상태를 유지하는 책임자는 누구입니까? 모니터링해야하는 측정 항목은 무엇인가요?
  • 규모 : 데이터 과학 사용 사례는 단일 독립 실행 형 컴퓨팅 인스턴스. 엔터프라이즈 급 ML 플랫폼이 없기 때문에 분산 컴퓨팅이 활용되지 않습니다.
  • 워크 플로 : ML 워크 플로가없는 경우 Nordstrom의 엔지니어링 팀은 데이터 과학 주도 프로젝트를 프로덕션 준비 상태로 만들기 위해 종종 상당한 조정을해야합니다.
  • 새로운 도구 배우기 : ML과 엔지니어링 사이에 추상화가없는 상황에서 ML 프로젝트에 참여하는 사람들은 새로운 도구와 기술을 배워야합니다. 이 작업은 시간이 많이 걸리고 엔지니어링 지원이 필요하며 생산 준비가 된 모델을 만드는 일정에 지연을 추가합니다.

기존 플랫폼을 사용하지 않는 이유는 무엇입니까?

기존 ML SaaS 제품에는 많은 격차가 있습니다.

  • 중앙 집중식 기능 저장소 없음
  • 모든 모델 및 언어 지원 없음
  • 소프트웨어 별 모델
  • 모델 추적 없음; 코드 → 기능 → 모델 계보
  • 프레임 워크 별, 일반화 된 초 매개 변수 조정
  • 기존 인프라와의 통합 문제
  • 비용이 많이 드는 구독 모델

우리는 데이터 과학자에게 필요한 그리고 채울 수있는 플랫폼을 구축하기로 결정했습니다. 다른 ML 플랫폼 솔루션이 남긴 많은 격차입니다.

Cerebro를 구축하는 이유

Cerebro는 머신 러닝을 대중화하는 플랫폼입니다. 핵심에서 Cerebro는 파트너십을 강화하고 데이터 과학과 엔지니어링 간의 격차를 해소합니다.

Cerebro는 사용자에게 다양한 이점을 제공하며, 그중 일부는 아래에 강조 표시되어 있습니다.

* 셀프 서비스 — 별도의 엔지니어링 팀에 대한 사용자의 의존도가 줄어 듭니다.

* 일관된 — 우리의 접근 방식은 데이터 과학 커뮤니티에서 사용하는 기존 ML 워크 플로와 일치합니다.

* 신기술 감소 — 인터페이스를 통해 추상화를 제공하므로 사용자가 새로운 기술을 배울 필요가 절대적으로 최소화됩니다.

* 사용 용이성 — Cerebro는 생산 모델.

더 많은 엔지니어를 고용하여 계속해서 확장되는 데이터 과학 사용 사례를 지원하는 대신 , 우리는 이러한 사용 사례를 지원하도록 확장 할 수있는 플랫폼 을 구축했습니다. 타사 소프트웨어 기반 결정을 내리는 대신 사용자 지정 알고리즘 기반 결정을 내리려고합니다.

Cerebro 사용의 이점

현재 상태 : 표준화 된 워크 플로를위한 추상화

우리 팀은 규범적인 접근 방식을 취하고 싶지 않았으며 모든 팀이 동일한 도구와 기술을 사용하도록 요청했습니다. 대신, 표준화 된 워크 플로를 만드는 데 도움이되는 추상화를 개발했습니다. 폭풍 속에서 차분한 분위기입니다. 사용자는 프로젝트를 생성, 개발 및 배포 할 수있는 다양한 방법이 있습니다.

독점 기술 없음

회사 나 조직에 독점적 인 기술을 도입하지 않으므로 라이선스 비용이 없습니다.

No New 필요한 컴퓨팅 인프라

우리는 Nordstrom에 이미 구축 된 컴퓨팅 플랫폼을 활용하고 있으며 새로운 플랫폼을 설정하지 않습니다.

직접 선택 데이터 소스

모든 팀에게 특정 데이터 소스를 사용하도록 요청하는 대신 Cerebro를 사용하면 가장 인기있는 여러 데이터베이스 및 데이터웨어 하우스에 안전하게 연결할 수 있습니다. 플랫폼이 성숙 해짐에 따라 더 많은 데이터 소스에 연결할 수 있습니다.

클라우드 제공 업체에 구애받지 않는

Cerebro는 특정 클라우드 제공 업체에 약간의 의존성을 가지고 있지만 여러 클라우드 서비스를 지원하도록 쉽게 확장 할 수있는 클라우드에 구애받지 않는 솔루션입니다.

지원되는 모델 교육 프레임 워크에 대한 제한 없음

Cerebro는 대부분의 인기있는 ML 프레임 워크를 즉시 지원합니다. 데이터 과학자가 사용하려는 모든 프레임 워크는 최소한의 변경없이 지원할 수 있습니다.

코드, 데이터 및 모델 간의 연계

모든 단계에서 유용한 메타 데이터를 사용할 수있는 Cerebro는 코드 작성 → 사용 된 데이터 및 생성 된 모델 . 사용자는 모델이 제공되는 방식에 대한 정보를 얻고 모델 성능 / 효과 측정을 사용할 수 있습니다.

테스트 및 품질 관리

Cerebro를 사용하면 지속적 통합 프로세스의 일부로 로직을 쉽게 테스트 할 수 있습니다. 데이터의 품질은 모든 단계에서 보장됩니다.

One-Stop Shop

Cerebro가 모든 것을 처리 할 수 ​​있습니다. 사용자는 다음을 수행 할 수 있습니다.

  • 자체 Gitlab 저장소로 기계 학습 프로젝트를 생성
  • 로컬 개발 수행
  • 오프라인 및 온라인으로 모델 제공
  • Kubernetes 또는 Kubernetes의 Apache Spark로 프로젝트 오케스트레이션
  • 엔터프라이즈 급 오픈 소스 소프트웨어로 프로젝트 파이프 라인 관리

A Tale of Two Users

사용자가 추상화에 신경 쓰지 않으면 사용할 필요가 없습니다. 그러나 대다수의 사용자는 추상화를 사용하여 프로젝트를 완료하는 것을 즐깁니다.

머신 러닝 플랫폼 팀이 Cerebro를 계속 구축함에 따라 우리가 지켜야 할 원칙은 최종 목표를 상기시키는 중요한 역할을합니다.

우리의 원칙

  • 모듈화 : Cerebro는 데이터 과학자가 모델을 전달하는 단순한 엔드 포인트 그 이상입니다. 로 — 우리는 SDK를 개발하고 여러 쇼케이스 프로젝트를 보유하고 있으므로 데이터 과학자가 프로젝트에 대한 최상의 사용 사례를 볼 수 있습니다. SDK 내에서 모범 사례를 시행함으로써 사용자는 MLP 팀의 최소한의 도움으로 독립적으로 플랫폼을 사용할 수 있으며 확신을 가질 수 있습니다. 모델 수명주기의 각 단계에서 사용하는 도구가 올바른 도구인지 확인합니다.
  • 공개 커뮤니케이션 : 아무도 사용하지 않으면 아무 의미가 없습니다.이를 위해 우리 팀은 매주 두 번의 근무 시간을 통해 메시지를 통해 해결할 수없는 더 자세한 질문을 해결하기 위해 누구든지 방문 할 수 있습니다. 또한 팀은 데이터 과학 팀과 격주로 회의를 열어 그들의 요구 사항을 이해하고 과정을 벗어나는 것을 방지합니다. 매월 새로운 기능을 제공하기 때문에 이러한 지속적인 커뮤니케이션이 중요합니다.
  • 높은 채택률 : 에서 SDK를 NordyPy 와 같이 널리 사용되는 Nordstrom 도구와 통합하여 편안한 사용자 경험을 제공하기 위해 노력하고 있습니다. 플랫폼이 발전함에 따라 진입 장벽은 점점 낮아질 것입니다. 이를 통해 플랫폼 소비자는 데이터 과학 및 엔지니어링뿐 아니라 노드스트롬을 방문 할 수 있습니다.

다음은 무엇일까요?

미래 기사, Cerebro의 미래, 향후 기능 및 플랫폼의 오픈 소스 잠재력에 대해 논의 할 것입니다.

이 기사를 작성하는 데 도움을 준 또 다른 ML 플랫폼 엔지니어 인 Nate Lee에게 감사드립니다. —뿐만 아니라 Rizky Ramdhani, Xingtai Li 및 Owais Malik, 귀중한 피드백을 제공 한 ML 플랫폼 팀원입니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다