제퍼넷 로고

ML 기반 서비스를 구축하기 위해 모델 서버에서 찾아야 할 사항은 다음과 같습니다.

시간

ML 기반 서비스를 구축하기 위해 모델 서버에서 찾아야 할 사항은 다음과 같습니다.

MLOps 프로세스와 모범 사례가 잘 확립되는 동안 더 많은 애플리케이션에 기계 학습이 주입되고 있습니다. 이러한 소프트웨어 및 시스템에 중요한 것은 기계 학습의 성공적인 엔터프라이즈 규모 생산을 추진하는 핵심 기능을 갖춘 모델을 실행하는 서버입니다.


By 벤 로리카 (정리를 돕는 레이 서밋) and 이온 스토 이카 (버클리, 애니스케일)

기계 학습은 많은 데이터 유형 및 데이터 소스와 관련된 애플리케이션에 내장되고 있습니다. 이는 다양한 배경을 가진 소프트웨어 개발자가 ML과 관련된 프로젝트에서 작업해야 함을 의미합니다. 우리의 이전 게시물, 현재 및 미래의 워크로드를 충족하기 위해 기계 학습 플랫폼에 필요한 주요 기능을 나열했습니다. 또한 기계 학습 수명 주기의 생산화에 중점을 둔 일련의 사례인 MLOps에 대해서도 설명했습니다.

이번 포스트에서는 실시간 또는 오프라인으로 작동하는 머신러닝 서비스의 핵심 소프트웨어인 모델 서버에 대해 집중적으로 다룹니다. 기계 학습 모델을 제공하는 데 사용되는 두 가지 일반적인 접근 방식이 있습니다. 첫 번째 접근 방식은 웹 서버(예: Flask)에 모델 평가를 예측 서비스 전용 API 서비스 엔드포인트로 포함합니다.

두 번째 접근 방식은 모델 평가를 별도의 서비스로 오프로드합니다. 이것은 신생 기업을 위한 활성 영역이며 이 범주에 속하는 옵션이 점점 더 많아지고 있습니다. 오퍼링에는 다음 서비스가 포함됩니다. 클라우드 공급자 (세이지 메이커하늘빛Google 클라우드), 모델 제공을 위한 오픈 소스 프로젝트 (레이 서브, Seldon, TorchServe, TensorFlow Serving 등), 독점 소프트웨어 (SAS, Datatron, ModelOp 등) 및 일반적으로 일부 일반 프레임워크로 작성된 맞춤형 솔루션입니다.

기계 학습은 일회성 프로젝트에 사용할 수 있지만 대부분의 개발자는 제품과 서비스에 기계 학습을 포함시키려고 합니다. 모델 서버는 기계 학습 생산을 위한 소프트웨어 인프라의 중요한 구성 요소이므로 기업은 옵션을 신중하게 평가해야 합니다. 이 게시물은 회사가 모델 서버에서 찾아야 하는 주요 기능에 중점을 둡니다.

널리 사용되는 툴킷 지원

모델 서버는 아마도 모델 교육 시스템과 별개일 것입니다. 널리 사용되는 여러 도구를 사용하여 생성된 학습된 모델 아티팩트를 사용할 수 있는 모델 서버를 선택합니다. 개발자와 기계 학습 엔지니어는 딥 러닝(PyTorch, TensorFlow), 기계 학습 및 통계(scikit-learn, XGBoost, SAS, 통계 모델). 모델 작성자는 또한 다양한 프로그래밍 언어를 계속 사용합니다. Python이 기계 학습의 지배적인 언어로 부상했지만 R, Java, Scala, Julia, SAS와 같은 다른 언어도 여전히 많은 사용자를 보유하고 있습니다. 최근에는 많은 회사에서 Databricks, Cloudera, Dataiku, Domino Data Lab 등과 같은 데이터 과학 워크벤치를 구현했습니다.

모델 배포 등을 위한 GUI

개발자는 명령줄 인터페이스를 사용할 수 있지만 기업 사용자는 모델 배포 프로세스를 안내하고 기계 학습 수명 주기의 여러 단계를 강조 표시하는 그래픽 사용자 인터페이스를 원할 것입니다. 배포 프로세스가 성숙함에 따라 스크립팅 및 자동화로 더 많이 마이그레이션할 수 있습니다. 사용자 인터페이스가 있는 모델 서버에는 다음이 포함됩니다. Seldon 배포SAS 모델 관리자데이터트론, 기타 엔터프라이즈 사용자를 대상으로 합니다.

