Aracılığıyla paylaş


Azure Databricks'te Ray nedir?

Ray, Python uygulamalarını ölçeklendirmeye yönelik açık kaynak bir çerçevedir. Yapay zeka iş yüklerine özgü kitaplıklar içerir ve yapay zeka uygulamaları geliştirmek için özellikle uygundur. Azure Databricks'te Ray, Azure Databricks'in tüm platform avantajlarını ve özelliklerini alırken Ray uygulamalarını çalıştırmanıza olanak tanır.

Ray 2.3.0 ve üzeri ile Azure Databricks ile Ray kümeleri oluşturabilir ve Apache Spark kümelerinde Ray uygulamaları çalıştırabilirsiniz.

Öğreticiler ve örnekler de dahil olmak üzere Ray'de makine öğrenimine başlama hakkında bilgi için Ray belgelerine bakın. Ray ve Apache Spark tümleştirmesi hakkında daha fazla bilgi için Spark API'sinde Ray belgelerine bakın.

Bu bölümdeki diğer makalelere bakın.

Ray nedir?

Ray, sıfırdan dağıtılmış uygulamalar oluşturmak için temel Python temel öğelerini sağlayarak dağıtılmış sistemleri basitleştirir. Dağıtılmış sistemlere yeni eklenen Python geliştiricileri için düzenleme, zamanlama ve hataya dayanıklılık yönetimi sırasında standart Python ile aynı kullanım kolaylığı sunar.

Ray ve Apache Spark tamamlayıcı çerçevelerdir. Ray, makine öğrenmesi ve pekiştirme öğrenmesi gibi dinamik, yoğun işlem gücü gerektiren görevleri işleyip mantıksal paralellik konusunda üstünlük sağlar. Apache Spark, ETL ve veri analizi gibi görevler için büyük veri kümelerini verimli bir şekilde işleyip veri paralelliği konusunda uzmanlaşmıştır. Birlikte, hem veri işleme hem de karmaşık hesaplama için güçlü bir birleşim sağlar.

Azure Databricks'te Neden Ray çalıştırılsın?

Azure Databricks'te Ray'i çalıştırmak, Azure Databricks ekosisteminin kapsamından yararlanarak veri işleme ve makine öğrenmesi iş akışlarını açık kaynak Ray'de bulunmayan hizmetler ve tümleştirmelerle geliştirmenizi sağlar. Azure Databricks içinde Ray çalıştırmanın avantajları şunlardır:

  • Birleşik platform: Azure Databricks, Apache Spark ile birlikte Ray uygulamalarını çalıştırabileceğiniz birleşik bir platform sağlar. Bu tümleştirme, aynı işlem ortamında sorunsuz veri ETL işlemlerini, verimli veri aktarımını ve güçlü paralel bilgi işlemi destekler.
  • İdare ve denetim: Unity Kataloğu ile tüm veri varlıklarınız, dosyalarınız, modelleriniz ve daha fazlası için köken izleme, veri sürümü oluşturma ve erişim denetimi avantajlarından yararlanarak uyumluluk ve güvenlik sağlayın.
  • Altyapı yönetimi: Azure Databricks Terraform Sağlayıcısı ve Azure Databricks Varlık Paketleri gibi altyapı araçlarını kullanarak kümelerinizi ve işlerinizi yönetin ve kolaylaştırılmış operasyonlar ve ölçeklenebilirlik sağlayın.
  • Yönetilen Ray kümeleri: Işın kümeleri, çalışan bir Apache Spark kümesiyle aynı yürütme ortamında yönetilir. Bu, karmaşık altyapı kurulumuna gerek kalmadan ölçeklenebilirlik, güvenilirlik ve kullanım kolaylığı sağlar.
  • Model Sunma ve izleme: Ray Train ile eğitilen modelleri yüksek kullanılabilirlik ve düşük gecikme süreli dağıtımlar için Mozaik Yapay Zeka Modeli Sunma'ya bağlayın. Ayrıca, model tahmini kalitesini ve kaymasını izlemek ve tutarlı performans sağlamak için Lakehouse İzleme'yi kullanın.
  • Geliştirilmiş ML geliştirme: Model geliştirmenizi izlemek, Ray uygulamalarınızda deneme yönetimini ve yeniden üretilebilirliği kolaylaştırmak için tam olarak yönetilen Azure Databricks MLflow hizmetiyle tümleştirin.
  • Otomatik iş akışları: İşlemlerinizi otomatikleştirmek için Azure Databricks iş akışlarını kullanın, işlemlerinizi kolaylaştıran ve el ile müdahaleyi azaltan üretime hazır işlem hatları oluşturun.
  • Kod yönetimi ve işbirliği: Azure Databricks Git klasörleriyle kodunuzu verimli bir şekilde yönetin; böylece sürüm denetimi için sorunsuz Git tümleştirmesi ve Ray uygulama kodunuz için işbirliğine dayalı geliştirme olanağı sağlar.
  • Verimli veri erişimi: Ray uygulamalarını Delta Lake'e bağlayarak Azure Databricks'in geniş veri tümleştirme ekosistemi sayesinde Ray'in özelliklerini daha geniş bir uygulama ve çıkış yelpazesine genişletebilirsiniz.

