Aracılığıyla paylaş


Azure OpenAI Hizmetinde Sağlanan Dağıtımları kullanmaya başlama

Aşağıdaki kılavuz, Azure OpenAI Hizmeti kaynağınızla sağlanan bir dağıtımı ayarlama işleminde size yol gösterir.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun
  • İstenen Azure aboneliğinde Azure OpenAI'ye erişim izni verilir. Şu anda bu hizmete erişim uygulamaya göredir. adresinden formu https://aka.ms/oai/accesstamamlayarak Azure OpenAI Hizmeti'ne erişim için başvurabilirsiniz.
  • Sağlanan dağıtım için Kota elde edildi ve bir taahhüt satın alındı.

Not

Sağlanan Aktarım Hızı Birimleri (PTU), Azure OpenAI'deki standart kotadan farklıdır ve varsayılan olarak kullanılamaz. Bu teklif hakkında daha fazla bilgi edinmek için Microsoft Hesabı Ekibinize başvurun.

Sağlanan dağıtımınızı oluşturma

Kotanızda bir taahhüt satın aldıktan sonra bir dağıtım oluşturabilirsiniz. Sağlanan dağıtım oluşturmak için şu adımları izleyebilirsiniz; açıklanan seçenekler, ekran görüntüsünde gösterilen girdileri yansıtır.

Screenshot of the Azure OpenAI Studio deployment page for a provisioned deployment.

  1. Azure OpenAI Studio'da oturum açın
  2. Sağlanan dağıtımlar için etkinleştirilen aboneliği seçin ve kotaya sahip olduğunuz bir bölgede istediğiniz kaynağı seçin.
  3. Sol gezinti bölmesindeki Yönetim'in altında Dağıtımlar'ı seçin.
  4. Yeni dağıtım oluştur'u seçin ve aşağıdaki alanları yapılandırın. 'Gelişmiş seçenekler' açılan listesini genişletin.
  5. Her alandaki değerleri doldurun. Bir örnek aşağıda verilmiştir:
Alan Veri Akışı Açıklaması Örnek
Bir model seçin Dağıtmak istediğiniz modeli seçin. GPT-4
Model sürümü Dağıtılacak modelin sürümünü seçin. 0613
Dağıtım Adı Dağıtım adı, kodunuzda istemci kitaplıklarını ve REST API'lerini kullanarak modeli çağırmak için kullanılır. gpt-4
İçerik filtresi Dağıtıma uygulanacak filtreleme ilkesini belirtin. İçerik Filtreleme nasıl yapılır makalemiz hakkında daha fazla bilgi edinin. Varsayılan
Dağıtım Türü Bu, aktarım hızını ve performansı etkiler. Sağlanan dağıtımınız için Sağlanan-Yönetilen'i seçin Sağlanan-Yönetilen
Sağlanan Aktarım Hızı Birimleri Dağıtıma eklemek istediğiniz aktarım hızı miktarını seçin. 100

Dağıtımınızı program aracılığıyla oluşturmak istiyorsanız, bunu aşağıdaki Azure CLI komutuyla yapabilirsiniz. öğesini sku-capacity sağlanan aktarım hızı birimlerinin istenen sayısıyla güncelleştirin.

az cognitiveservices account deployment create \
--name <myResourceName> \
--resource-group <myResourceGroupName> \
--deployment-name MyModel \
--model-name GPT-4 \
--model-version 0613  \
--model-format OpenAI \
--sku-capacity 100 \
--sku-name ProvisionedManaged

REST, ARM şablonu, Bicep ve Terraform da dağıtım oluşturmak için kullanılabilir. Yönetim Kotası nasıl yapılır kılavuzunda dağıtımları otomatikleştirme bölümüne bakın ve öğesini "Standart" yerine "ProvisionedManaged" ile değiştirinsku.name.

İlk aramalarınızı yapma

