본문 바로가기
Data

2023년에 기술 역량을 강화하기 위해 배워야 할 6가지 새로운 급성장하는 데이터 과학 라이브러리

by Hagrid 2023. 3. 10.
반응형
 

Motivation


2023년이 얼마 남지 않은 지금, 새로운 데이터 과학 및 머신 러닝 트렌드를 알아볼 때입니다. 기존의 것들은 여전히 필수적이지만, Pandas, NumPy, Matplotlib, Scikit-learn을 아는 것만으로는 더 이상 충분하지 않습니다.

작년 버전의 이 게시물은 CatBoost, LightGBM, Optuna 또는 UMAP과 같은 라이브러리를 포함한 고전적인 ML에 관한 것이었습니다.

2022년에는 2021년에 비해 "나의 사랑스러운 커넥션, 나는 MLOps 엔지니어라고 발표하게 되어 기쁩니다."라는 게시물이 더 많이 관찰되었습니다. 그에 따라 MLOps에 대한 콘텐츠가 훨씬 더 많았고, MLOps 툴의 인기도 크게 증가했습니다.

따라서 이번 기사에서는 가장 효율적인 방법으로 최고 성능의 모델을 생성하고 이를 프로덕션에 적용하는 데 중점을 둔 도구인 MLOps 에코시스템의 떠오르는 6가지 주요 트렌드에 대해 알아보겠습니다.
 

1. Bento ML 


"머신 러닝 모델은 주피터 노트북에서 작동하지 않습니다"라는 말을 듣는 데 지치셨을 것입니다. 그렇지 않으시다면 다시 한 번 말씀드리겠습니다:

머신 러닝 모델은 녹을 모으는 Jupyter 내부에 살지 않습니다.

머신 러닝 모델은 프로덕션 환경에서 새로운 데이터를 예측하는 등 실제로 해야 할 일을 수행합니다.

작년에 모델을 배포하기 위해 찾은 최고의 라이브러리 중 하나는 BentoML입니다. BentoML은 모든 프레임워크의 모델을 유지 관리하고, 패키징하고, 모든 클라우드 제공업체에 API 서비스로 배포할 수 있는 올인원 프레임워크입니다.

이 라이브러리는 통합된 형식(버전 및 태그가 지정된)으로 모델을 저장/로드할 수 있도록 지원하므로 체계적인 모델 레지스트리를 구축할 수 있습니다.
여기에서 명령 한 번으로 최상의 모델에 대한 Docker 이미지를 빌드하여 로컬에서 제공할 수 있습니다:
$ bentoml containerize my_classifier:latest
$ docker run -it --rm -p 3000:3000 my_classifier:6otbsmxzq6lwbgxi serve --production

또는 CLI를 종료하지 않고도 몇 가지 명령으로 모든 클라우드 제공업체에 배포할 수 있습니다. 다음은 AWS Sagemaker의 예시입니다:

$ pip install bentoctl terraform
$ bentoctl operator install aws-sagemaker
$ export AWS_ACCESS_KEY_ID=REPLACE_WITH_YOUR_ACCESS_KEY
$ export AWS_SECRET_ACCESS_KEY=REPLACE_WITH_YOUR_SECRET_KEY
$ bentoctl init
$ bentoctl build -b model_name:latest -f deployment_config.yaml
$ terraform init
$ terraform apply -var-file=bentoctl.tfvars -auto-approve

다음은 단계별 튜토리얼로, AWS Lambda에 XGBoost 모델을 배포하는 방법을 보여드립니다:

https://towardsdatascience.com/comprehensive-guide-to-deploying-any-ml-model-as-apis-with-python-and-aws-lambda-b441d257f1ec
 

Comprehensive Guide to Deploying Any ML Model as APIs With Python And AWS Lambda

People say that the best thing about Python is the abundance of its open-source libraries. I beg to differ. Having many alternatives for doing a single task might give you a lot of flexibility, but…

towardsdatascience.com

Stats and links:

 

Unified Model Serving Framework

github_stars pypi_status downloads actions_status documentation_status join_slack What is BentoML?: BentoML makes it easy to create ML-powered prediction services that are ready to deploy and scale...

docs.bentoml.org

 

Unified Model Serving Framework

github_stars pypi_status downloads actions_status documentation_status join_slack What is BentoML?: BentoML makes it easy to create ML-powered prediction services that are ready to deploy and scale...

docs.bentoml.org

 

2. MLFlow


최적의 모델을 프로덕션에 배포하기 전에 실험을 통해 모델을 생성해야 합니다. 

일반적으로 이 과정에는 수십 또는 수백 번의 반복이 필요할 수 있습니다.

반복 횟수가 늘어날수록 이미 시도한 구성과 과거 실험 중 어떤 것이 유망해 보이는지 추적하기가 점점 더 어려워집니다.

이 과정을 돕기 위해서는 코드, 데이터, 모델, 하이퍼파라미터 및 메트릭을 동시에 추적할 수 있는 신뢰할 수 있는 프레임워크가 필요합니다.

이러한 프레임워크를 수동으로 구축하거나 원시인처럼 Excel을 사용하는 것은 세상에서 가장 나쁜 생각입니다. 이 작업을 위한 훌륭한 Python 라이브러리가 너무나 많기 때문입니다.

그 중 하나가 제가 개인적으로 가장 좋아하는 MLFlow입니다. scikit-learn 모델을 학습하는 스크립트에 다음 코드 줄을 추가하면 MLFlow는 모델 자체, 하이퍼파라미터, sklearn.metrics 함수를 사용하여 계산하는 모든 메트릭 등 모든 것을 캡처할 수 있습니다: 

mlflow.sklearn.autolog()

 

 

 

5. NannyML


모델 배포는 스토리의 일부일 뿐입니다. 성공적인 ML 기반 제품을 유지하려면 지속적으로 성능을 모니터링해야 합니다.

모니터링의 문제점은 모델이 실패할 때 빨간색으로 표시되는 심각한 오류를 발견하지 못한다는 것입니다. 시간이 지남에 따라 예측이 점점 더 나빠져 소리 없는 모델 실패로 이어지는 현상이 발생할 수 있습니다.

예를 들어 이미지에서 나이키 옷을 감지하는 모델을 배포했다고 가정해 보겠습니다. 패션은 빠르게 변화하기 때문에 Nike는 지속적으로 디자인을 개선합니다.

모델 학습에 새로운 디자인이 포함되지 않았기 때문에 이미지에서 나이키 옷을 점점 더 많이 놓치기 시작합니다. 오류는 발생하지 않지만 모델은 곧 쓸모없게 됩니다.

NannyML은 바로 이 문제를 해결하는 데 도움이 됩니다. 자체 개발한 새로운 신뢰 기반 성능 추정 알고리즘과 몇 가지 강력한 통계 테스트를 사용하여 생산 과정에서 성능 저하 또는 조용한 모델 오류를 감지할 수 있습니다.

또한 NannyML은 스마트 알림 기능도 갖추고 있어 프로덕션 환경에서 어떤 일이 일어나고 있는지 항상 파악할 수 있습니다.

다음은 시작하는 데 도움이 되는 실습 튜토리얼입니다:

Translated with www.DeepL.com/Translator (free version)

 
반응형

댓글