주요 컨텐츠로 이동

TensorFlow™ 및 Databricks를 사용한 확장 가능한 엔드투엔드 딥러닝: 온디맨드 웨비나 및 FAQ를 지금 이용하세요!

Databricks and TensorFlow

Published: July 13, 2018

솔루션1분 이내 소요

7월 9일, 저희 팀은 Databricks의 데이터 과학 솔루션 컨설턴트인 Brooke Wenig과 Databricks의 소프트웨어 엔지니어인 Sid Murching과 함께 라이브 웨비나인TensorFlow™와 Databricks를 사용한 확장 가능한 엔드투엔드 딥러닝을 개최했습니다.

이 웨비나에서는 Databricks Unified Analytics Platform 에서 TensorFlow™ 및 Horovod(Uber에서 분산 모델 훈련을 간소화하기 위해 만든 오픈 소스 라이브러리)를 사용하여 대규모로 더 효과적인 추천 시스템을 구축하는 방법을 안내해 드렸습니다.

Databricks 및 TensorFlow

특히, 분산 딥 러닝을 간소화하기 위해 새로 도입된 몇 가지 기능에 대해 다루었습니다.

  • 새로운 Databricks Runtime for ML에는 Keras, Tensorflow, Horovod, XGBoost와 같은 라이브러리가 사전 설치되어 있어 data scientists가 분산 Machine Learning을 더 빠르게 start할 수 있습니다.
  • Apache Spark™의 데이터를 대상으로 딥러닝 모델의 분산 다중 GPU 훈련을 위한 새로 출시된 Databricks HorovodEstimator API
  • 딥러닝 파이프라인으로 대규모 예측을 수행하는 방법

 

웨비나를 놓치셨다면 지금 시청 하실 수 있습니다. 또한, 다음 노트북을 시연했습니다.

Databricks 통합 분석 플랫폼 에 무료로 액세스하고 Databricks 노트북을 사용해 보려면 여기에서 무료 체험에 액세스하세요.

 

마지막으로 Q&A 시간을 가졌으며, 아래에 모든 질문과 답변이 나와 있습니다. 또한 이 간단한 설문조사를 작성하여 웨비나에 대한 피드백을 제공해 주시면 여러분의 경험을 계속 개선하는 데 도움이 됩니다!

 

Q: TensorFlow에서 모델의 하이퍼파라미터 튜닝을 분산 방식으로 수행할 수 있나요?

다음을 포함하여 여러 가지 방법으로 이 작업을 수행할 수 있습니다.

  • 클러스터에서 여러 단일 노드 모델을 병렬로 훈련하거나(머신당 모델 1개),
  • 여러 분산 학습 작업을 시작하고 해당 분산 학습 작업에서 그리드 검색을 수행합니다.

HorovodEstimator 가 지원하는 기능과 관련하여, 여러 분산 학습 작업을 통해 하이퍼파라미터 튜닝을 시작할 수 있도록 MLlib의 네이티브 튜닝 API와 연동하는 기능을 추가하는 것을 검토하고 있습니다.

또는 Databricks의 OSS 라이브러리인 Deep Learning Pipeline을 사용하면 이미지 데이터에 대한 단일 노드 Keras 모델의 하이퍼파라미터 튜닝을 병렬화할 수 있습니다.

 

Q: ALS는 무엇의 약자인가요?

ALS는 교대 최소제곱(Alternating Least Squares)의 약자입니다. 협업 필터링에 사용되는 기법입니다. 여기에서 Apache Spark에서의 구현에 대해 자세히 알아볼 수 있습니다.

 

Q: 데모에서 서버는 몇 대, 코어는 몇 개를 사용했나요?

이 데모의 구성은 다음과 같습니다.

  • Databricks Runtime 버전: 4.1 ML 베타
  • Python 버전: 3
  • i3.x large (Driver 1개 + Worker 2개)

 

Q: 데이터가 각 로컬 머신에 복제되었습니까? 각 워커 노드는 학습하는 동안 모든 데이터를 사용하나요?

학습 데이터의 고유한 하위 집합이 각 머신의 로컬 디스크에 복사되므로 각 작업자 노드는 데이터의 고유한 하위 집합으로 학습합니다. 단일 학습 단계에서 각 워커는 학습 데이터의 배치를 처리하여 그래디언트를 계산하며, 이 그래디언트는 Horovod의 ring-allreduce 기능을 사용하여 평균을 낸 다음 모델에 적용됩니다.

 

Q: dist-keras와 Horovod를 어떻게 비교하시나요?

Dist-keras는 Spark Dataframe에서 Keras 모델 을 분산 방식으로 훈련하기 위한 또 다른 오픈 소스 프레임워크이며, Keras 모델 훈련을 위한 또 하나의 훌륭한 솔루션입니다. 저희는 둘 다와 함께 작업했습니다. Horovod의 장점 중 하나는 Uber의 벤치마크가 함께 제공되며, Uber에서 프로덕션용으로 사용된다는 점입니다. Horovod는 대기업에서 사용되고 있으며 앞으로도 잘 지원될 것이기 때문에, 저희는 Horovod를 기반으로 HorovodEstimator 를 구축하기로 결정했습니다.

 

Q: 단일 머신 훈련과 분산 훈련은 시간이 각각 얼마나 걸리나요?