Sağlanan dağıtımlar için çıkarım kodu, standart dağıtım türüyle aynıdır. Aşağıdaki kod parçacığı bir GPT-4 modeline yapılan sohbet tamamlama çağrısını gösterir. Bu modelleri program aracılığıyla ilk kez kullandığınızda, hızlı başlangıç kılavuzumuzdan başlamanızı öneririz. Kitaplık içinde yeniden deneme mantığını içerdiğinden, OpenAI kitaplığını sürüm 1.0 veya üzeri ile kullanmanız önerimizdir.

    #Note: The openai-python library support for Azure OpenAI is in preview. 
    import os
    from openai import AzureOpenAI

    client = AzureOpenAI(
        azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"), 
        api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
        api_version="2024-02-01"
    )

    response = client.chat.completions.create(
        model="gpt-4", # model = "deployment_name".
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
            {"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
            {"role": "user", "content": "Do other Azure AI services support this too?"}
        ]
    )

    print(response.choices[0].message.content)

Önemli

Üretim için Azure Key Vault gibi kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Kimlik bilgisi güvenliği hakkında daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.

Beklenen aktarım hızını anlama

Uç noktada elde edilebilecek aktarım hızı miktarı dağıtılan PTU sayısı, giriş boyutu, çıkış boyutu ve çağrı hızının bir faktörüdür. eş zamanlı çağrıların ve işlenen toplam belirteçlerin sayısı bu değerlere göre farklılık gösterebilir. Dağıtımınız için aktarım hızını belirlemenin önerilen yolu aşağıdaki gibidir:

  1. Boyutlandırma tahmini için Kapasite hesaplayıcısını kullanın. Kapasite hesaplayıcısını Azure OpenAI Studio'da kotalar sayfasının ve Sağlanan sekmesinin altında bulabilirsiniz.
  2. Gerçek trafik iş yükünü kullanarak yükü karşılaştırma. Karşılaştırma hakkında daha fazla bilgi için karşılaştırma bölümüne bakın.

Dağıtım kullanımınızı ölçme

Belirtilen sayıda sağlanan aktarım hızı birimi (PTU) dağıttığınızda, bu uç nokta için belirli bir çıkarım aktarım hızı miktarı sağlanır. Bu aktarım hızının kullanımı modele, model sürümü çağrı hızına, istem boyutuna, oluşturma boyutuna dayalı karmaşık bir formüldür. Bu hesaplamayı basitleştirmek için Azure İzleyici'de bir kullanım ölçümü sunuyoruz. Kullanım %100'in üzerine çıktıktan sonra dağıtımınız yeni çağrılarda 429 döndürür. Sağlanan kullanım aşağıdaki gibi tanımlanır:

PTU dağıtım kullanımı = (Zaman aralığında tüketilen PTU'lar) / (Zaman aralığında dağıtılan PTU'lar)

Kullanım ölçüsünü kaynağınızın Azure-İzleyici bölümünde bulabilirsiniz. 'de oturum açan izleme panolarına erişmek için https://portal.azure.comAzure OpenAI kaynağınıza gidin ve sol gezinti bölmesinden Ölçümler sayfasını seçin. Ölçümler sayfasında 'Sağlanan yönetilen kullanım' ölçüsünü seçin. Kaynakta birden fazla dağıtımınız varsa, 'Bölmeyi Uygula' düğmesine tıklayarak değerleri her dağıtıma göre de bölmeniz gerekir.

Screenshot of the provisioned managed utilization on the resource's metrics blade in the Azure portal.

Dağıtımlarınızı izleme hakkında daha fazla bilgi için Bkz . Azure OpenAI Hizmetini İzleme sayfası.

Yüksek kullanımı işleme

Sağlanan dağıtımlar, belirli bir modeli çalıştırmak için ayrılmış miktarda işlem kapasitesi sağlar. Azure İzleyici'deki 'Sağlanan-Yönetilen Kullanım' ölçümü, dağıtımın kullanımını bir dakikalık artışlarla ölçer. Sağlanan Yönetilen dağıtımlar da iyileştirilir, böylece kabul edilen çağrılar tutarlı bir çağrı başına maksimum gecikme süresiyle işlenir. İş yükü ayrılmış kapasitesini aştığında, kullanım %100'in altına düşene kadar hizmet 429 HTTP durum kodu döndürür. Yeniden denemeden önceki süre, saniye ve milisaniye cinsinden süreyi sağlayan ve retry-after-ms yanıt üst bilgilerinde sağlanırretry-after. Bu yaklaşım, geliştiriciye yüksek yük durumlarının nasıl işleneceğini (örneğin, yeniden deneme veya başka bir deneyime/uç noktaya yönlendirme) denetlemesini sağlarken çağrı başına gecikme hedeflerini korur.

