주요 컨텐츠로 이동

Graviton으로 더 빠른 머신 러닝 실현

데이터브릭스 Machine Learning Runtime 이 이제 Graviton을 지원합니다
Ying Chen
Lu Wang (Mosaic AI)
Lin Yuan

in

이 포스트 공유하기

AWS에서 제공하는 ARM 기반 CPU 인스턴스인 Graviton이 이제 Databricks ML Runtime 클러스터에서 지원된다는 소식을 기쁘게 알려드립니다. Graviton 인스턴스는 머신러닝 워크로드에 다음과 같은 여러 가지 이점을 제공합니다:

  • 다양한 머신러닝 라이브러리의 속도 향상: XGBoost, LightGBM, Spark MLlib, Databricks Feature Engineering과 같은 ML 라이브러리에서 최대 30-50%의 속도 향상을 경험할 수 있습니다.
  • 클라우드 벤더 비용 절감: Graviton 인스턴스는 AWS에서 x86 계열 인스턴스보다 낮은 요금을 제공하여 가격 대비 성능이 더욱 매력적입니다.

Graviton이 머신러닝에 제공하는 이점은 무엇인가요?

Graviton3 프로세서를 x86 계열인 3세대 Intel® Xeon® Scalable 프로세서와 비교해보면, Graviton3 프로세서가 모델 품질을 저하시키지 않으면서 다양한 머신러닝 애플리케이션을 가속화한다는 것을 알 수 있습니다.

  • XGBoost 및 LightGBM: Covertype 데이터셋에 대한 분류기 훈련 시 최대 11% 속도 향상. (1)
  • Databricks AutoML: Covertype 데이터셋에 대한 최적의 하이퍼파라미터를 찾기 위해 Databricks AutoML 실험을 실행했을 때, Graviton3 인스턴스에서 Intel Xeon 인스턴스보다 63% 더 많은 하이퍼파라미터 튜닝 시도를 실행할 수 있었습니다. 이는 각 시도 실행(XGBoost나 LightGBM과 같은 라이브러리 사용)이 더 빨리 완료되기 때문입니다. (2) 하이퍼파라미터 튜닝 실행 횟수가 증가하면 AutoML이 하이퍼파라미터 검색 공간을 더 철저히 탐색할 수 있어 잠재적으로 더 나은 결과를 얻을 수 있습니다. Covertype 데이터셋을 사용한 AutoML 실험에서 2시간의 탐색 후, Graviton3 인스턴스에서의 실험이 더 나은 F1 점수를 가진 하이퍼파라미터 조합을 찾을 수 있었습니다.
  • Graviton Figure 1

     

  • Spark MLlib: Spark MLlib의 다양한 알고리즘(decision trees, random forests, gradient-boosted trees 등)이 Graviton3 프로세서에서 최대 1.7배 빠르게 실행됩니다. (3) Graviton Figure 2
  • Spark를 이용한 특성 엔지니어링: Graviton3 인스턴스에서의 Spark의 빠른 속도로 인해 Point-in-Time 조인을 사용한 시계열 특성 테이블 생성이 3세대 Intel Xeon Scalable 프로세서보다 최대 1.5배 빠릅니다.

Photon + Graviton은 어떤가요?

이전 블로그 포스트에서 언급했듯이, Photon은 Spark SQL과 Spark DataFrames API를 가속화하며, 이는 특성 엔지니어링에 특히 유용합니다. Spark에 대해 Photon과 Graviton의 가속화를 결합할 수 있을까요? 답은 '예'입니다. Graviton은 Photon 위에 추가적인 속도 향상을 제공합니다.

아래 그림은 1억 행의 특성 테이블과 레이블 테이블을 조인하는 실행 시간을 보여줍니다. (4) Photon의 활성화 여부와 관계없이 Graviton3 프로세서로 전환하면 최대 1.5배의 속도 향상을 제공합니다. Photon을 활성화하면 Databricks Machine Learning Runtime에서 두 가속화를 모두 활성화했을 때 총 3.1배의 개선이 있습니다.

Graviton Feature Table

Graviton 인스턴스로 Machine Learning Runtime 선택하기

Databricks Runtime 15.4 LTS ML부터 Graviton 인스턴스와 Databricks Machine Learning Runtime으로 클러스터를 생성할 수 있습니다. 런타임 버전을 15.4 LTS ML 이상으로 선택하세요. Graviton3 인스턴스를 검색하려면 검색창에 "7g"를 입력하여 r7gd, c7gd, m7gd 인스턴스와 같이 이름에 "7g"가 포함된 인스턴스를 찾으세요. Graviton2 인스턴스(이름에 "6g" 포함)도 Databricks에서 지원되지만, Graviton3가 더 새로운 세대의 프로세서이며 성능이 더 우수합니다.

Graviton figure 4

Graviton과 Databricks Machine Learning Runtime에 대해 더 자세히 알아보려면 다음 문서 페이지를 참조하세요:

참고:

  1. 비교된 인스턴스 유형은 Graviton3 프로세서가 탑재된 c7gd.8xlarge와 3세대 Intel Xeon Scalable 프로세서가 탑재된 c6id.8xlarge입니다.
  2. 각 AutoML 실험은 2개의 작업자 노드가 있는 클러스터에서 실행되며, 타임아웃은 2시간으로 설정되었습니다.
  3. 비교에 사용된 각 클러스터는 8개의 작업자 노드를 가집니다. 비교된 인스턴스 유형은 m7gd.2xlarge(Graviton3)와 m6id.2xlarge(3세대 Intel Xeon Scalable 프로세서)입니다. 데이터셋은 100만 개의 예시와 4천 개의 특성을 가집니다.
  4. 특성 테이블은 100개의 열과 10만 개의 고유 ID를 가지며, ID당 1000개의 타임스탬프가 있습니다. 레이블 테이블은 10만 개의 고유 ID를 가지며, ID당 100개의 타임스탬프가 있습니다. 이 설정은 평균 실행 시간을 계산하기 위해 5번 반복되었습니다.

 

(번역: Youngkyong Ko)  Original Post

Databricks 무료로 시작하기

관련 포스트

Riding the AI Wave

March 15, 2022 작성자: Danny Healy in
“...incorporating machine learning into a company’s application development is difficult…” It’s been almost a decade since Marc Andreesen hailed that software was eating...
모든 생성형 AI 포스트 보기