Ray on AI için Çalışma Zamanı

Important

Bu özellik Genel Önizleme aşamasındadır.

Uyarı

Eğer Ray'i Databricks Classic compute ile Databricks Runtime ML ile kullanıyorsanız, Ray on Databricks sayfasına bakınız.

Ray, Python iş yüklerini ölçeklendirmek için açık kaynak bir çerçevedir. Ray ile AI Runtime'da GPU altyapısını sağlamadan veya yönetmeden çalıştırabilirsiniz.

Neden Ray AI Runtime'da Kullanılıyor

Ray, model eğitimi, toplu çıkarım, veri işleme ve hiperparametre ayarlaması gibi Python iş yüklerinin dağıtımında yaygın olarak kullanılır. AI Runtime üzerinde Ray, Unity Catalog ciltlerindeki verilere erişebilir, MLflow ile yapılan deneyleri takip edebilir ve üretim iş akışlarının bir parçası olarak çalıştırabilir.

AI Runtime'da Ray Core, Ray Data, Ray Train ve Ray Tune gibi yaygın Ray kütüphanelerini kullanabilirsiniz. Mevcut Ray iş yükleri, kütüphanelerin standart API'lerini kullanmaya devam edebilir.

Ray, AI Runtime ile nasıl çalışır

Her Ray uygulaması, bir veya daha fazla düğüm içeren bir Ray kümesi üzerinde çalışır. AI Çalışma Zamanı, düğümleri sağlar ve Ray, mevcut CPU ve GPU kaynakları boyunca görevleri ve aktörleri planlar. Ray'i nasıl başlatacağınız uygulama arayüzüne bağlıdır:

Arayüz Nodes Ray'i başlatma
Notebook Not defterine ekli tek düğüm AI Çalışma Zamanı SDK'sından ray_init() çağırın (databricks.air)
Databricks Komut Satırı Arayüzü (CLI) Bir veya daha fazla düğümden oluşan sabit bir küme Ana düğümü 0 numaralı düğümde başlatın ve kalan düğümleri yeniden kullanılabilir bir önyükleme betiği kullanarak çalışan düğümler olarak kümeye dahil edin

Notebook'larda Ray kullanın

Notebookunuz AI Runtime GPU hesaplamasına bağlandığında, ekli düğümde Ray'i başlatmak için Databricks AI Runtime SDK'sındaki ray_init() öğesini kullanın:

from databricks.air import ray_init

ray_init()

ray_init() standart API'yi ray.init() çağırır, Ray dashboard'u Databricks sürücü proxy üzerinden erişim için yapılandırır ve notebook çıktısında dashboard URL'sini yazdırır. Kodunuz çalışırken Ray işlerini, görevlerini, aktörlerini, loglarını ve kaynak kullanımını kontrol etmek için paneli kullanın.

Uyarı

ray_init() 5 ve üzeri ortam sürümlerini gerektirir. Sürüm 5'te, bunu databricks.air yerine serverless_gpu içinden içe aktarın. Databricks AI v6 Ray'i içeriyor. Eğer Standard v6 kullanıyorsanız, aramadan ray_init()önce Ray kurun. Bkz . Ortamınızı ayarlama.

Not defteri örnekleri

Example Description
Ray Core Merhaba Dünya Ekli hesaplamada asenkron GPU görevleri gönderin, Ray panelinde zamanlamayı inceleyin ve sonuçları alın.
Ray Tune ile CIFAR-10 hiperparametre ayarı PyTorch görüntü sınıflandırıcısı için eşzamanlı kesirli GPU denemeleri çalıştırın ve düşük performans gösteren yapılandırmaları erken durdurmak için eşzamansız ardışık yarılama algoritmasını (ASHA) kullanın.
Qwen2.5-32B Ray Data ve vLLM ile toplu çıkarım 8 H100 GPU'da sekiz kalıcı vLLM replikası ile çok dilli toplu çıkarım çalıştırın ve sonuçları Unity Kataloğu ciltinde Parquet olarak kaydedin.

Ray'i Databricks CLI'si ile kullanın

AI Runtime için Databricks CLI komutları, tek düğümlü ve çok düğümlü Ray iş yüklerini destekler. İş yükü yapılandırmasında, sabit accelerator_type ve toplam num_accelerators değerini belirtin. Ray Core başlangıç kılavuzu yeniden kullanılabilir bir bootstrap betiği içeriyor. İş yükünün command bölümünde, RAY_ENTRYPOINT değerini Python dosyanızın yoluna ayarlayın ve bootstrap betiğini çalıştırın. Önyükleme betiği aşağıdakileri yapar:

  • 0 numaralı düğümde, Ray head başlatılır ve yapılandırılmış giriş noktası çalıştırılır.
  • Diğer her düğümde bir Ray işçisi başlatır ve giriş noktası çalıştığı sürece onun bağlı kalmasını sağlar.
  • Giriş noktası bittikten sonra Ray süreçleri durur.

Uygulamada, kümeye ray.init(address="auto") ile bağlanın.

Standart ortamda, iş yükü bağımlılıklarına ray veya gerekli ek öğeyi, örneğin ray[data], ray[train] veya ray[tune] ekleyin. Databricks AI v6 Ray'i içeriyor.

Ray ile başla

Aşağıdaki minimal örnekler ana Ray kütüphanelerini tanıtır ve aynı küme önyükleme desenini paylaşır.

Example Description
Ray Core İki A10 GPU'da bir Ray kümesi başlatın ve her GPU için bir Ray Core görevi planlayın.
Tışın Treni GPU başına bir Ray Train worker kullanarak sentetik veriler üzerinde küçük bir çok katmanlı perceptron eğitin.
Tışın Verileri Bir Ray kümesi üzerinde sentetik veri işleme boru hattı çalıştırın.
Ray Tune Her GPU için bir deneme ile sentetik veri üzerinde küçük çok katmanlı bir perceptron ayarlayın.

