Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 Runtime SDK'sından ray_init() çağrısı yapı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 hesaplama kaynağına bağlandığında, ekli düğümde Ray'i başlatmak için Databricks AI Runtime SDK'dan 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, databricks.air yerine serverless_gpu'den 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 Çalışma Zamanı için Databricks CLI komutları tek düğümlü Ray iş yüklerini destekler. İş yükü yapılandırmasında, sabit bir accelerator_type ve num_accelerators belirtin.
Qwen2.5-3B Ray Train recipe, yeniden kullanılabilir bir bootstrap betiği içerir. İş 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:
- Düğümde Ray head başlatılır ve yapılandırılmış giriş noktası çalıştırılır.
- 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.
CLI örnekleri
| Example | Description |
|---|---|
| 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 volume içine yazın. |
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:
- Etkileşimli geliştirme için bir notebook veya çalıştırılmak üzere gönderilen işler için Databricks CLI'yı seçin.
- 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. Bkz. Donanım.
- Mevcut küme başlatmasını, bir notebookta
ray_init()ile veya Databricks CLI iş yükünde belgelenmiş bootstrap script ile değiştirin. - İş yükünün Python bağımlılıklarını bildirin ve verisini, kontrol noktasını, modelini ve çıktı yollarını güncelledin.
- 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_typekullanı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. - Azure Databricks sürücü proxy'si üzerinden Ray dashboard erişimi yalnızca notebook iş yükleri için mevcuttur.
- Ray, hem notebooklarda hem de Databricks CLI iş yüklerinde tek bir düğümde çalışır.
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.