Databricks很高興地宣布,用於機器學習的Databricks Runtime 7.0(運行時7.0毫升),該運行時(運行時7.0 mL)提供了預先配置的GPU認識計劃,並為培訓和推理工作量增加了增強的深度學習能力。
預先配置的GPU感知計劃
Project Hydrogen是一項主要的Apache Spark™計劃,旨在將最先進的人工智能(AI)和大數據解決方案融合在一起。它的最後一個主要項目,即Accelerator-Aware Aware Sugchuling,由Databricks,Nvidia和其他社區成員的開發人員之間的合作在Apache Spark 3.0中提供。
在運行時7.0 mL中,Databricks在GPU群集上為您提供了GPU感知的調度。默認配置使用每個任務使用一個GPU,如果您使用所有GPU節點,這是分布式推理工作負載和分布式培訓的理想選擇。如果您想在節點子集上進行分布式培訓,Databricks建議將Spark.Task.Task.Resource.gpu.amount設置為群集Spark配置中每個工作人員節點的GPU數量,以幫助減少分布式培訓期間的交流開銷。
對於PYSPARK任務,Databricks自動將分配的GPU(S)重新映射到索引0、1,…。在每個任務使用一個GPU的默認配置下,您的代碼可以簡單地使用默認的GPU,而無需檢查將哪個GPU分配給任務。這是分布推理的理想選擇。請參閱我們的模型推斷示例(AWS|天藍色)。
對於HorovoDrunner的分布式培訓任務(AWS|天藍色),用戶在將培訓代碼從舊版本遷移到新版本時不需要進行任何修改。
簡化的數據轉換為深度學習框架
Databricks運行時7.0 mL包括Petastorm 0.9.2,以簡化從Spark DataFrame到TensorFlow和Pytorch的數據轉換。Databricks將新的SPARK數據集轉換器API貢獻給Petastorm,以將SPARK DATAFRAME轉換為TensorFlow數據集或Pytorch數據磁盤。有關更多詳細信息,請查看Databricks中的Patastorm的博客文章和我們的用戶指南(AWS|天藍色)。
Nvidia tensorrt用於高性能推斷
Databricks運行時7.0毫升現在還包括Nvidia Tensorrt。Tensorrt是一個SDK,專注於優化預訓練的網絡以有效地運行以推導GPU。例如,您可以通過使用簡化的精確(例如FP16而不是FP32)來優化預訓練模型的性能,以進行深度學習推理應用程序的生產部署。例如,對於預訓練的張量流模型,可以使用以下Python片段優化該模型
conversion_params = trt.default_trt_conversion_params params = conversion_params._replace(precision_mode ='fp16')converter = trt.trt.trtgraphconverterv2(input_saved_saved_saved_mmodel_model_model_model_model_model_model_model_model_model_model_dir_dir_dir_dir.sconverte_params = creatsion = creatsion consernion consernion consernions)
在深度學習模型通過張力進行優化之後,可以將其用於推理,就像不優化的模型一樣。請參閱我們的示例筆記本,以使用Tensorrt與TensorFlow(AWS|天藍色)。
為了實現減少精確推理工作負載的最佳性能和成本,我們強烈建議使用AWS上新支持的G4實例類型使用Tensorrt。
支持TensorFlow 2
運行時7.0毫升包括TensorFlow 2.2。Tensorflow 2包含許多新功能以及重大的破壞變化。如果您是從Tensorflow 1.X遷移的,Databricks建議閱讀Tensorflow的官方遷移指南和有效的張量2。如果您必須使用TensorFlow 1.x,則可以使用以下命令在Python筆記本中使用以下命令:
%PIP安裝TensorFlow == 1.15.3
資源
- Databricks運行時7.0 ml發行說明(AWS|天藍色)
- Databricks運行時7.0發行說明(AWS|天藍色)
- 介紹Apache Spark 3.0