운영 및 배포가 쉬우면서도 고성능 및 확장성 제공

기계 학습이 중요한 애플리케이션에 내장됨에 따라 기업은 대규모 예측 서비스를 지원할 수 있는 대기 시간이 짧은 모델 서버가 필요합니다. Facebook 및 Google과 같은 회사는 실시간 응답을 제공하는 기계 학습 서비스를 제공합니다. 매일 수십억 번. 이는 극단적인 경우일 수 있지만 많은 회사는 다음과 같은 애플리케이션도 배포합니다. 추천 및 개인화 시스템 매일 많은 사용자와 상호 작용합니다. Ray Serve와 같은 오픈 소스 소프트웨어를 사용할 수 있게 되면서 회사는 이제 많은 시스템으로 확장할 수 있는 대기 시간이 짧은 모델 서버에 액세스할 수 있습니다.

대부분의 모델 서버는 마이크로서비스 아키텍처를 사용하며 REST 또는 gRPC API를 통해 액세스할 수 있습니다. 이를 통해 기계 학습("추천자")을 다른 서비스("장바구니")와 쉽게 통합할 수 있습니다. 설정에 따라 클라우드, 온프레미스 또는 둘 다에 모델을 배포할 수 있는 모델 서버가 필요할 수 있습니다. 모델 서버는 자동 크기 조정, 리소스 관리 및 하드웨어 프로비저닝과 같은 인프라 기능에 참여해야 합니다.

일부 모델 서버는 복잡성을 줄이고 성능을 높이며 다른 서비스와의 통합을 위한 유연한 옵션을 제공하는 최신 혁신을 추가했습니다. 새로운 Tensor 데이터 유형의 도입으로 RedisAI는 다음을 지원합니다. 데이터 지역성 – 사용자가 선호하는 클라이언트에서 Tensor를 가져오고 설정하고 "데이터가 있는 곳에서 AI 모델을 실행"할 수 있는 기능입니다. 레이 서브 모델 평가 로직을 비즈니스 로직에 더 가깝게 만듭니다. 개발자에게 API 끝점에서 모델 평가까지 그리고 다시 API 끝점으로 엔드 투 엔드 제어를 제공합니다. 또한 Ray Serve는 작동이 간편하고 간단한 웹 서버만큼 쉽게 배포할 수 있습니다.

테스트, 배포 및 롤아웃을 위한 도구 포함

모델이 훈련되면 배포하기 전에 검토하고 테스트해야 합니다. Seldon Deploy, Datatron 및 기타 모델 서버에는 단일 예측 또는 로드 테스트를 사용하여 모델을 테스트할 수 있는 몇 가지 흥미로운 기능이 있습니다. 오류 식별 및 테스트를 용이하게 하기 위해 이러한 모델 서버를 통해 테스트 데이터를 업로드하고 테스트 예측을 시각화할 수도 있습니다.

모델을 검토하고 테스트한 후에는 모델 서버에서 모델을 안전하게 승격 및 강등할 수 있는 기능을 제공해야 합니다. 기타 인기 있는 롤아웃 패턴은 다음과 같습니다.

  • 카나리아: 요청의 작은 부분이 새 모델로 전송되고 대량의 요청이 기존 모델로 라우팅됩니다.
  • 그림자: 프로덕션 트래픽은 프로덕션에서 실행하기 전에 모델을 테스트하기 위해 비프로덕션 서비스로 복사됩니다.

이상적으로는 롤아웃 도구를 완전히 자동화할 수 있으므로 배포 도구를 CI/CD 또는 MLOps 프로세스에 연결할 수 있습니다.

복잡한 배포 패턴 지원

