Mengelola kuota Layanan Azure OpenAI

Kuota memberikan fleksibilitas untuk secara aktif mengelola alokasi batas tarif di seluruh penyebaran dalam langganan Anda. Artikel ini menjelaskan proses pengelolaan kuota Azure OpenAI Anda.

Prasyarat

Penting

Melihat kuota dan menyebarkan model memerlukan peran Pembaca Penggunaan Cognitive Services. Peran ini menyediakan akses minimal yang diperlukan untuk melihat penggunaan kuota di seluruh langganan Azure. Untuk mempelajari selengkapnya tentang peran ini dan peran lain yang anda perlukan untuk mengakses Azure OpenAI, lihat panduan akses berbasis peran Azure (Azure RBAC) kami.

Peran ini dapat ditemukan di portal Azure di bawah Kontrol akses Langganan>(IAM)>Menambahkan pencarian penetapan> peran untuk Pembaca Penggunaan Cognitive Services. Peran ini harus diterapkan di tingkat langganan, peran tersebut tidak ada di tingkat sumber daya.

Jika Anda tidak ingin menggunakan peran ini, peran Pembaca langganan akan memberikan akses yang setara, tetapi juga akan memberikan akses baca di luar cakupan apa yang diperlukan untuk melihat kuota dan penyebaran model.

Pengantar kuota

Fitur kuota Azure OpenAI memungkinkan penugasan batas tarif untuk penyebaran Anda, hingga batas global yang disebut "kuota" Anda. Kuota ditetapkan ke langganan Anda berdasarkan per wilayah per model dalam unit Token per Menit (TPM). Saat Anda melakukan onboarding langganan ke Azure OpenAI, Anda akan menerima kuota default untuk sebagian besar model yang tersedia. Kemudian, Anda akan menetapkan TPM ke setiap penyebaran saat dibuat, dan kuota yang tersedia untuk model tersebut akan dikurangi dengan jumlah tersebut. Anda dapat terus membuat penyebaran dan menetapkannya TPM hingga mencapai batas kuota Anda. Setelah itu terjadi, Anda hanya dapat membuat penyebaran baru model tersebut dengan mengurangi TPM yang ditetapkan ke penyebaran lain dari model yang sama (sehingga membebaskan TPM untuk digunakan), atau dengan meminta dan disetujui untuk peningkatan kuota model di wilayah yang diinginkan.

Catatan

Dengan kuota 240.000 TPM untuk GPT-35-Turbo di AS Timur, pelanggan dapat membuat satu penyebaran TPM 240K, 2 penyebaran masing-masing 120K TPM, atau sejumlah penyebaran dalam satu atau beberapa sumber daya Azure OpenAI selama TPM mereka menambahkan hingga kurang dari total 240K di wilayah tersebut.

Saat penyebaran dibuat, TPM yang ditetapkan akan langsung memetakan ke batas tarif token per menit yang diberlakukan pada permintaan inferensinya. Batas tarif Requests-Per-Minute (RPM) juga akan diberlakukan yang nilainya ditetapkan secara proporsional ke penugasan TPM menggunakan rasio berikut:

6 RPM per 1000 TPM.

Fleksibilitas untuk mendistribusikan TPM secara global dalam langganan dan wilayah telah memungkinkan Layanan Azure OpenAI untuk melonggarkan pembatasan lain:

  • Sumber daya maksimum per wilayah ditingkatkan menjadi 30.
  • Batas pembuatan tidak lebih dari satu penyebaran model yang sama dalam sumber daya telah dihapus.

Menetapkan kuota

Saat membuat penyebaran model, Anda memiliki opsi untuk menetapkan Tokens-Per-Menit (TPM) ke penyebaran tersebut. TPM dapat dimodifikasi dengan kenaikan 1.000, dan akan memetakan ke batas tarif TPM dan RPM yang diberlakukan pada penyebaran Anda, seperti yang dibahas di atas.

Untuk membuat penyebaran baru dari dalam Azure AI Studio di bawah Manajemen pilih Penyebaran>Buat penyebaran baru.

Opsi untuk mengatur TPM berada di bawah menu drop-down Opsi tingkat lanjut:

Screenshot of the deployment UI of Azure AI Studio

Pasca penyebaran, Anda dapat menyesuaikan alokasi TPM dengan memilih Edit penyebaran di bawah Penyebaran Manajemen>di Azure AI Studio. Anda juga dapat mengubah pilihan ini dalam pengalaman manajemen kuota baru di bawah Kuota Manajemen>.

Penting

Kuota dan batasan dapat berubah, untuk informasi terbaru, lihat artikel kuota dan batasan kami.

Pengaturan spesifik model