Ek CLI örnekleri

Example Description
Ray Train ile ResNet-50 için ince ayar yapma ResNet-50'yi iki düğüm arasında her A10 GPU başına bir dağıtık veri paralel çalışanıyla ince ayar yapın.
Qwen2.5-3B Ray Train ile ince ayar Qwen2.5-3B'yi her GPU için bir dağıtık veri paralel çalışanı ile 8x H100 düğümünde ince ayar edin.
Ray Data ve vLLM ile toplu çıkarım Qwen2.5-7B-Instruct ile yanıtlar oluşturun ve sonuçları Parquet olarak bir Unity Catalog birimine yazın.
Ray Tune ile LoRA hiperparametre araması Dört A10 GPU arasında Qwen2.5-0.5B için LoRA konfigürasyonlarını arayın ve ASHA zamanlayıcı ile düşük performans gösteren denemeleri durdurun.
Ray Tune ile XGBoost hiperparametre araması Dört A10 GPU'da XGBoost hiperparametrelerini arayın, en iyi yapılandırmayı MLflow'a kaydedin ve modeli Unity Catalog'a kaydedin.

Veriler ve Databricks özellikleriyle çalışma

Ray iş yükleri, Unity Catalog birimlerindeki verilere erişebilir, MLflow ile çalıştırmaları kaydedebilir ve Bildirimsel Otomasyon Paketleri ile tanımlanan Lakeflow Jobs görevleri olarak çalıştırılabilir.

Unity Kataloğunda verilere erişim

Unity Catalog tablosundaki tablo verileri için, bir tabloyu okumak veya bir SQL sorgusu çalıştırmak üzere Databricks SQL ambarı üzerinden ray.data.read_databricks_tables() kullanın. Depo kimliğini, kataloğunu ve şemasını belirtin çünkü AI Çalışma Zamanı yerel bir Spark oturumu sağlamaz. Ray sonuçları işlemeden önce SQL kullanarak birleştirmeler, toplamalar ve filtreler yapabilirsiniz.

Dosya tabanlı ve yapılandırılmamış veriler için Unity Kataloğu hacmi kullanın. Ray çalışanları, dosyalara kendi /Volumes/<catalog>/<schema>/<volume>/... yollarını kullanarak erişebilir. Örneğin, Ray Data ray.data.read_parquet() ile Parquet dosyalarını okuyabilir ve Dataset.write_parquet() ile sonuçları yazabilir.

İş yüklerini izleyin ve orkestre edin

Ray iş yükünden parametreleri, metrikleri ve artefaktları kaydetmek için MLflow kullanın. Bkz. Deney takibi ve gözlemlenebilirlik.

İş yükünü zamanlamak veya onu CPU için veri hazırlama görevleriyle birleştirmek için Lakeflow Jobs ve Bildirimsel Otomasyon Paketlerini kullanın. Bkz. GPU iş yüklerini planlayın ve görevleri oluşturun

Mevcut bir Ray iş yükünü taşın

Kendi kendine yönetilen bir Ray iş yükünü taşımak, altyapı yapılandırması ve hizmet entegrasyonlarını AI Çalışma Zamanı yürütme modeliyle değiştirmeyi gerektirir.

İş yükünüzü değerlendirme

Taşınmadan önce sınırlamaları gözden geçirin. İş yükünün, sabit boyutta bir kümede tek bir hızlandırıcı tipiyle çalışabildiğini doğrulayın.

İş yükünü taşıma

Kendi kendine yönetilen bir Ray iş yükünü taşımak için:

  1. Etkileşimli, tek düğümlü geliştirme için bir notebook veya tek düğümlü veya çok düğümlü işler için Databricks CLI'yı seçin.
  2. Mevcut küme kaynaklarını bir AI Çalışma Zamanı hızlandırıcı türü ve hızlandırıcı sayısına eşleyin. Donanım seçenekleri bölümünü inceleyin.
  3. Mevcut küme başlatma işlemi yerine, bir notebook’ta ray_init() ya da Databricks CLI iş yükünde belgelenen head ve worker önyükleme işlemlerini kullanın.
  4. İş yükünün Python bağımlılıklarını bildirin ve verisini, kontrol noktasını, modelini ve çıktı yollarını güncelledin.
  5. En küçük uygulanabilir yapılandırmada iş yükünü doğrulayın. Belirlenen sabit topolojiyi test etmeden önce veri erişimini, kaynak taleplerini ve çıktılarını doğrulayın.

Limitations

Ray on AI Runtime'da aşağıdaki sınırlamalara sahiptir:

  • Işın kümesi, iş yükü süresince sabit bir düğüm sayısına sahiptir. Işın kümesi otomatik ölçeklendirme desteklenmiyor.
  • Bir iş yükündeki tüm düğümler aynı accelerator_type kullanır. Bir Ray kümesi, ayrı ayrı CPU ve GPU işçi grupları içermez veya CPU ile GPU kapasitesini bağımsız ölçekleyemez.
  • Bir notebook, kendisine ekli tek düğümde Ray’i başlatır. Çok düğümlü bir Tışın kümesi için Databricks CLI'sini kullanın.
  • Databricks sürücü proxy'si üzerinden Ray dashboard erişimi şu anda yalnızca dizüstü bilgisayar iş yükleri için mevcuttur.

Tip

Eğer CPU hazırlığı ve GPU işlemesi ayrı aşamalar olarak çalışabiliyorsa, çoklu görevli bir Lakeflow İşi kullanın ve verileri görevler arasında bir Unity Kataloğu hacmi üzerinden aktarın.