429 yanıtı alırsam ne yapmalıyım?

429 yanıtı, ayrılan PTU'ların çağrı sırasında tamamen tüketildiğini gösterir. Yanıt, bir sonraki çağrı kabul retry-after-ms edilmeden önce beklenecek zamanı belirten ve retry-after üst bilgilerini içerir. 429 yanıtını işlemeyi nasıl seçeceğiniz uygulama gereksinimlerinize bağlıdır. Dikkat edilmesi gereken bazı noktalar şunlardır:

  • Daha uzun çağrı başına gecikme süreleriyle ilgili sorun yaşıyorsanız, süreyi beklemek retry-after-ms ve yeniden denemek için istemci tarafı yeniden deneme mantığını uygulayın. Bu yaklaşım, dağıtımdaki aktarım hızını en üst düzeye çıkarmanızı sağlar. Microsoft tarafından sağlanan istemci SDK'ları bunu zaten makul varsayılan değerlerle işler. Kullanım örneklerinize göre daha fazla ayarlama yapmanız gerekebilir.
  • Trafiği diğer modellere, dağıtımlara veya deneyimlere yeniden yönlendirmeyi göz önünde bulundurun. Bu yaklaşım en düşük gecikme süresi çözümüdür çünkü 429 sinyalini alır almaz bu işlem yapılabilir. 429 sinyali, yüksek kullanıma gönderilirken beklenmeyen bir hata yanıtı değildir, bunun yerine sağlanan dağıtımlar için kuyruğa alma ve yüksek yük yönetimi tasarımının bir parçasıdır.

İstemci kitaplıkları içinde yeniden deneme mantığını değiştirme

Azure OpenAI SDK'ları 429 yanıtlarını varsayılan olarak ve istemcide arka planda yeniden dener (en fazla yeniden deneme sayısı). Kitaplıklar zamana saygı gösterir retry-after . Ayrıca, yeniden deneme davranışını deneyiminiz için daha iyi olacak şekilde değiştirebilirsiniz. Python kitaplığıyla ilgili bir örnek aşağıda verilmiştır.

Yeniden deneme ayarlarını yapılandırmak veya devre dışı bırakmak için seçeneğini kullanabilirsiniz max_retries :

from openai import AzureOpenAI

# Configure the default for all requests:
client = AzureOpenAI(
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),
    api_version="2024-02-01",
    max_retries=5,# default is 2
)

# Or, configure per-request:
client.with_options(max_retries=5).chat.completions.create(
    model="gpt-4", # model = "deployment_name".
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
        {"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
        {"role": "user", "content": "Do other Azure AI services support this too?"}
    ]
)

Karşılaştırma çalıştırma

Örneğinizin tam performans ve aktarım hızı özellikleri, yaptığınız isteklerin türüne ve tam iş yüküne bağlıdır. İş yükünüz için aktarım hızını belirlemenin en iyi yolu, kendi verileriniz üzerinde bir karşılaştırma çalıştırmaktır.

Bu çalışmada size yardımcı olmak için karşılaştırma aracı, dağıtımınız üzerinde karşılaştırmaları kolayca çalıştırmanın bir yolunu sağlar. Araç, birkaç olası önceden yapılandırılmış iş yükü şekliyle birlikte gelir ve temel performans ölçümlerini oluşturur. GitHub Depomuzda araç ve yapılandırma ayarları hakkında daha fazla bilgi edinin: https://aka.ms/aoai/benchmarking.

Aşağıdaki iş akışını öneririz:

  1. Kapasite hesaplayıcısını kullanarak aktarım hızı PTU'larınızı tahmin edin.
  2. Sonuçları düzenli bir durumda gözlemlemek için bu trafik şekliyle uzun bir süre (10+ dakika) bir karşılaştırma çalıştırın.
  3. Karşılaştırma aracından ve Azure İzleyici'den kullanımı, işlenen belirteçleri ve çağrı hızı değerlerini gözlemleyin.
  4. İstemci uygulamanızı kullanarak kendi trafik şekliniz ve iş yükleriniz ile bir karşılaştırma çalıştırın. Azure Openai istemci kitaplığını veya özel mantığı kullanarak yeniden deneme mantığı uyguladığınızı unutmayın.

Sonraki Adımlar