Ray'i Azure Databricks'te çalıştırarak veri işleme, makine öğrenmesi ve operasyonel iş akışlarınızı geliştiren tümleşik bir ekosisteme erişim elde edebilirsiniz.

Kullanım örnekleri - makine öğrenmesi ve ötesi

Ray, Python'ın özelliklerini DataFrame işlemlerinin sınırlamalarının ötesine genişleterek yüksek oranda özelleştirilmiş ve özelleştirilmiş dağıtılmış algoritmalar için ideal hale getiren çok yönlü bir araçtır.

Makine öğrenmesi ve derin öğrenme

ML iş akışlarınızı geliştirmek için Ray'in makine öğrenmesi kitaplıklarından yararlanın:

  • Hiper parametre ayarlama: Yüksek performanslı ve ölçeklenebilir hiper parametre araması için Ray Tune ile model performansını iyileştirin.
  • Dağıtılmış derin öğrenme eğitimi: PyTorch, TensorFlow, HuggingFace ve Keras gibi popüler çerçeveler için destekle derin öğrenme modellerini birden çok düğüm arasında ölçeklendirin. Görüntü işleme veya büyük dil modelleri (LLM) için eğitim modelleri için idealdir.
  • Geleneksel makine öğrenmesi: Scikit-learn veya XGBoost gibi popüler kitaplıklarla oluşturulmuş geleneksel ML modelleri için eğitim, değerlendirme ve toplu çıkarım dağıtmak için Ray kullanın.

Yüksek Performanslı Bilgi İşlem (HPC)

Ray, HPC iş yüklerini dağıtma konusunda uzmandır ve aşağıdakiler için uygundur:

  • Matematiksel hesaplamalar: Verimli paralel işleme için Ray Core kullanarak fizik, genomiks veya finans gibi alanlarda karmaşık hesaplamalar yapın.
  • Zaman serisi tahmini: Tahmin modellerinizi ölçeklendirin; tahminleri Kahin veya ARIMA gibi tahmin paketleriyle eşzamanlı olarak çalıştırın.

Veri işleme ve özellik mühendisliği

Ray çeşitli veri işleme görevlerini de işleyebilir:

  • Hesaplanan özellikler: Karmaşık işlem yoğunluklu özellik mühendisliği görevleri Ray'in dağıtılmış hesaplama mimarisinden yararlanabilir.
  • Ses, görüntü ve video işleme: Multimedya verilerini dağıtın ve hızlandırarak konuşma tanıma, görüntü sınıflandırma ve video analizi uygulamaları için idealdir.

Sınırlamalar

  • Apache Spark üzerinde Ray, tek kullanıcı (atanan) erişim modu, yalıtımsız paylaşılan erişim modu ve yalnızca iş kümeleri için desteklenir. Bir Ray kümesi sunucusuz tabanlı çalışma zamanları kullanılarak kümelerde başlatılamaz.
  • Paketleri çalıştıran bir Ray kümesine yüklemek için komutunu çalıştırmaktan %pip kaçının; küme kapatılır. Bunun yerine, kümeyi başlatmadan önce kitaplıkları yükleyin.
  • 'den ray.util.spark.setup_ray_cluster yapılandırmayı geçersiz kılan tümleştirmelerin kullanılması, Ray kümesinin kararsız hale gelmesine neden olabilir. 3. taraf uygulamalarda Ray kümesi kaynaklarını fazla abone yapmaktan kaçının.
  • gibi ncclInternalError: Internal check failedhatalarla karşılaşırsanız bu, kümenizdeki GPU'lar arasında ağ iletişimi ile ilgili bir sorun olduğunu gösterir. Bu hatayı çözmek için, birincil ağ arabirimini kullanmak üzere eğitim kodunuza aşağıdaki kod parçacığını ekleyin.
import os
os.environ["NCCL_SOCKET_IFNAME"] = "eth0"