기계 학습의 사용이 증가함에 따라 모델 서버는 프로덕션에서 많은 모델을 지원할 수 있어야 합니다. 모델 서버는 한 번에 둘 이상의 모델을 배포하는 복잡한 배포 패턴도 지원해야 합니다. 다음을 포함하여 다양한 패턴을 지원해야 합니다.

  • A / B 테스트: 예측의 일부는 하나의 모델을 사용하고 나머지는 다른 모델로 이동합니다.
  • 세트: 여러 모델을 결합하여 보다 강력한 예측 모델을 형성합니다.
  • 작은 폭포: 기준 모델이 신뢰도가 낮은 예측을 생성하면 트래픽이 대체 모델로 라우팅됩니다. 또 다른 사용 사례는 개선입니다. 사진에 자동차가 있는지 감지하고, 자동차가 있는 경우 자동차 번호판을 읽는 모델로 사진을 보냅니다.
  • 멀티 암 산적: 강화 학습의 한 형태인 밴딧은 여러 경쟁 모델에 걸쳐 트래픽을 할당합니다.

즉시 사용 가능한 지표 및 모니터링

기계 학습 모델은 시간이 지남에 따라 성능이 저하될 수 있으므로 모델의 정확도가 떨어지거나 편향 및 기타 예기치 않은 동작을 나타내기 시작하는 시점을 알려주는 시스템을 갖추는 것이 중요합니다. 모델 서버는 시각화 및 실시간 모니터링 도구에서 사용할 수 있는 성능, 사용량 및 기타 사용자 지정 메트릭을 내보내야 합니다. 일부 모델 서버는 이상 탐지 및 경고를 비롯한 고급 기능을 제공하기 시작했습니다. 심지어 스타트업(슈퍼와이즈아리즈) "기계 학습을 모니터링하기 위한 기계 학습"을 사용하는 데 중점을 둡니다. 이들은 현재 모델 서버와 분리되어 통합되어야 하는 특수 도구이지만 일부 모델 서버는 고급 모니터링 및 관찰 가능성 기능을 제품에 구축할 가능성이 높습니다.

모델 관리 도구와 통합

프로덕션에 더 많은 모델을 배포하면 모델 서버가 모델 관리 도구와 통합되어야 합니다. 이러한 도구는 액세스 제어, 모델 카탈로그, 모델 레지스트리, 모델 거버넌스 대시보드와 같은 많은 레이블로 제공되지만 본질적으로 과거 및 현재 모델에 대한 360도 보기를 제공합니다.

모델은 주기적으로 검사해야 하므로 모델 서버는 모델 감사 및 재생산을 위한 서비스와 인터페이스해야 합니다. 모델 버전 관리 이제 표준이며 우리가 조사한 대부분의 모델 서버와 함께 제공됩니다. Datatron에는 실적이 저조한 모델을 감사하기 위한 도구를 제공하는 모델 거버넌스 대시보드가 ​​있습니다. 많은 모델 서버가 데이터 계보 요청이 전송된 시기와 모델 입력 및 출력이 무엇인지 기록하는 서비스. 디버깅 및 감사 모델에는 주요 동인에 대한 정교한 이해도 필요합니다. Seldon Deploy는 다음과 통합됩니다. 오픈 소스 도구 모델 검사 및 설명 가능성을 위해.

배치 및 온라인 채점 통합

모델을 업데이트했거나 많은 수의 새 레코드를 받았다고 가정합니다. 이 두 예에서 모델을 대규모 데이터 세트에 적용해야 할 수 있습니다. 대기 시간이 짧은 온라인 채점(예: Ray Serve는 배치 및 온라인 채점 지원)을 제공할 뿐만 아니라 미니 배치에서 대규모 데이터 세트를 효율적으로 채점할 수 있는 모델 서버가 필요합니다.

요약

머신 러닝이 더 많은 소프트웨어 애플리케이션에 내장됨에 따라 기업은 모델 서버를 신중하게 선택해야 합니다. 하는 동안 레이 서브 은 비교적 새로운 오픈 소스 모델 서버로서 이 게시물에 나열된 많은 기능을 이미 가지고 있습니다. Ray Serve는 기계 학습 모델을 배포, 운영 및 모니터링하기 위한 확장 가능하고 단순하며 유연한 도구입니다. 우리가 우리에서 언급했듯이 이전 게시물, 우리는 Ray와 Ray Serve가 앞으로 많은 ML 플랫폼의 기반이 될 것이라고 믿습니다.

실물. 허가를 받아 다시 게시했습니다.

바이오 : 벤 로리카 #SparkAISummit 및 #raysummit을 조직하고 Strataconf 및 OReillyAI의 프로그램 의장을 역임했습니다.

관련 :

출처: https://www.kdnuggets.com/2020/09/model-server-build-ml-powered-services.html

spot_img

최신 인텔리전스

spot_img