Teknik KILAVUZ

Dağıtılmış Yapay Zeka için Ray

Ray, Python ve AI iş yüklerini bir dizüstü bilgisayardan binlerce makineden oluşan bir kümeye ölçeklendirmeyi kolaylaştıran açık kaynaklı bir çerçevedir.

2 min readSon güncelleme

Genel Bakış

It matters because it gives a simple, unified way to distribute training, tuning, data processing, and serving without rewriting your code for each.

Derin Dalış

Ray'in temel fikri, sıradan Python fonksiyonlarını ve sınıflarını minimum değişiklikle dağıtılmış birimlere dönüştürmektir. Uzak 'görev' olarak işaretlenen bir işlev, kümedeki herhangi bir çalışan üzerinde eşzamansız olarak çalışır; Uzak bir 'aktör' olarak işaretlenen sınıf, bir işçi üzerinde yaşayan durum bilgisi olan bir hizmet haline gelir. Ray, hafif vadeli işlemleri (nesne referansları) döndürür ve zamanlamayı, paylaşılan bir nesne deposu aracılığıyla veri hareketini ve hata toleransını yönetir. Bu temel amaca yönelik oluşturulmuş kitaplıkların yanı sıra: Dağıtılmış model eğitimi için Ray Train, hiperparametre araması için Ray Tune, akış veri hatları için Ray Data, takviye öğrenimi için RLlib ve ölçeklenebilir model sunumu için Ray Serve. Bu, bir kümenin tüm makine öğrenimi iş akışını uçtan uca yönetmesine olanak tanır.

Teknik Bilgi

Temel ilkeller görevler (durumsuz, paralel işlev çağrıları) ve aktörlerdir (yüklü bir model veya sayaç gibi şeyleri tutan durum bilgisi olan çalışanlar). Uzak bir görevi çağırdığınızda, Ray hemen bir gelecek döndürür ve işi mevcut CPU'lar/GPU'lar arasında planlar; Sonuçları almak için ray.get()'ı çağırırsınız. Sıfır kopya paylaşımlı belleğe sahip dağıtılmış bir bellek içi nesne deposu, diziler gibi büyük nesneleri çalışanlar arasında verimli bir şekilde taşır, tekrarlanan serileştirmeyi önler ve veri ağırlıklı yapay zeka işlem hatlarını hızlı hale getirir.

Stratejik Etki

Maliyet ve bütçe

Mimari kararlar yıllarca performansı ve işletme maliyetini etkiler.

Daha net kararlar

Teknik eğitim, ekiplerin yalnızca en yenisini değil, doğru yığını seçmesine de yardımcı olur.

Quality control

Daha iyi mühendislik seçenekleri, üretimdeki güvenilirlik olaylarını azaltır.

Dağıtılmış Yapay Zeka için Ray'in Geleceği

Ray, özellikle büyük dil modellerinin eğitiminde ve sunulmasında kullanılan, büyük ölçekli yapay zekanın omurgası haline geldi. LLM'ye özgü sunumda (vLLM ile Ray Serve), heterojen GPU planlamasında, KubeRay aracılığıyla data lake'ler ve Kubernetes ile daha sıkı entegrasyonda ve ani üretimli iş yükleri için daha iyi otomatik ölçeklendirmede büyüme bekleyebilirsiniz. Modeller büyüdükçe Ray'in çok düğümlü eğitimi, RLHF işlem hatlarını ve binlerce hızlandırıcıda toplu çıkarımı düzenlemedeki rolünün de artması muhtemeldir.

Gerçek Dünya Uygulaması

En iyi model yapılandırmasını bulmak için bir GPU kümesinde yüzlerce hiperparametre kombinasyonunu paralel olarak aramak için Ray Tune'u çalıştırma

Derin öğrenme modelinin eğitimini minimum kod değişikliğiyle birçok GPU ve düğüme dağıtmak için Ray Train'i kullanma

Milyonlarca kaydın bir kümedeki bir model aracılığıyla akışını sağlayarak puanlanması için Ray Data ile bir toplu çıkarım hattı oluşturma

Değişken üretim trafiğini yönetmek için Ray Serve ile tek bir otomatik ölçeklendirme uç noktasının arkasında birden fazla modelin dağıtılması

Riskler ve Korkuluklar

Bir kıyaslamayı optimize etmek daha geniş sistem zayıflıklarını gizleyebilir.

Altyapı ve bakım maliyetleri genellikle hafife alınır.

Sistemler karmaşıklaştıkça güvenlik ve gözlemlenebilirlik boşlukları büyüyebilir.

Uygulama Yol Haritası

1

Uygulamadan önce gecikmeyi, kaliteyi ve maliyet hedeflerini tanımlayın.

2

Gerçekçi yük ve veri koşulları altında kıyaslama yapın.

3

Hatalar, sapmalar ve kullanıcı etkisi için cihaz izleme.

4

Ölçeklendirmeden önce geri alma ve olay müdahale yollarını hazırlayın.

Keşfetmeye Devam Edin

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Ray for Distributed AI quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Testi başlat

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Next guide

Gradyan Kontrol Noktalaması

Sık sorulan sorular

What is Ray for Distributed AI?

Ray, Python ve AI iş yüklerini bir dizüstü bilgisayardan binlerce makineden oluşan bir kümeye ölçeklendirmeyi kolaylaştıran açık kaynaklı bir çerçevedir. Bu önemlidir çünkü eğitim, ayarlama, veri işleme ve sunma işlemlerini her biri için kodunuzu yeniden yazmanıza gerek kalmadan dağıtmanın basit ve birleşik bir yolunu sunar.

Ray öncelikle hangi sorunu çözüyor?

Ray, her iş yükü türü için kodunuzu yeniden yazmaya gerek kalmadan hesaplamayı birçok makineye dağıtmanın birleşik ve basit bir yolunu sağlar.

Ray'de 'görev' ile 'aktör' arasındaki fark nedir?

Görevler paralel olarak çalışan durum bilgisi olmayan uzak işlevlerdir; aktörler ise yüklü bir model gibi durumu koruyan uzun ömürlü nesnelerdir.

Uzak bir görevi başlattığınızda Ray hemen neyi döndürür?

Ray, hafif bir geleceğe hemen geri döner, böylece iş eşzamansız olarak yürütülür; Gerektiğinde gerçek sonucu almak için ray.get() işlevini çağırırsınız.

Dağıtılmış hiperparametre araması için hangi Ray kütüphanesi tasarlanmıştır?

Ray Tune, bir küme boyunca birçok hiperparametre denemesini paralel olarak yürütme konusunda uzmanlaşmıştır.

Ray'in nesne deposu veri ağırlıklı yapay zeka işlem hatlarını nasıl verimli hale getiriyor?

Paylaşılan bellek içi nesne deposu sıfır kopya okuma kullanır, böylece büyük dizilere çalışanlar tarafından maliyetli yeniden serileştirmeye gerek kalmadan erişilebilir.