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.
Yalnızca şunlar için geçerlidir:Dökümhane (klasik) portalı. Bu makale yeni Dökümhane portalında kullanılamaz.
Yeni portal hakkında daha fazla bilgi edinin.
Not
Bu makaledeki bağlantılar, şu anda görüntülediğiniz Dökümhane (klasik) belgeleri yerine yeni Microsoft Foundry belgelerinde içerik açabilir.
Microsoft Foundry portalı model kataloğu, üretim ortamlarında gerçek zamanlı çıkarım için yönetilen işlem (yönetilen çevrimiçi dağıtım olarak da adlandırılır) kullanarak dağıtabileceğiniz 1.600'den fazla model sunar. Yönetilen işlem dağıtımlarıyla, büyük dil modelleriniz için ölçeklenebilir, üretime hazır altyapıya sahip olursunuz.
Bu makalede, yönetilen işlem dağıtım seçeneğiyle modelleri dağıtmayı ve dağıtılan modelde çıkarım yapmayı öğreneceksiniz.
Önkoşullar
Geçerli bir ödeme yöntemine sahip Azure aboneliği. Ücretsiz veya deneme Azure abonelikler çalışmaz. Azure aboneliğiniz yoksa ücretli bir Azure hesabı oluşturun.
Bir projeniz yoksa merkez tabanlı bir proje oluşturun. Daha fazla bilgi için bkz. Proje oluşturma.
İş ortakları ve topluluktan gelen Foundry modelleri Azure Market’e erişim gerektirirken, Azure tarafından satılan Foundry modelleri bu gereksinime sahip değildir. Azure aboneliğinizin Azure Market model tekliflerine abone olmak için gereken izinlere sahip olduğundan emin olun. Daha fazla bilgi için bkz. Azure Market satın almalarını etkinleştirme.
Azure rol tabanlı erişim denetimleri (Azure RBAC), Foundry portalında işlemlere erişim izni verir. Bu makaledeki adımları gerçekleştirmek için kullanıcı hesabınıza kaynak grubunda Azure AI Developer rolü atanması gerekir. Daha fazla bilgi için bkz. Dökümhane portalında rol tabanlı erişim denetimi.
Modelinizi çalıştırmak için gereken belirli VM SKU'ları için Azure aboneliğinizdeki sanal makine (VM) kotası. Her dağıtım, bölge bazında VM çekirdek kotası kullanır. Daha fazla bilgi için bkz. Kota gereksinimleri ve artış isteme gibi kota konuları.
Python SDK'sı olan dağıtımlar için: Azure Machine Learning SDK (
azure-ai-ml) ve Azure Kimlik kitaplığı (azure-identity) dahil olmak üzere Python 3.8 veya üzeri yüklüdür.
Model kataloğunda modelinizi bulma
-
Microsoft Foundry oturum açın.
Yeni Dökümhane açma/kapama düğmesinin kapalı olduğundan emin olun.
Foundry (klasik) ile ilgili adımlar.
- Eğer henüz projenizi seçmediyseniz, şimdi seçin.
- Sol bölmeden Model kataloğu'nu seçin.
Dağıtım seçenekleri filtresinde Yönetilen işlem'i seçin.
Ipucu
Microsoft Foundry portalında sol bölmeyi
customize edebileceğinizden, bu adımlarda gösterilenden farklı öğeler görebilirsiniz. Aradığınızı görmüyorsanız ... seçeneğini belirleyin. Sol bölmenin en altında daha fazlası. Model kartını açmak için bir model seçin. Bu makalede, modelini
Phi-4kullanırsınız.
Modeli dağıtmak
Modelin sayfasında Bu modeli kullan'ı seçin. Seçilen model yalnızca yönetilen bir işleme dağıtılabiliyorsa bu eylem dağıtım penceresini açar.
Alternatif olarak, başka bir dağıtım seçeneğini de destekleyen bir model seçtiyseniz "Satın alma seçenekleri" penceresine gelirsiniz. Dağıtım penceresini açmak için Yönetilen İşlem satın alma seçeneğini belirleyin.
- Geçici paylaşılan kotayı kullanmak için dağıtım penceresinde onay kutusunu seçin. Kendi barındırdığınız yönetilen işlem birimine dağıtım yapmak için aboneliğinizde yeterli kotaya sahip olmalısınız. Yeterli kotanız yoksa, paylaşılan kota kullanmak istiyorum seçeneğini belirleyerek geçici kota erişimimizi kullanabilirsiniz ve bu uç noktanın 168 saat içinde silineceğini kabul ediyorum.
Dağıtım penceresi bazı seçimler ve parametre değerleriyle önceden doldurulur. Bunları istediğiniz gibi tutabilir veya değiştirebilirsiniz. Ayrıca dağıtım için mevcut bir uç noktayı seçebilir veya yeni bir uç nokta oluşturabilirsiniz. Bu örnek için örnek sayısını
1belirtin ve dağıtım için yeni bir uç nokta oluşturun.Dağıtımınızı oluşturmak için Dağıt'ı seçin. Oluşturma işleminin tamamlanması birkaç dakika sürebilir. Tamamlandığında portal model dağıtım sayfasını açar.
Ipucu
Projenize dağıtılan uç noktaları görmek için sol bölmenin Varlıklarım bölümüne gidin ve Modeller + uç noktalar'ı seçin.
Dağıtımınızın başarılı olduğunu doğrulayın. Dağıtım ayrıntıları sayfasında Sağlama durumununBaşarılı ve Dağıtım durumununsağlıklı olarak gösterildiğini denetleyin. Herhangi bir hata görürseniz Sorun Giderme bölümüne bakın.
Oluşturulan uç nokta yetkilendirme için anahtar kimlik doğrulamasını kullanır. Belirli bir uç noktayla ilişkili anahtarları almak için şu adımları izleyin:
- Dağıtımı seçin ve uç noktanın Hedef URI'sini ve Anahtarını not edin.
- Dağıtımı çağırmak ve tahminler oluşturmak için bu kimlik bilgilerini kullanın.
Hedef URI şu biçimi izler:
https://<endpoint-name>.<region>.inference.ml.azure.com/score
Dağıtımları kullanma
Dağıtımınızı tamamladıktan sonra onu kullanmak için şu adımları izleyin:
- Foundry projenizin Varlıklarım bölümünde Modeller + uç noktalar'ı seçin.
- Model dağıtımları sekmesinden dağıtımınızı seçin.
- Uç noktaya örnek çıkarım için Test sekmesine gidin.
- Kodla çıkarım çalıştırmak için kullanabileceğiniz dağıtımın "Hedef URI'sini" kopyalamak için Ayrıntılar sekmesine dönün.
- Tüketime yönelik kod örneklerini bulmak için dağıtımın Kullan sekmesine gidin.
- Seçtiğiniz modelin ayrıntılar sayfasından model kimliğini kopyalayın. Seçili model için şöyle görünür:
azureml://registries/azureml/models/Phi-4/versions/8.
Modeli dağıtmak
Azure Machine Learning SDK'sını yükleyin.
pip install azure-ai-ml pip install azure-identityAzure Machine Learning ile kimlik doğrulaması yapın ve bir istemci nesnesi oluşturun. Yer tutucuları abonelik kimliğinizle, kaynak grubu adınızla ve Foundry proje adınızla değiştirin.
from azure.ai.ml import MLClient from azure.identity import InteractiveBrowserCredential workspace_ml_client = MLClient( credential=InteractiveBrowserCredential(), subscription_id="your subscription ID goes here", resource_group_name="your resource group name goes here", workspace_name="your project name goes here", )Bu kod, etkileşimli tarayıcı kimlik bilgilerini kullanarak Azure kimlik doğrulaması yapar ve Foundry projenizle etkileşime geçmek için bir istemci oluşturur. Bu kodu çalıştırdığınızda, kimlik doğrulaması için bir tarayıcı penceresi açılır.
Reference:MLClient, InteractiveBrowserCredential
Uç nokta oluştur. Yönetilen işlem dağıtımı seçeneği için model dağıtımından önce bir uç nokta oluşturmanız gerekir. Uç noktayı birden çok model dağıtımını barındırabilen bir kapsayıcı olarak düşünün. Uç nokta adlarının bir bölgede benzersiz olması gerekir, bu nedenle bu örnekte benzersiz bir uç nokta adı oluşturmak için zaman damgasını kullanın.
import time, sys from azure.ai.ml.entities import ( ManagedOnlineEndpoint, ManagedOnlineDeployment, ProbeSettings, ) # Make the endpoint name unique timestamp = int(time.time()) online_endpoint_name = "customize your endpoint name here" + str(timestamp) # Create an online endpoint endpoint = ManagedOnlineEndpoint( name=online_endpoint_name, auth_mode="key", ) workspace_ml_client.online_endpoints.begin_create_or_update(endpoint).wait()Bu kod, anahtar tabanlı kimlik doğrulaması ile yönetilen bir çevrimiçi uç nokta oluşturur. İşlem genellikle 2-3 dakika sürer. Tamamlandığında, modelleri dağıtabileceğiniz bir uç nokta URL'niz olur.
Başvuru:ManagedOnlineEndpoint, online_endpoints.begin_create_or_update
Dağıtım oluştur. Sonraki koddaki model kimliğini Model kataloğunda modelinizi bulma bölümünde seçtiğiniz modelin ayrıntılar sayfasından kopyaladığınız model kimliğiyle değiştirin.
model_name = "azureml://registries/azureml/models/Phi-4/versions/8" demo_deployment = ManagedOnlineDeployment( name="demo", endpoint_name=online_endpoint_name, model=model_name, instance_type="Standard_DS3_v2", instance_count=2, liveness_probe=ProbeSettings( failure_threshold=30, success_threshold=1, timeout=2, period=10, initial_delay=1000, ), readiness_probe=ProbeSettings( failure_threshold=10, success_threshold=1, timeout=10, period=10, initial_delay=1000, ), ) workspace_ml_client.online_deployments.begin_create_or_update(demo_deployment).wait() endpoint.traffic = {"demo": 100} workspace_ml_client.online_endpoints.begin_create_or_update(endpoint).result()Bu kod, modeli 2 Standard_DS3_v2 VM örneğiyle uç noktanıza dağıtır. Dağıtım, sistem durumu izleme için canlılık ve hazırlık yoklamalarını içerir. Bu dağıtım için trafik 100% olarak ayarlanmıştır. İşlemin tamamlanması birkaç dakika sürer. İşiniz bittiğinde modeliniz çıkarım isteklerini kabul etmeye hazır olur.
Referans:ManagedOnlineDeployment, ProbeSettings, online_deployments.begin_create_or_update
Dağıtımda çıkarım gerçekleştirme
Çıkarımı test etmek için örnek JSON verilerine ihtiyacınız vardır. Çalışma dizininizde aşağıdaki içeriğe sahip adlı
sample_score.jsonbir dosya oluşturun:{ "inputs": { "question": [ "Where do I live?", "Where do I live?", "What's my name?", "Which name is also used to describe the Amazon rainforest in English?" ], "context": [ "My name is Wolfgang and I live in Berlin", "My name is Sarah and I live in London", "My name is Clara and I live in Berkeley.", "The Amazon rainforest (Portuguese: Floresta Amaz\u00f4nica or Amaz\u00f4nia; Spanish: Selva Amaz\u00f3nica, Amazon\u00eda or usually Amazonia; French: For\u00eat amazonienne; Dutch: Amazoneregenwoud), also known in English as Amazonia or the Amazon Jungle, is a moist broadleaf forest that covers most of the Amazon basin of South America. This basin encompasses 7,000,000 square kilometres (2,700,000 sq mi), of which 5,500,000 square kilometres (2,100,000 sq mi) are covered by the rainforest. This region includes territory belonging to nine nations. The majority of the forest is contained within Brazil, with 60% of the rainforest, followed by Peru with 13%, Colombia with 10%, and with minor amounts in Venezuela, Ecuador, Bolivia, Guyana, Suriname and French Guiana. States or departments in four nations contain \"Amazonas\" in their names. The Amazon represents over half of the planet's remaining rainforests, and comprises the largest and most biodiverse tract of tropical rainforest in the world, with an estimated 390 billion individual trees divided into 16,000 species." ] } }sample_score.jsonile çıkarım. Bir sonraki kodda puanlama dosyasının konumunu, örnek JSON dosyanızı kaydettiğiniz yere göre değiştirin.import json scoring_file = "./sample_score.json" response = workspace_ml_client.online_endpoints.invoke( endpoint_name=online_endpoint_name, deployment_name="demo", request_file=scoring_file, ) response_json = json.loads(response) print(json.dumps(response_json, indent=2))Bu kod, örnek soruları ve bağlamı dağıtılan modelinize gönderir ve yanıtları yazdırır. Model, sağlanan bağlamdan ilgili metni ayıklayarak soru yanıtlama gerçekleştirir. Beklenen çıkış, her soru için yanıt metnini ve güvenilirlik puanlarını içerir.
Referans:online_endpoints.invoke
Otomatik ölçeklendirmeyi yapılandırma
Dağıtımlar için otomatik ölçeklendirmeyi yapılandırmak için şu adımları izleyin:
- Azure portalında oturum açın.
- AI projesinin kaynak grubuna dağıtılan modelin
Machine learning online deploymentAzure kaynak türünü bulun. - Sol bölmeden Ayarlar>Ölçeklendirme'yi seçin.
- Özel otomatik ölçeklendirme'yi seçin ve otomatik ölçeklendirme ayarlarını yapılandırın. Otomatik ölçeklendirme hakkında daha fazla bilgi için Azure Machine Learning belgelerindeki Autoscale online endpoints bölümüne bakın.
Dağıtımı sil
Dökümhane portalında dağıtımları silmek için dağıtım ayrıntıları sayfasının üst panelinde Dağıtımı sil'i seçin.
Kotayla ilgili dikkat edilmesi gerekenler
Gerçek zamanlı uç noktalarla dağıtım ve çıkarım yapmak için, Azure'un aboneliğinize bölge başına atadığı Sanal Makine (VM) çekirdek kotasını tüketirsiniz. Foundry'ye kaydolduğunda, bölgede kullanılabilen birkaç VM ailesi için varsayılan VM kotası alırsınız. Kota sınırınıza ulaşana kadar dağıtım oluşturmaya devam edebilirsiniz. Bu durumda kota artışı isteyebilirsiniz.
Sorun giderme
Bu bölümde, yönetilen işlemle modelleri dağıtırken karşılaşabileceğiniz yaygın sorunların çözümleri sağlanır.
Kota aşıldı hatasıyla dağıtım başarısız oluyor
Sorunu: Dağıtım oluştururken kotanın yetersiz olduğunu belirten bir hata alıyorsunuz.
Çözüm:
- aboneliğinizin kota ayarları altındaki Azure portalında geçerli kota kullanımınızı denetleyin
- İhtiyacınız olan vm SKU'su için Azure portalı üzerinden kota artışı isteyin
- Kullanılabilir kotaya sahip farklı bir VM SKU'su kullanmayı göz önünde bulundurun
- Ayrıntılı yönergeler için bkz. Azure Machine Learning ile kaynaklar için kotaları yönetme ve artırma
Uç nokta çağrılırken kimlik doğrulama hataları
Sorun: Dağıtılan uç noktayı çağırdığınızda kimlik doğrulama hataları (401 Yetkisiz) alıyorsunuz.
Çözüm:
- Dağıtım ayrıntıları sayfasından doğru uç nokta URI'sini ve kimlik doğrulama anahtarını kullandığınızı doğrulayın
- Anahtarı kopyaladığınızdan beri yeniden üretilmemiş olup olmadığını denetleyin
- Azure RBAC izinlerinizin değişmediğinden emin olun
- SDK çağrıları için kimlik bilgisi nesnenizin düzgün başlatıldığını onaylayın
Dağıtım sağlama başarısız oluyor veya zaman aşımına uğradı
Sorun: Dağıtım uzun süre hazırlama durumunda kalır veya zaman aşımı hatasıyla başarısız olur.
Çözüm:
- Belirli hata iletileri için Foundry portalındaki dağıtım günlüklerini denetleyin
- Hub'ınızın yönetilen ağ ayarlarının gerekli kaynaklara erişime izin verdiğini doğrulayın
- Model kimliğinin doğru olduğundan ve modelin katalogda hala kullanılabilir olduğundan emin olun
- Farklı bir VM SKU'su ile dağıtmayı veya örnek sayısını azaltmayı deneyin
Model beklenmeyen veya yanlış yanıtlar döndürüyor
Sorunu: Dağıtılan model yanıt verir ancak beklenmeyen sonuçlar döndürür.
Çözüm:
- Giriş veri biçiminizin modelin beklenen şemasıyla eşleştiğinden emin olun
- Giriş/çıkış belirtimleri için model kartı belgelerine bakın
- Modelin belgelerinde sağlanan örnek verilerle test etme
- Dökümhane portalının Test sekmesinde isteği ve yanıtı gözden geçirin
Ek sorun giderme yardımı için bkz. Çevrimiçi uç nokta dağıtımı sorunlarını giderme.
İlgili içerik
- Foundry'de neler yapabileceğiniz hakkında daha fazla bilgi edinin
- Azure AI SSS makalesinde sık sorulan soruların yanıtlarını alın