sklearn 모델을 최대 100배 더 빠르게 만들기

Mar 20 2023
단 한 줄의 코드로 교육 시간을 크게 줄이는 방법
소개 Scikit-learn 패키지용 Intel® Extension(또는 간단히 sklearnex)을 사용하면 sklearn 모델 및 변환기를 가속화하여 sklearn의 API를 완벽하게 준수할 수 있습니다. Sklearnex는 sklearn 코드를 10~100배 빠르게 만드는 방법을 제공하는 무료 소프트웨어 AI 가속기입니다.
Unsplash에 있는 Markus Winkler의 사진

소개

Scikit-learn 패키지용 인텔® 확장(또는 간단히 sklearnex )을 사용하면 sklearn 모델 및 변환기를 가속화하여 sklearn의 API를 완벽하게 준수할 수 있습니다. Sklearnex는 sklearn 코드를 10~100배 빠르게 만드는 방법을 제공하는 무료 소프트웨어 AI 가속기입니다.

소프트웨어 가속은 벡터 명령, IA 하드웨어별 메모리 최적화, 스레딩 및 출시 시점에 출시될 모든 Intel 플랫폼에 대한 최적화를 사용하여 달성됩니다.

이 이야기에서는 ATOM 라이브러리를 사용하여 sklearnex의 속도를 활용하는 방법을 설명합니다 . ATOM은 데이터 과학자가 기계 학습 파이프라인을 탐색할 수 있도록 설계된 오픈 소스 Python 패키지입니다. 도서관에 대한 부드러운 소개를 원한다면 이 다른 이야기를 읽어보세요 .

하드웨어 요구 사항

sklearnex가 고려해야 할 추가 하드웨어 요구 사항:

  • 프로세서에는 x86 아키텍처가 있어야 합니다.
  • 프로세서는 SSE2, AVX, AVX2, AVX512 명령어 세트 중 하나 이상을 지원해야 합니다.
  • ARM* 아키텍처는 지원 되지 않습니다 .
  • 인텔® 프로세서는 다른 CPU보다 더 나은 성능을 제공합니다.

예

시작하는 방법을 이해하기 위해 예제를 살펴보겠습니다. 일반적인 방법으로 atom을 초기화 하고 engine매개변수를 지정합니다. 엔진 매개변수는 모델에 사용할 라이브러리를 지정합니다. 옵션은 다음과 같습니다.

  • sklearn(기본값)
  • sklearnex (이 이야기에 대한 우리의 선택)
  • cuml(GPU 가속용)
  • from atom import ATOMClassifier
    from sklearn.datasets import make_classification
    
    # Create a dummy dataset
    X, y = make_classification(n_samples=100000, n_features=40)
    
    atom = ATOMClassifier(X, y, engine="sklearnex", n_jobs=1, verbose=2)
    
           
                    

    atom.run(models="RF")
    
    print(f"\nThe estimator used is {atom.rf.estimator}")
    print(f"The module of the estimator is {atom.rf.estimator.__module__}")
    
           
                    

atom.run(models="LR_sklearn", engine="sklearn")

print(f"\nThe estimator used is {atom.rf.estimator}")
print(f"The module of the estimator is {atom.rf.estimator.__module__}")

      
                

결과를 시각화해 보겠습니다.

atom.plot_results(metric="time")

atom.plot_feature_importance(show=10)
atom.rf.plot_shap_decision(show=10, title="sklearnex")

      
                
atom.rf_sklearn.plot_shap_decision(show=10, title="sklearn")

ATOM 라이브러리를 사용하여 sklearn 모델의 교육 속도를 쉽게 높이는 방법을 배웠습니다. 가속은 CPU에서 이루어집니다. GPU에서 이 작업을 수행하는 방법은 향후 이야기의 범위이므로 계속 지켜봐 주십시오.

ATOM에 대한 자세한 내용은 패키지 설명서를 참조하십시오 . 버그나 기능 요청이 있는 경우 망설이지 말고 GitHub 에서 문제를 열거 나 이메일을 보내주세요.

관련 기사:

  • 모든 플롯과 이미지(특집 이미지 제외)는 작성자가 생성합니다.