Penyebaran model yang berbeda, juga disebut kelas model memiliki nilai TPM maks unik yang sekarang dapat Anda kontrol. Ini mewakili jumlah maksimum TPM yang dapat dialokasikan untuk jenis penyebaran model tersebut di wilayah tertentu. Meskipun setiap jenis model mewakili kelas model uniknya sendiri, nilai TPM maks saat ini hanya berbeda untuk kelas model tertentu:

  • GPT-4
  • GPT-4-32K
  • Text-Davinci-003

Semua kelas model lainnya memiliki nilai TPM maks umum.

Catatan

Alokasi Token Kuota Per Menit (TPM) tidak terkait dengan batas token input maksimum model. Batas token input model ditentukan dalam tabel model dan tidak terpengaruh oleh perubahan yang dilakukan pada TPM.

Lihat dan minta kuota

Untuk tampilan semua alokasi kuota Anda di seluruh penyebaran di wilayah tertentu, pilih Kuota Manajemen>di Azure AI Studio:

Screenshot of the quota UI of Azure AI Studio

  • Nama Kuota: Ada satu nilai kuota per wilayah untuk setiap jenis model. Kuota mencakup semua versi model tersebut. Nama kuota dapat diperluas di UI untuk menunjukkan penyebaran yang menggunakan kuota.
  • Penyebaran: Penyebaran model dibagi berdasarkan kelas model.
  • Penggunaan/Batas: Untuk nama kuota, ini menunjukkan berapa banyak kuota yang digunakan oleh penyebaran dan total kuota yang disetujui untuk langganan dan wilayah ini. Jumlah kuota yang digunakan ini juga diwakili dalam grafik batang.
  • Minta Kuota: Ikon di bidang ini menavigasi ke formulir di mana permintaan untuk meningkatkan kuota dapat dikirimkan.

Memigrasikan penyebaran yang ada

Sebagai bagian dari transisi ke sistem kuota baru dan alokasi berbasis TPM, semua penyebaran model Azure OpenAI yang ada telah secara otomatis dimigrasikan untuk menggunakan kuota. Dalam kasus di mana alokasi TPM/RPM yang ada melebihi nilai default karena peningkatan batas tarif kustom sebelumnya, TPM yang setara ditetapkan ke penyebaran yang terkena dampak.

Memahami batas tarif

Menetapkan TPM ke penyebaran menetapkan batas tarif Tokens-Per-Minute (TPM) dan Requests-Per-Minute (RPM) untuk penyebaran, seperti yang dijelaskan di atas. Batas tarif TPM didasarkan pada jumlah maksimum token yang diperkirakan diproses oleh permintaan pada saat permintaan diterima. Ini tidak sama dengan jumlah token yang digunakan untuk penagihan, yang dihitung setelah semua pemrosesan selesai.

Saat setiap permintaan diterima, Azure OpenAI menghitung perkiraan jumlah token maksimum yang diproses yang mencakup hal berikut:

  • Teks dan hitungan perintah
  • Pengaturan parameter max_tokens
  • Pengaturan parameter best_of

Saat permintaan masuk ke titik akhir penyebaran, perkiraan jumlah token yang diproses maks ditambahkan ke jumlah token yang sedang berjalan dari semua permintaan yang diatur ulang setiap menit. Jika sewaktu-waktu selama menit tersebut, nilai batas tarif TPM tercapai, maka permintaan lebih lanjut akan menerima kode respons 429 hingga penghitung diatur ulang.

Batas tarif RPM didasarkan pada jumlah permintaan yang diterima dari waktu ke waktu. Batas tarif mengharapkan bahwa permintaan didistribusikan secara merata selama periode satu menit. Jika aliran rata-rata ini tidak dipertahankan, permintaan mungkin menerima respons 429 meskipun batas tidak terpenuhi saat diukur selama satu menit. Untuk menerapkan perilaku ini, Azure OpenAI Service mengevaluasi tingkat permintaan masuk selama jangka waktu kecil, biasanya 1 atau 10 detik. Jika jumlah permintaan yang diterima selama waktu tersebut melebihi apa yang akan diharapkan pada batas RPM yang ditetapkan, permintaan baru akan menerima kode respons 429 hingga periode evaluasi berikutnya. Misalnya, jika Azure OpenAI memantau tingkat permintaan pada interval 1 detik, maka pembatasan tarif akan terjadi untuk penyebaran 600 RPM jika lebih dari 10 permintaan diterima selama setiap periode 1 detik (600 permintaan per menit = 10 permintaan per detik).

Praktik terbaik batas tarif

