Azure'da yapay zeka iş yükleri için uygulama platformu
Verimliliği, operasyon güvenliğini ve güvenilirliği en üst düzeye çıkarabileceğinizden emin olmak için yapay zeka iş yükünüzün dağıtılacağı uygulama barındırma platformunu dikkatle dikkate almanız gerekir.
Bu tasarım alanı, yapay zeka iş yükünüzle ilgili olabilecek çeşitli uygulama türlerini kapsar:
- Keşif veri analizi (EDA)
- Model eğitimi ve ince ayarlama
- Çıkarım
Bu makale, iş gereksinimlerinizi karşılamak üzere bu işlevlerin her biri için en iyi platformu seçmeye yönelik rehberlik sağlar. Bu işlevlerin tümüne uygulayabileceğiniz genel öneriler de vardır.
Öneriler
Bu makalede sağlanan önerilerin özeti aşağıda verilmiştir.
Öneri | Açıklama |
---|---|
Araçları yeniden kullanma. | Yapay zeka iş yükünüz için yeniden kullanılıp kullanılamayacağını anlamak için zaten kullandığınız araçları değerlendirerek başlayın. Gerekli işlevleri destekliyorsa ve güvenilirlik, güvenlik, maliyet ve performans gereksinimlerinizi karşılıyorsa, yeni bir araç getirmek maliyet ve çabaya değmez. |
Verileriniz ve dağıtmayı planladığınız bölgeler için uyumluluk gereksinimlerini göz önünde bulundurun. | Uyumluluk gereksinimlerini karşılamak için iş yükünüzün dağıtımını yaptığınız bölgeleri sınırlamanız veya iş yükünüzün bölümlerini birbirinden ayırmanız gerekebilir. Bu bilgilerle tasarım aşamanıza geçmek, daha sonra yeniden tasarlama gereksiniminden korunmanıza yardımcı olabilir. |
Binayı simge durumuna küçültün. | Düzeltme eki uygulama ve diğer bakımlar gibi kendi çözümünüzü oluşturmanın getirdiği operasyonel yükü en aza indirmek için hizmet olarak platform (PaaS) veya hizmet olarak yazılım (SaaS) çözümlerini göz önünde bulundurun. Yeni teknoloji için gereken Day-2 yükünü en aza indirmek benimsemenizi kolaylaştırır. Birçok yapay zeka işlevi karmaşıktır, bu nedenle kendi platformunuzu oluşturmanızı önermeyiz. |
Kotalarınızı ve sınırlarınızı anlayın. | PaaS veya SaaS çözümlerinin kullanımı için tasarım yaparken, geçerli olan kotaları veya sınırları anlayın. Yüksek trafik taleplerini karşılamak için ölçeği genişletme olanağınız kotalardan veya sınırlardan etkilenebilir, bu nedenle bu riski en aza indirmek için tasarımınızı ayarlamanız gerekebilir. |
Aynı bölgede dağıtın. | Gecikme süresini azaltmak ve tasarımı basitleştirmek için tüm ilgili kaynakları aynı bölgeye dağıtmayı deneyin. |
Güvenli dağıtım alıştırması yapın. | Genel olarak, yapay zeka iş yükünüz için API'leri ortamınızdaki diğer API'ler gibi değerlendirmelisiniz. Tüm API'ler bir ağ geçidinin arkasına yerleştirilmeli ve tüm kodlar diğer tüm kod varlıklarıyla aynı güvenli dağıtım uygulamalarıyla işlenmelidir. |
Denemeler aracılığıyla performans karşılaştırmaları oluşturun. | Her yapay zeka iş yükü farklıdır ve ihtiyacınız olan işlem miktarı kullanım örneğinize bağlıdır. Kapsamlı karşılaştırma testi yaparak iş yükünüz için en uygun işlem miktarını ve türlerini belirleyin. Bu kılavuz bir platform seçmenize yardımcı olur, ancak karşılaştırma testi sonrasında yalnızca hangi SKU'ların iş yükünüz için uygun olduğunu bilirsiniz. |
EDA platformu için dikkat edilmesi gerekenler
EDA, veri bilim adamlarının modelleme veya istatistiksel analizden önce gerçekleştirdiği ortak bir ön işlevdir. Bu nedenle bir geliştirme aşaması olarak kabul edilebilir, bu da güvenilirlik ve performans hedeflerinin üretim kaynaklarına göre önemli ölçüde daha düşük olabileceği ve üretkenliğin korunmasının daha önemli bir faktör olduğu anlamına gelir.
Bu bölüm, bir EDA platform çözümü seçtiğinizde dikkate almanız gereken özellikler hakkında rehberlik sağlar.
İşlev gereksinimleri
Bir EDA platformunu değerlendirirken aşağıdaki soruları göz önünde bulundurun:
Platform geçici kullanımı destekliyor mu?
Platform geçici çalışma alanlarını ve işlemleri desteklemelidir, bu da kullanılmadığında gerekli kaynakları durdurabilmeniz gerektiği anlamına gelir. Bu özellik maliyetleri denetlemeye yardımcı olur. EDA işleri genellikle etkileşimlidir, bu nedenle kullanıcıların vm'leri başlatabilmesi ve işleri çalıştırırken durdurabilmesi gerekir.
Platform işlem isteğe bağlılığını destekliyor mu?
Platform gerektiğinde GPU'lara isteğe bağlı erişimi etkinleştirmeli ve platformu doğru boyutlandırmaya yardımcı olmak için çeşitli işlem seçenekleri sağlamalıdır.
Platform MLflow'a destek oluyor mu?
EDA platformunuz, denemelerinizi izlemek için MLflow ile tümleştirmeye olanak tanıyan bir teknoloji seçmenizi mümkün hale getirmelidir. Aşağıdaki avantajları sağladığından MLflow'un model geliştirme, dağıtım ve yönetim protokolü olarak kullanılması önerilir:
- Deneme izleme. MLflow, parametreleri, ölçümleri ve yapıtları kaydederek denemeleri izlemenizi sağlar. Bu özellik, farklı veri ön işleme adımlarını ve özellik mühendisliği tekniklerini ve bunların model performansı üzerindeki etkilerini takip edebilmeniz için EDA sırasında önemlidir.
- Yeniden üretilebilirlik. MLflow, denemelerinizin tüm ayrıntılarını günlüğe kaydeddiğinden sonuçlarınızı yeniden oluşturabilmenize yardımcı olur ve bu da bulguları doğrulama açısından kritik önem taşır.
- Veri ve model sürümü oluşturma. MLflow, veri kümelerinin ve modellerin sürüm oluşturmasına yardımcı olur ve bu da veri dönüşümlerinin ve test edilen modellerin farklı sürümlerini yönetmeyi kolaylaştırır.
- İşbirliğine dayalı çalışma. MLflow, veri bilim insanlarının denemelerini ve sonuçlarını paylaşabileceği merkezi bir platform sağlar ve bu da işbirliği ve bilgi paylaşımını kolaylaştırır.
İşlevsel olmayan gereksinimler
Şu soruları da göz önünde bulundurun:
Platform maliyetleri denetlemeye nasıl yardımcı olabilir?
Platform, veri bilim adamlarının çalışmalarını zamanlama gereksinimlerine göre gerçekleştirmesine olanak sağlamalı, ancak maliyet beklentilerinin karşılandığından emin olmak için doğru boyutta olmalıdır.
Platform için hangi güvenlik gereksinimlerine uyulmalıdır?
EDA aşamanızda kullanılan veriler büyük olasılıkla üretim verileri olacaktır. Bu veriler, bu verilerin güvenliğini sağlamak ve platformu izlemek için üretim uygulamalarını izlemenizi gerektirir. Bu amaçla platformunuz, aşağıdakileri de içeren tüm gerekli güvenlik denetimlerini desteklemelidir:
- Erişim ve yetkilendirme.
- Bekleyen ve aktarımdaki şifreleme.
- Bölgesel veri koruma gereksinimleri.
- Günlüğe kaydetme ve denetlenebilirlik dahil olmak üzere güçlü izleme ve uyarı işlevselliği.
- Kapsayıcı görüntüleri, verileri ve kod varlıkları için merkezi depolara özel ağ erişimi.
Araçlar
EDA platformunuz olarak ekip düzeyinde dosya paylaşımları içeren bir Azure Machine Learning işlem örneği kullanın. Bunun bir istisnası, örneğin ekibinizin veya kuruluşunuzun Databricks'teki GPU özellikli işlem kümeleri gibi uygun bir barındırma platformu kullanıyor olmasıdır. Bu durumda, bu platformda kalmak daha uygun olabilir.
Not
Gerekmedikçe tam bir EDA platformu oluşturmayın. GPU için iyileştirilmiş işlem pahalıdır ve kullanım örneğiniz gerekli değilse uygun değildir.
Model eğitimi ve ince ayar platformu için dikkat edilmesi gerekenler
Model eğitimine ve ince ayarlamaya geçtiğiniz zaman, büyük olasılıkla bu etkinliklerin gerektirdiği yoğun işlem gerektiren çalışmalar için yüksek performanslı GPU için iyileştirilmiş işleme ihtiyacınız olacaktır. Bu işin çoğu arka planda gerçekleştiğinden güvenilirlik genellikle performans kadar önemli değildir. Yüksek güvenilirlik gerekliyse, iş yükünü kullanılabilirlik alanlarına veya bölgelere yayma işleminin gerekli olup olmadığını değerlendirin. Modelin güncelliği sık sık güncelleştirildiğinde yüksek güvenilirlik daha önemli hale gelir ve bu da eğitimin daha sıkı bir zamanlamayla tamamlanması gerekir. RTO'nuz seçtiğiniz güvenilirlik tasarımını belirlemelidir.
Bu bölümdeki yönergeler hem model eğitimi hem de ince ayarlama için geçerlidir. Bu işlevler için ayrı platformlar kullanmak zorunda kalmadığınız sürece tek bir platform kullanmanız gerekir.
İşlev gereksinimleri
Platformları model eğitimi ve ince ayarlama için değerlendirirken aşağıdaki soruları göz önünde bulundurun:
Platform geçici kullanımı destekliyor mu?
EDA etkinlikleri gibi model eğitimi ve ince ayarlama da genellikle tam zamanlı olarak çalıştırılmaz, bu nedenle maliyetleri denetlemeye yardımcı olmak için kullanımda olmadığında durdurulabilecek bir platform kullanmanız gerekir. Ancak EDA'nın aksine model eğitimi genellikle bir toplu işlemdir, bu nedenle işlem yalnızca toplu iş çalıştırıldığında gereklidir ve bir sonraki çalıştırmaya kadar kapatılabilir.
Platform düzenleme sağlıyor mu?
Model eğitimi ve ince ayarlama için işlem yönetimi için gereken karmaşıklık nedeniyle bir düzenleyici öneririz.
Ortamınızdaki mevcut teknolojiler çözümün bir parçası olabilir mi?
Mevcut veri platformunuzun Azure Databricks gibi makine öğrenmesi özellikleri varsa, bunu veri dönüştürme ve özellik mühendisliği, eğitim, ince ayarlama ve Machine Learning'deki diğer adımlar gibi belirli adımlar için kullanabilirsiniz. Teknolojilerin birleştirilmesi, ideal olarak uygun olmayabilecek işlevler için bir veri platformu kullanmanın maliyetini ve karmaşıklığını en aza indirmenize yardımcı olabilir.
İşlevsel olmayan gereksinimler
Bu soruyu da göz önünde bulundurun:
Maliyet ve performans arasındaki toleranslı denge nedir?
Yüksek performanslı, GPU için iyileştirilmiş işlem gereksinimleri göz önünde bulundurulduğunda, performansı maliyetlerle dengeleyen ideal SKU'yu belirlemek için eğitiminizi test edip karşılaştırdığınızdan ve kapsamlı bir şekilde ince ayar yaptığınızdan emin olun.
Araçlar
Toplu işlem desteğiyle düzenleme işlevselliği sağladığından model eğitimi ve hassas ayarlama platformu için Azure Machine Learning'i öneririz. Değerlendirilecek iki işlem seçeneği vardır:
- Sunucusuz işlem , gürültülü komşu efektlerini tolere edebilen kısa ve seyrek çalıştırmalar için idealdir. Standart fiyatlandırmayı veya spot fiyatlandırmayı seçebilirsiniz. Spot fiyatlandırması yalnızca yüksek oranda kesintiye neden olan eğitimler için önerilir. Tam zamanlı işlemler için sunucusuz işlem kullanmayın. Maliyetler hızla yükseltilebilir.
- İşlem kümeleri , kullanılabilir donanımlar üzerinde önemli bir denetim sağlar ve paralel veya dağıtılmış eğitim için ayarlanır.
Not
Temel modellerde, model barındırma platformu seçiminiz ince ayar seçeneklerinizi sınırlayabilir. Örneğin, model barındırma için Azure OpenAI Hizmeti'ni kullanmak, ince ayar seçeneklerinizi yerleşik Azure OpenAI ince ayar işlevselliğiyle sınırlar.
Model barındırma ve çıkarım platformuyla ilgili dikkat edilmesi gerekenler
Model barındırma ve çıkarım işlevleri, yapay zeka iş yükünün hizmet katmanını oluşturur. Bu işlevler, kullandığınız yazılıma özgü uç noktalarla gerçekleştirilir. NVIDIA Triton, TorchServe ve TensorFlow Hizmeti gibi model sunan yazılım çözümleri temelde API'ye sahip bir modelin önünde duran ve çözüme özgü işlevler ekleyen Python SDK'larıdır. Tercih ettiğiniz yazılıma göre barındırma platformunuzu seçebilir veya tercih ettiğiniz barındırma platformuna göre yazılımınızı seçebilirsiniz.
Azure OpenAI'de bulunan büyük dil modelleri gibi önceden paketlenmiş modellerle SaaS veya PaaS çözümlerini kullandığınızda, bir hizmet yazılımı seçme fırsatınız az veya hiç değildir. Bunun yerine, kullandığınız hizmet bir API sağlar. Bu, avantaj ve dezavantajlar sağlayabilecek bir model dağıtımı oluşturma sürecinde esnekliği azaltır. Örneğin, iş yükünüzün geliştirme sürecini kolaylaştırabilir. Öte yandan, uygulamanızın modeli çağırma ve modelle etkileşim kurma esnekliğini azaltır.
Temel olarak, hizmet katmanının API'leri mikro hizmetlerdir, bu nedenle ortamınızdaki diğer mikro hizmetler için izlediğiniz bu API'ler için de aynı uygulamaları izlemeniz gerekir. Bunlar kapsayıcılı olmalı, diğer hizmetlerden bölmeli olmalı ve diğer hizmetlerden ve API'lerden bağımsız kendi yaşam döngülerine sahip olmalıdır. Bununla birlikte, katman API'lerine hizmet eden bu hizmet genellikle geleneksel API'lere göre önemli ölçüde daha fazla GPU tabanlı işlem gücü ve daha büyük kapsayıcı görüntüleri gerektirir.
Bu bölüm, bir model barındırma ve çıkarım platformu seçtiğinizde dikkate almanız gereken özellikler hakkında rehberlik sağlar.
İşlev gereksinimleri
Platformları model barındırma ve çıkarım için değerlendirirken şu soruları göz önünde bulundurun:
İş yükünüz toplu veya çevrimiçi çıkarım gerektiriyor mu?
Çıkarım uç noktaları toplu işlem veya çevrimiçi çıkarım işlemleri için kullanılır ve çıkarım yöntemi doğru barındırma platformunun belirlenmesine yardımcı olur. Toplu çıkarım, en iyi şekilde geçici kullanımı destekleyen ve kullanılmadığında işlemin kapatılmasına izin veren bir platformda barındırılır. Çevrimiçi çıkarım en iyi şekilde esnek işlem kullanımını destekleyen ve belirli bir zamanda yüke göre otomatik olarak ölçeklendirilen bir platformda barındırılır.
Platform izlenebilirliği destekliyor mu?
İzlenebilirlik, iş yükünüzde kullanılan modellerin bütünlüğünü korumak için kritik önem taşır. Geçerli sürüm, onu dağıtan kişi, ne zaman dağıtıldığı ve modelin veri kökeni gibi model hakkındaki bilgileri bilmek önemlidir.
Model barındırma hizmetinizin ekibin kolayca tanımlayabildiği belirli bir sürümü çektiğinden emin olmak için kapsayıcı kayıt defterinizdeki görüntülere anlamlı etiketler uygulayın. Bu yaklaşım, üretimde eski veya yanlış modellerin kullanılma riskini azaltarak veri idaresine yardımcı olur.
Barındırma platformunuz merkezi bir kaynak mı olacak?
Birçok kuruluş, kendi iş yükleri için farklı ekipler tarafından kullanılan merkezi bir model barındırma platformu kullanır. Barındırma platformunuz merkeziyse geri ödeme için desteğe ihtiyacınız olup olmadığını göz önünde bulundurmalısınız. Bu işlevsellik, ekip ve iş yüküne göre platform kullanımını izlemenizi sağlar.
İşlevsel olmayan gereksinimler
Şu soruları da göz önünde bulundurun:
Platform için güvenilirlik gereksinimleri nelerdir?
Hizmet katmanı API'leri üretim kaynaklarıdır, bu nedenle onlara, kritiklik derecelendirmesine uyan diğer iş yükü akışlarına uyguladığınız güvenilirlik gereksinimlerini uygulamalısınız. Kritiklik düzeyi yüksek kullanılabilirlik gerektiriyorsa barındırma platformunuzun kullanılabilirlik alanlarını veya çoklu bölge tasarımını desteklemesi gerekir.
Platform için hangi ağ denetimleri gereklidir?
Platform için koruma sağlamak için özel ağa mı yoksa çıkış güvenlik duvarına mı ihtiyacınız olduğunu belirleyin.
Platform için kimlik ve erişim güvenlik gereksinimleri nelerdir?
Uç noktalarınız için gereken kimlik ve erişim denetimlerini belirleyin. Kimlik ve erişim platformunuz için yerel rol tabanlı erişim denetimine (RBAC) veya yerleşik desteğe (örneğin, Microsoft Entra Id) ihtiyacınız olup olmadığını göz önünde bulundurun.
Platform hangi izleme özelliklerini destekler?
Uç noktalarınız için gerekli izleme özelliklerini belirleyin. Platforma bağlı olarak günlüklere ve ölçümlere sınırlı erişiminiz olabilir ve bu da etkinlikleri denetleme veya arızaları algılama yeteneğinizi sınırlayabilir.
Platform için performans gereksinimleri nelerdir?
Çıkarım gecikmesi sık karşılaşılan bir konudur ve farklı platformların farklı performans profilleri vardır. Yardımcı program modeli kullanan sunucusuz ve PaaS hizmetleri gürültülü komşu sorunundan etkilenebilir ve genellikle aktarım hızı garantisi yoktur. Öte yandan, aynı platformlar önceden satın alma modeliyle garantili aktarım hızı sağlayan şirket içinde barındırılan bir seçenek sunabilir. Daha öngörülebilir gecikme süresi davranışı için Kubernetes'te kendi kendine barındırmayı da düşünebilirsiniz.
Azure OpenAI için olduğu gibi performansınızı etkileyebilecek hizmet sınırlarını ve kotalarını unutmayın. Bu kotalar ve sınırlar genellikle kapasite taleplerini karşılayacak şekilde kararlı bir şekilde ayarlanır, bu nedenle platform seçiminiz gereken performansı sağlamıyorsa işlem talebini örneklere yaymak için stratejiler benimsemeniz gerekebilir.
Gelişmiş mimariler birden çok dağıtımı birleştirerek iş yükünün büyük bir kısmı için sabit aktarım hızı ve daha esnek bir işlem için ani artış özellikleri elde edebilir.
Araçlar
Toplu çıkarım
Databricks gibi model barındırmayı destekleyen bir platformda bulunan veriler üzerinde çıkarım yapıyorsanız, çıkarım için bu platformu kullanmayı göz önünde bulundurun. Çıkarım işlemini veri platformu tarafından gerçekleştirilen diğer işlevlerden yalıtmaya özen gösterin.
Temel modeller için Azure OpenAI Batch API'sini öneririz.
Temel olmayan modeller için şu önerileri göz önünde bulundurun:
Aşağıdaki senaryolar için Azure Machine Learning toplu iş uç noktalarını kullanmayı göz önünde bulundurun:
Birden çok dosyaya dağıtılmış büyük bir veri kümesinde çıkarım yapmanız gerekir ve düşük gecikme süresi gerektirmez.
Büyük veri kümeleri üzerinde uzun süre çalışan toplu işlemler gerçekleştirmeniz gerekir ve paralelleştirmeden yararlanabilirsiniz.
Toplu işlem için işlem hattı bileşenlerini dağıtmanız gerekir.
Dağıtılmış veri işleme için Spark işleri çalıştırmanız gerekiyorsa Azure Synapse Analytics, Databricks veya Machine Learning sunucusuz Spark işlemini kullanmayı göz önünde bulundurun.
Bu senaryolardan hiçbiri geçerli değilse Machine Learning toplu iş uç noktalarını öneririz.
Çevrimiçi çıkarım
Platform PaaS ve sunucusuz çözümleri ilk adım olarak değerlendirin. Bu hizmetler genellikle benimsemesi ve yönetmesi en kolay hizmetlerdir çünkü tasarımınızı basitleştirir ve operasyonel yükü en aza indirir. Örneğin Azure OpenAI, temel modeller için iyi bir seçimdir.
- Azure OpenAI veya başka bir temel model barındırma çözümü kullanıyor olsanız bile uç nokta erişimini toplamak için Azure Machine Learning Sunucusuz API'sini kullanmayı göz önünde bulundurun.
PaaS veya sunucusuz çözümler en uygun çözümler olmadığında yönetilen işlem kümeleri ile Machine Learning'i göz önünde bulundurun. Machine Learning tarafından yönetilen işlem, A/B testi, hata ayıklama ve sağlam denetim için trafiği bölmeyi ve yansıtmayı destekler. İşlem hizmet tarafından yönetildiğinden, modelinizi kendi kendine barındırdığınızda 2. Gün işlemleri daha kolaydır. Yönetilen işlem ayrıca çok çeşitli işlem yapılandırmaları ve ölçeklendirme özellikleri sunar.
Modelinizi Machine Learning'e veya başka bir kapsayıcı tabanlı platforma bağlı bir Azure Kubernetes Service (AKS) kümesinde kendi kendine barındırmayı seçerseniz, tahmin edilebilir performans elde etmek ve güvenliği iyileştirmek için düğüm havuzunun diğer API'lerden veya kümedeki diğer iş yüklerinden yalıtıldığından emin olun. Maliyetleri azaltmak için yapay zeka iş yükü işlevleriniz dışında herhangi bir şey için GPU tabanlı veya GPU için iyileştirilmiş işlem kullanmaktan kaçının. Bunun yerine, fazla sağlama yapmadan performans gereksinimlerinizi karşılamak için test ederek performans temelinizi oluşturun ve işlem doğru boyutlandırın.
Azure Veri Bilimi Sanal Makinesi gibi hizmet olarak altyapı (IaaS) çözümlerini kullanarak da modelinizi kendi kendine barındırabilirsiniz.
Düzenleme platformu için dikkat edilmesi gerekenler
Yapay zeka iş yükü uygulama platformları bağlamında düzenleme, Machine Learning ve Azure AI Foundry portalı'nde istem akışı gibi araçları ifade eder. Bu araçlar, birçok yaygın iş akışı işlevini otomatikleştirerek yapay zeka uygulamalarının geliştirme döngüsünün tamamını kolaylaştıracak şekilde tasarlanmıştır.
İşlevsel olmayan gereksinimler
Bulut varlığınızdaki diğer tüm üretim iş yüklerinde olduğu gibi, düzenleme araçlarını değerlendirirken şunları göz önünde bulundurmanız gerekir:
Güvenilirlik, güvenlik ve izleme. Düzenleme araçları, üretim iş yükleri için güvenilirlik, güvenlik ve izleme standartlarına uymalıdır.
Performans. Düzenleme araçları GPU için iyileştirilmiş veya GPU tabanlı işlem gerektirmez, genel amaçlı SKU'ları göz önünde bulundurun.
Maliyet iyileştirme. Düzenleme araçları her zaman açık, kullanım maliyetlerini en aza indirmek için esnek işlem seçeneklerini göz önünde bulundurun.
Araçlar
İstem akışı gibi kullanıma açık bir çözümü tercih edin. LangChain veya Semantik Çekirdek gibi araçlarla özel barındırmayı incelemeden önce özelliklerinin düzenleme gereksinimlerinizle eşleşip eşleşmediğini belirleyin.
İşlem örnekleriyle Machine Learning'de veya kendi kendine barındırma ile AKS'de istem akışı gibi çözümler için konak uç noktaları.