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.
Yüksek aktarım hızı, düşük gecikme süresi ve güvenilir performans gerektiren üretim iş yükleri için Model Sunma uç noktalarını iyileştirmeyi öğrenin.
İyileştirme stratejileri üç kategoriye ayrılır:
- Uç nokta iyileştirmeleri: Daha iyi performans için uç nokta altyapısını yapılandırma
- Model iyileştirmeleri: Model verimliliğini ve aktarım hızını geliştirme
- İstemci iyileştirmeleri: İstemcilerin hizmet uç noktalarıyla etkileşim kurma şeklini iyileştirme
Uç noktanızı ne zaman iyileştirin?
Aşağıdaki senaryolardan herhangi biri ile karşılaştığınızda Model Sunma uç noktanızı iyileştirmeyi göz önünde bulundurun:
- Yüksek sorgu hacmi: Uygulamanız tek bir uç noktaya saniyede 50 binden fazla sorgu (QPS) gönderir
- Gecikme süresi gereksinimleri: Uygulamanız için 100ms alt yanıt süreleri gerekiyor
- Ölçeklendirme performans sorunları: Uç noktalar, trafik artışları sırasında sıraya alma veya HTTP 429 hataları döndürme deneyimi yaşar
- Maliyet iyileştirme: Performans hedeflerini korurken hizmet maliyetlerini azaltmak istiyorsunuz
- Üretim hazırlığı: Geliştirme aşamasından üretim iş yüklerine geçmeye hazırlanıyorsunuz
Altyapı iyileştirmeleri
Altyapı iyileştirmeleri ağ yönlendirmesini, ölçeklendirme davranışını ve işlem kapasitesini geliştirir.
Yol iyileştirme
Yol iyileştirme , yüksek aktarım hızına sahip iş yükleri için en önemli altyapı iyileştirmesini sağlar. Bir uç noktada yol iyileştirmeyi etkinleştirdiğinizde Databricks Model Sunma, çıkarım istekleri için ağ yolunu geliştirerek istemciler ve modeller arasında daha hızlı ve daha doğrudan iletişim sağlar.
Performans avantajları:
| Özellik | Standart uç nokta sınırı | Yol için iyileştirilmiş uç nokta sınırı |
|---|---|---|
| Çalışma alanı başına saniye başına sorgu sayısı (QPS) | 200 | 50.000'den fazla (daha yüksek sınırlar için Databricks ile iletişime geçin) |
| Çalışma alanı başına istemci eşzamanlılığı | 192-1024 (bölgeye göre değişir) | Açık sınır yok (sağlanan eşzamanlılık ile sınırlıdır) |
| Sunulan varlık başına uç nokta tarafından sağlanan eşzamanlılık | 1,024 | 1.024 (daha yüksek sınırlar için Databricks ile iletişime geçin) |
Yol iyileştirme ne zaman kullanılır:
- 200'den fazla QPS gerektiren iş yükleri
- Katı gecikme süresi gereksinimleri olan uygulamalar (50ms'nin altında ek yük)
- Birden çok eşzamanlı kullanıcıya hizmet veren üretim dağıtımları
Önemli
Yol iyileştirme yalnızca uç noktaları sunan özel model için kullanılabilir. Temel Model API'leri ve dış modeller rota iyileştirmeyi desteklemez. Kimlik doğrulaması için OAuth belirteçleri gereklidir; kişisel erişim belirteçleri desteklenmez.
Kurulum yönergeleri için Hizmet sunma uç noktalarında yol optimizasyonuna bakın ve sorgulama ayrıntıları için rota için optimize edilmiş hizmet sunma uç noktalarını sorgulayın.
Sağlanan eşzamanlılık
Sağlanan eşzamanlılık, uç noktanızın kaç eşzamanlı isteği işleyebileceğini denetler. Sağlanan eşzamanlılığı beklenen QPS ve gecikme süresi gereksinimlerinize göre yapılandırın.
Yapılandırma yönergeleri:
- En düşük eşzamanlılık: Kuyruğa alınmadan temel trafiği işleyecek kadar yüksek ayarlayın
- En yüksek eşzamanlılık: Maliyetleri denetlerken trafik artışlarını karşılayacak kadar yüksek ayarlayın
- Otomatik ölçeklendirme: Kapasiteyi isteğe bağlı olarak dinamik olarak ayarlamak için otomatik ölçeklendirmeyi etkinleştirin
Gerekli eşzamanlılığı hesaplama:
Required Concurrency = Target QPS × Average Latency (seconds)
Örneğin, hedefiniz 200ms ortalama gecikme süresiyle 100 QPS ise:
Required Concurrency = 100 × 0.2 = 20
Gerçek gecikme süresini ölçmek ve en uygun eşzamanlılık ayarlarını belirlemek için yük testini kullanın.
Örnek türleri
Modelinizin işlem gereksinimlerine göre örnek türlerini seçin:
| Örnek türü | En iyi kullanım alanı: | Dengelemeler |
|---|---|---|
| CPU (Küçük, Orta, Büyük) | Basit modeller, basit çıkarım mantığı | İşlem yoğunluklu modeller için daha düşük maliyet, daha yavaş |
| GPU (Küçük, Orta, Büyük) | Büyük modeller, karmaşık hesaplamalar, görüntü/video işleme | Derin öğrenme için daha yüksek maliyet ve en iyi performans |
İpucu
Geliştirme ve test için CPU örnekleriyle başlayın. Yüksek çıkarım gecikmesi gözlemlerseniz ya da modelinizin özelleşmiş hesaplama (örneğin, derin öğrenme işlemleri) gerektirdiğini düşünüyorsanız yalnızca GPU örneklerine geçiş yapın.
Model iyileştirmeleri
Model iyileştirmeleri çıkarım hızını ve kaynak verimliliğini artırır.
Model boyutu ve karmaşıklığı
Model Boyutu ve Karmaşıklığı: Daha küçük, daha az karmaşık modeller genellikle daha hızlı çıkarım süreleri ve daha yüksek QPS'lere yol açar. Modeliniz büyükse model niceleme veya ayıklama gibi teknikleri göz önünde bulundurun.
Gruplama
Uygulamanız tek bir çağrıda birden çok istek gönderebiliyorsa istemci tarafında toplu işlemi etkinleştirin. Bu, tahmin başına ek yükü önemli ölçüde azaltabilir.
Ön işleme ve işlem sonrası iyileştirme
Çıkarım altyapısı üzerindeki yükü azaltmak için hizmet veren uç noktalardan karmaşık ön işleme ve son işlem görevlerini devredin.
İstemci tarafı iyileştirmeleri
İstemci tarafı iyileştirmeleri, uygulamaların hizmet uç noktalarıyla etkileşim kurma şeklini geliştirir.
Bağlantı havuzu yönetimi
Bağlantı havuzu, her istek için yeni bağlantılar oluşturmak yerine mevcut bağlantıları yeniden kullanır ve ek yükü önemli ölçüde azaltır.
- Bağlantı havuzu en iyi yöntemlerini otomatik olarak uygulayan Databricks SDK'sını kullanın
- Özel istemciler kullanıyorsanız, bağlantı havuzunu kendiniz uygulayın.
Hata işleme ve yeniden deneme stratejileri
Özellikle otomatik ölçeklendirme olayları veya ağ kesintileri sırasında geçici hataları düzgün bir şekilde işlemek için sağlam hata işleme uygulayın.
Yük boyutu iyileştirmesi
Ağ aktarım süresini kısaltmak ve aktarım hızını geliştirmek için istek ve yanıt yükü boyutlarını en aza indirin.
Performansı ölçme ve geliştirme
Performans izleme
Mozaik Yapay Zeka Modeli Sunma tarafından sağlanan araçları kullanarak uç nokta performansını izleyin:
| Ölçü birimi | Ölçüleri | Target | Aşılırsa eylem |
|---|---|---|---|
| Gecikme süresi (P50, P90, P99) | İstekler için yanıt süresi | Uygulamaya bağımlı (genellikle <100-500ms) | Kuyruğa alma durumunu kontrol et, modeli veya istemciyi iyileştir |
| Aktarım hızı (QPS) | Saniye başına tamamlanan istekler | İş yüküne bağımlı | Yol iyileştirmeyi etkinleştirme, sağlanan eşzamanlılığı artırma |
| Hata oranı | Başarısız isteklerin yüzdesi | <1% | Hizmet günlüklerini gözden geçirin, kapasite sorunlarını denetleyin |
| Kuyruk derinliği | İşlenmeyi bekleyen istekler | 0 (kuyruğa alma yok) | Sağlanan eşzamanlılığı artırma veya otomatik ölçeklendirmeyi etkinleştirme |
| CPU/Bellek kullanımı | Kaynak kullanımı | <80% | Örnek türünün ölçeğini artırma veya eşzamanlılığı artırma |
Ayrıntılı izleme yönergeleri için Model kalitesini ve uç nokta sağlığını izleme başlıklı makaleye ve ölçümleri gözlemlenebilirlik araçlarına aktarmak için Hizmet veren uç nokta sağlık ölçümlerini Prometheus ve Datadog'a izleme ve aktarma sayfasına bakın.
Yük testi
Yük testi, gerçekçi trafik koşulları altında uç nokta performansını ölçer ve aşağıdakilere yardımcı olur:
- En uygun sağlanan eşzamanlılık ayarlarını belirleme
- Performans sorunlarını tanımlama
- Gecikme süresi ve aktarım hızı gereksinimlerini doğrulama
- İstemci eşzamanlılığı ile sunucu eşzamanlılığı arasındaki ilişkiyi anlama
Bkz. Servis uç noktaları için yük testi.
Sık karşılaşılan performans sorunlarını giderme
Queuing
Model Sunma, trafik desenlerine göre kapasiteyi ayarlamak için otomatik ölçeklendirmeyi destekler. Ancak, otomatik ölçeklendirme artan yükü algılamak ve ek kapasite sağlamak için zaman gerektirdiği için ani trafik artışları kuyruğa alma işlemine neden olabilir. Bu süre boyunca gelen istekler kullanılabilir kapasiteyi geçici olarak aşarak isteklerin kuyruğa geçmesine neden olabilir.
Kuyruğa alma, istek oranı veya eşzamanlılık uç noktanın geçerli işleme kapasitesini aştığında oluşur. Bu durum genellikle ani trafik artışları, iş yükü artışları veya uç noktanın sağlanan eşzamanlılığı yetersiz olduğunda gerçekleşir. Model Hizmet Uç Noktaları, ani taleplerin artışını işlemek için geçici olarak kuyruğa alınmayı sağlar, ancak tanımlanan eşiğin ötesinde, sistem kararlılığını korumak için HTTP 429 hatası (Çok Fazla İstek) döndürür.
Kuyruğa alınan istekler işlenmeden önce beklediği için kuyruğa alma gecikme süresini artırır. Kuyruğa alma işlemini en aza indirmek için:
- Temel trafiği ve tipik ani artışları işlemek için sağlanan minimum eşzamanlılığı yeterince yüksek ayarlayın
- Daha yüksek kapasite sınırları için yol iyileştirmeyi etkinleştirme
- İstemci uygulamalarınızda üstel geri alma ile yeniden deneme mantığını uygulama
Dış API performans sorunları
Modeller genellikle çıkarım sırasında veri zenginleştirme, özellik alma veya diğer görevler için dış API'leri çağırır. Bu dış bağımlılıklar performans sorunlarına neden olabilir:
- Gecikme süresi: Her dış API çağrısının yanıt süresini ölçün. Bu çağrılardaki yüksek gecikme süresi, genel hizmet gecikme süresini doğrudan artırır ve aktarım hızını azaltır.
- Aktarım hızı sınırları: Dış API'ler hız sınırları veya kapasite kısıtlamaları uygulayabilir. Bu sınırların aşılması kısıtlamalara, hatalara ve performans bozulmalarına neden olabilir.
- Hata oranları: Dış API'lerden gelen sık hatalar yeniden denemeleri tetikleyebilir ve hizmet sunma uç noktanızdaki yükü artırabilir.
- Önbelleğe alma: Çağrı sayısını azaltmak ve yanıt sürelerini iyileştirmek için dış API'lerden sık erişilen veriler için önbelleğe alma uygulayın.
Performans sorunlarını belirlemek ve yüksek aktarım hızına sahip iş yükleri için hedeflenen iyileştirmeleri uygulamak için bu faktörleri izleyin.