Untuk meminimalkan masalah yang terkait dengan batas tarif, ada baiknya menggunakan teknik berikut:

  • Atur max_tokens dan best_of ke nilai minimum yang melayani kebutuhan skenario Anda. Misalnya, jangan tetapkan nilai token maks besar jika Anda mengharapkan respons Anda kecil.
  • Gunakan manajemen kuota untuk meningkatkan TPM pada penyebaran dengan lalu lintas tinggi, dan untuk mengurangi TPM pada penyebaran dengan kebutuhan terbatas.
  • Terapkan logika coba lagi di aplikasi Anda.
  • Hindari perubahan ekstrem dalam beban kerja. Tingkatkan beban kerja secara bertahap.
  • Uji pola peningkatan beban yang berbeda.

Mengotomatiskan penyebaran

Bagian ini berisi contoh templat singkat untuk membantu Anda mulai membuat penyebaran secara terprogram yang menggunakan kuota untuk mengatur batas tarif TPM. Dengan pengenalan kuota, Anda harus menggunakan versi 2023-05-01 API untuk aktivitas terkait manajemen sumber daya. Versi API ini hanya untuk mengelola sumber daya Anda, dan tidak memengaruhi versi API yang digunakan untuk melakukan inferensi panggilan seperti penyelesaian, penyelesaian obrolan, penyematan, pembuatan gambar, dll.

Penyebaran

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}?api-version=2023-05-01

Parameter jalur

Parameter Tipe Wajib diisi? Deskripsi
accountName string Wajib Nama Sumber Daya Azure OpenAI Anda.
deploymentName string Wajib Nama penyebaran yang Anda pilih saat menyebarkan model yang sudah ada atau nama yang Anda inginkan untuk dimiliki penyebaran model baru.
resourceGroupName string Wajib Nama grup sumber daya terkait untuk penyebaran model ini.
subscriptionId string Wajib ID Langganan untuk langganan terkait.
api-version string Wajib Versi API yang digunakan untuk operasi ini. Ini mengikuti format YYYY-MM-DD.

Versi yang didukung

Badan permintaan

Ini hanya subset dari parameter isi permintaan yang tersedia. Untuk daftar lengkap parameter, Anda dapat merujuk ke dokumentasi referensi REST API.

Parameter Jenis Deskripsi
sku SKU Definisi model sumber daya yang mewakili SKU.
kapasitas Integer Ini menunjukkan jumlah kuota yang Anda tetapkan untuk penyebaran ini. Nilai 1 sama dengan 1.000 Token per Menit (TPM). Nilai 10 sama dengan Token 10k per Menit (TPM).

Contoh permintaan

curl -X PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/gpt-35-turbo-test-deployment?api-version=2023-05-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' \
  -d '{"sku":{"name":"Standard","capacity":10},"properties": {"model": {"format": "OpenAI","name": "gpt-35-turbo","version": "0613"}}}'

Catatan

Ada beberapa cara untuk menghasilkan token otorisasi. Metode term mudah untuk pengujian awal adalah meluncurkan Cloud Shell dari portal Azure. Kemudian jalankan az account get-access-token. Anda dapat menggunakan token ini sebagai token otorisasi sementara untuk pengujian API.

Untuk informasi selengkapnya, lihat dokumentasi referensi REST API untuk penggunaan dan penyebaran.

Penggunaan

Untuk mengkueri penggunaan kuota Anda di wilayah tertentu, untuk langganan tertentu

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/usages?api-version=2023-05-01

Parameter jalur

Parameter Tipe Wajib diisi? Deskripsi
subscriptionId string Wajib ID Langganan untuk langganan terkait.
location string Wajib Lokasi untuk melihat penggunaan misalnya: eastus
api-version string Wajib Versi API yang digunakan untuk operasi ini. Ini mengikuti format YYYY-MM-DD.

Versi yang didukung

Contoh permintaan

curl -X GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CognitiveServices/locations/eastus/usages?api-version=2023-05-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' 

Penghapusan sumber daya

Saat upaya untuk menghapus sumber daya Azure OpenAI dilakukan dari portal Azure jika ada penyebaran yang masih ada, penghapusan masih diblokir hingga penyebaran terkait dihapus. Menghapus penyebaran terlebih dahulu memungkinkan alokasi kuota dibebaskan dengan benar sehingga dapat digunakan pada penyebaran baru.

Namun, jika Anda menghapus sumber daya menggunakan REST API atau beberapa metode terprogram lainnya, ini melewati kebutuhan untuk menghapus penyebaran terlebih dahulu. Ketika ini terjadi, alokasi kuota terkait akan tetap tidak tersedia untuk ditetapkan ke penyebaran baru selama 48 jam sampai sumber daya dihapus menyeluruh. Untuk memicu pembersihan segera untuk sumber daya yang dihapus untuk membebaskan kuota, ikuti instruksi hapus menyeluruh sumber daya yang dihapus.

Langkah berikutnya