좋은 질문입니다. 일반적으로 단일 머신 훈련과 분산 훈련을 비교할 때 성능에 영향을 미치는 요인은 많습니다. 분산 훈련은 그래디언트 업데이트를 통신하는 데 따른 통신 오버헤드를 발생시키지만, 여러 머신에서 병렬로 학습 데이터 배치를 처리하여 속도를 높일 수도 있습니다. HorovodEstimator 를 사용하면 입력 Spark DataFrame을 클러스터 노드의 로컬 디스크에 TFRecord 형식으로 작성하는 고정된 startup 비용도 있습니다. 먼저 단일 머신 학습을 시도하고 단일 머신 학습이 충분히 확장되지 않는 경우에만 분산 학습을 살펴보는 것을 권장합니다.

 

Q: 안녕하세요, 강연 감사합니다. 훌륭한 노트북 시나리오였습니다. 하지만 약간씩 다른 데이터세트를 사용하여 다양한 Experiment을 진행하는 여러 데이터 사이언티스트로 구성된 팀의 경우, 이를 추적하는 기능이 있나요? 그 밖에 어떤 협업 기능을 지원하나요?

아주 좋은 질문입니다! 저희는 최근 바로 그 목적을 위해 MLflow 라는 새로운 오픈 소스 프로젝트를 발표했습니다. MLflow를 사용하면 전문가는 프레임워크 전반에서 모델을 패키지화하고 재사용하며, 로컬 또는 클라우드 내에서 실험을 추적 및 공유하고, 거의 모든 곳에 모델을 배포할 수 있습니다. 또한 Databricks는 GitHub를 통해 변경 사항 추적 및 버전 기록도 지원하는 Python 또는 R 개발용 공유 노트북을 제공합니다.

이 이니셔티브에 대한 최신 업데이트는 MLflow 0.2 릴리스 에 대한 Matei Zaharia의 블로그 게시물에서 확인하고, 8월 30일에 Matei Zaharia와 함께하는 웨비나 에 참여하여 더 자세히 알아보세요.

 

Q: 데이터가 많지 않고 LSTM 모델과 TensorFlow를 사용하고 있습니다. 그래도 Databricks와 Apache Spark를 추천하시겠습니까?

Apache Spark는 모든 유형의 분산 훈련 또는 ETL에 매우 유용하며 데이터 처리와 머신 러닝을 통합하지만, 설치, 구성 및 유지 관리에는 여전히 노력이 필요합니다. Databricks는 Apache Spark에서 단일 노드부터 다중 노드 사용 사례까지 작업을 실행할 수 있는 유연한 방법을 제공합니다. 버튼 클릭 한 번으로 클러스터에 노드를 쉽게 추가할 수 있습니다. Databricks는 모든 분석을 한 곳으로 통합하므로 모델 훈련을 위한 정제된 데이터 세트도 준비할 수 있습니다. Databricks Runtime에는 TensorFlow, Keras, Horovod뿐만 아니라 XGBoost, scikit-learn 등이 사전 설치 및 구성되어 제공되므로, ML 모델을 구축하고 훈련하는 데 있어 최고의 선택권과 유연성을 누릴 수 있습니다. 마지막으로 Databricks 노트북은 데이터 준비부터 모델 훈련 및 서빙에 이르기까지 전체 라이프사이클을 한곳에서 관리할 수 있는 협업 환경을 제공합니다.

 

Q: HorovodEstimator로 이진 모델을 훈련할 수 있나요?

네. HorovodEstimator API 는 예를 들어 이진 분류를 포함하여 대규모 데이터에 대해 분산 환경에서 모든 TensorFlow 코드를 실행하는 간단한 방법을 제공합니다.

 

Q: 클러스터가 멀티테넌시를 지원하나요?

네, 클러스터에 여러 노트북을 연결하거나 클러스터에 여러 사용자가 있을 수 있습니다. 유연성과 보안을 극대화하기 위해 Databricks의 다양한 수준에서 클러스터 권한 을 관리할 수도 있습니다.

 

Q: 웨비나가 끝난 후 발표자의 스크립트와 슬라이드를 공유받을 수 있을까요?

네, 이제 노트북에 액세스할 수 있습니다. 이 노트북을 실행하려면 Databricks 작업 공간에 훈련 세트를 추가하기만 하면 됩니다. 시작하려면 14일 무료 평가판 에 가입하세요!

 

Q: Apache Spark와 Databricks의 차이점은 무엇인가요?

Databricks Unified Analytics Platform 은 AWS와 Azure 모두에서 호스팅되는 Apache Spark 버전과 그 외에도 많은 기능을 제공합니다. 한 곳에서 분석을 관리하고 자동화하기 위한 내장 노트북 및 API와 더불어, Parquet 기반 Apache Spark보다 최대 100배 더 빠른 Databricks Delta Lake, Databricks Runtime for ML, HorovodEstimator 등 Apache Spark에 대한 추가적인 최적화 기능을 제공합니다. 또한 클러스터의 자동 구성 및 자동 확장을 통해 DevOps를 크게 단순화하고, HIPAA 및 SOC 2 유형 2 인증 플랫폼으로 엔터프라이즈급 보안 기능 및 규정 준수를 제공합니다.

 

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)

게시물을 놓치지 마세요

관심 있는 카테고리를 구독하고 최신 게시물을 받은편지함으로 받아보세요

다음은 무엇인가요?

Social Card

데이터 사이언스 및 ML

July 24, 2024/1분 이내 소요

GenAI 모델 파인튜닝을 위한 Mosaic AI Model Training 소개

Unlock-Faster-Machine-Learning-with-Graviton

데이터 사이언스 및 ML

August 16, 2024/1분 이내 소요

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