docs(ms-ai-architect): KB-refresh critical cost 7/8 — request-batching verifisert mot batch-docs (Data Zone Batch + fail-fast)

Verifisert mot live Microsoft Learn (ai-foundry/openai/how-to/batch + deployment-types):
- Data Zone Batch lagt til som deployment-type (SKU `DataZoneBatch`): samme 50% rabatt som
  Global Batch, men inferens-prosessering begrenset til Microsofts definerte datasone (EU/US),
  data-at-rest forblir i ressursens Azure-geografi. Lagt til 4 steder: kjernekomponent-tabell,
  setup-steg, prismodell-tabell, og som FØRSTE Schrems II-mitigering (høy verdi for offentlig sektor).
- «Exponential backoff queuing» reframet til «fail-fast token-quota-håndtering»: serveren feiler
  raskt på enqueued-token-grensen, KLIENTEN gjør exponential backoff-retry (kodeeksempel er
  klient-side) — filens «automatisk retry» antydet feilaktig server-side auto-retry. Region-listen
  verifisert current (urørt).
- Header 2026-05→2026-06, kilde #1 + konfidens-tabell Verified 2026-02→2026-06.
- 50%/24t/expiration verifisert current (doc: «doesn't expire jobs that take longer»). Disclaimed
  priser (GPT-4o Jan-2026 + NOK) urørt. validate 239/0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-06-24 09:54:38 +02:00
commit 441f7d48a8

View file

@ -1,6 +1,6 @@
# Request Batching and Response Aggregation # Request Batching and Response Aggregation
**Last updated:** 2026-05 **Last updated:** 2026-06
**Status:** GA **Status:** GA
**Category:** Cost Optimization & FinOps for AI **Category:** Cost Optimization & FinOps for AI
@ -24,10 +24,11 @@ Denne teknikken er ikke bare en optimaliseringsøvelse — den er ofte nødvendi
|-----------|-------------| |-----------|-------------|
| **Input file (JSONL)** | JSON Lines-format med én request per linje, inkludert `custom_id` for korrelasjon | | **Input file (JSONL)** | JSON Lines-format med én request per linje, inkludert `custom_id` for korrelasjon |
| **Global-Batch deployment** | Dedikert deployment-type med 50% lavere pris enn global standard | | **Global-Batch deployment** | Dedikert deployment-type med 50% lavere pris enn global standard |
| **Data Zone Batch deployment** | Batch-deployment-type (SKU `DataZoneBatch`) med samme 50% rabatt, men inferens-prosessering begrenset til Microsofts definerte datasone (EU eller US) — relevant for dataresidens |
| **Enqueued token quota** | Separat quota som ikke forstyrrer online workloads | | **Enqueued token quota** | Separat quota som ikke forstyrrer online workloads |
| **24-hour completion window** | Target SLA for batch processing (jobs kan ta lenger, men utløper ikke) | | **24-hour completion window** | Target SLA for batch processing (jobs kan ta lenger, men utløper ikke) |
| **Output file** | JSONL-resultatfil med responses korrelert via `custom_id` | | **Output file** | JSONL-resultatfil med responses korrelert via `custom_id` |
| **Exponential backoff queuing** | Støtte i utvalgte regioner for automatisk retry når token quota er tilgjengelig | | **Fail-fast token-quota-håndtering** | I utvalgte regioner feiler nye jobber raskt (fail fast) når enqueued-token-grensen overskrides, slik at klienten programmatisk kan kø-stille og retry-e med exponential backoff |
### Microsoft Graph JSON Batching ### Microsoft Graph JSON Batching
@ -230,14 +231,14 @@ def batch_processor(msgs: List[func.ServiceBusMessage]):
### Azure OpenAI Batch API ### Azure OpenAI Batch API
**Setup:** **Setup:**
1. Opprett Global-Batch deployment i Azure OpenAI resource 1. Opprett Global-Batch eller Data Zone Batch deployment i Azure OpenAI resource
2. Prepare JSONL input file med standard chat completion format + `custom_id` 2. Prepare JSONL input file med standard chat completion format + `custom_id`
3. Upload file via Files API eller Azure Blob Storage 3. Upload file via Files API eller Azure Blob Storage
4. Create batch job med `client.batches.create()` 4. Create batch job med `client.batches.create()`
5. Poll job status eller subscribe til Event Grid events 5. Poll job status eller subscribe til Event Grid events
6. Download output file og parse responses 6. Download output file og parse responses
**Regioner med Exponential Backoff Support:** **Regioner med fail-fast-kø-støtte (klient-side exponential backoff-retry):**
- australiaeast, eastus, eastus2, germanywestcentral, italynorth, northcentralus, polandcentral, swedencentral, switzerlandnorth, westus - australiaeast, eastus, eastus2, germanywestcentral, italynorth, northcentralus, polandcentral, swedencentral, switzerlandnorth, westus
**Pris:** 50% rabatt vs. global standard (verifiser på Azure pricing page) **Pris:** 50% rabatt vs. global standard (verifiser på Azure pricing page)
@ -323,10 +324,11 @@ def batch_processor(msgs: List[func.ServiceBusMessage]):
**Risiko:** Azure OpenAI Batch API kan prosessere data i andre regioner enn der ressursen er hostet. **Risiko:** Azure OpenAI Batch API kan prosessere data i andre regioner enn der ressursen er hostet.
**Mitigering:** **Mitigering:**
1. Bruk European regions (swedencentral, germanywestcentral, switzerlandnorth) 1. Bruk **Data Zone Batch** (SKU `DataZoneBatch`): inferens-prosessering begrenses til Microsofts definerte EU-datasone (data prosesseres innenfor EU-medlemsland), mens data-at-rest forblir i ressursens Azure-geografi
2. Evaluer TIA (Transfer Impact Assessment) for batch workloads 2. Bruk European regions (swedencentral, germanywestcentral, switzerlandnorth)
3. Vurder Microsoft Foundry med dedikert regional processing (når tilgjengelig) 3. Evaluer TIA (Transfer Impact Assessment) for batch workloads
4. Alternativt: Azure Machine Learning batch endpoints med regional compute 4. Vurder Microsoft Foundry med dedikert regional processing (når tilgjengelig)
5. Alternativt: Azure Machine Learning batch endpoints med regional compute
### Budsjettprosesser og Kostnadsforutsigbarhet ### Budsjettprosesser og Kostnadsforutsigbarhet
@ -356,6 +358,7 @@ def batch_processor(msgs: List[func.ServiceBusMessage]):
|-----------------|----------------|----------| |-----------------|----------------|----------|
| **Global Standard** | 100% (baseline) | Online chat, real-time inference | | **Global Standard** | 100% (baseline) | Online chat, real-time inference |
| **Global Batch** | 50% | Bulk processing, content generation, document analysis | | **Global Batch** | 50% | Bulk processing, content generation, document analysis |
| **Data Zone Batch** | 50% | Som Global Batch, men inferens innenfor EU/US-datasone (dataresidens) |
| **Provisioned Throughput** | Varierer (reservation-based) | Høy throughput, forutsigbar latency | | **Provisioned Throughput** | Varierer (reservation-based) | Høy throughput, forutsigbar latency |
**Eksempel (GPT-4o, Januar 2026 priser — verifiser på Azure pricing page):** **Eksempel (GPT-4o, Januar 2026 priser — verifiser på Azure pricing page):**
@ -493,8 +496,8 @@ Bruk denne matrisen for raskt å avgjøre om batching er riktig:
### Microsoft Learn (Verified via MCP) ### Microsoft Learn (Verified via MCP)
1. **Azure OpenAI Batch API:** 1. **Azure OpenAI Batch API:**
- [Getting started with Azure OpenAI batch deployments](https://learn.microsoft.com/en-us/azure/foundry/openai/how-to/batch) — **Verified 2026-02** - [Getting started with Azure OpenAI batch deployments](https://learn.microsoft.com/en-us/azure/foundry/openai/how-to/batch) — **Verified 2026-06**
- Dekker: JSONL input format, Global-Batch deployment, 50% cost reduction, exponential backoff queuing - Dekker: JSONL input format, Global-Batch + Data Zone Batch deployment, 50% cost reduction, fail-fast token-quota-håndtering med klient-side exponential backoff
2. **Microsoft Graph JSON Batching:** 2. **Microsoft Graph JSON Batching:**
- [Combine multiple HTTP requests using JSON batching](https://learn.microsoft.com/en-us/graph/json-batching) — **Verified 2026-02** - [Combine multiple HTTP requests using JSON batching](https://learn.microsoft.com/en-us/graph/json-batching) — **Verified 2026-02**
@ -512,7 +515,7 @@ Bruk denne matrisen for raskt å avgjøre om batching er riktig:
| Seksjon | Konfidens | Kilde | | Seksjon | Konfidens | Kilde |
|---------|-----------|-------| |---------|-----------|-------|
| Azure OpenAI Batch API | **Verified** | Microsoft Learn MCP (2026-02) | | Azure OpenAI Batch API | **Verified** | Microsoft Learn MCP (2026-06) |
| Microsoft Graph JSON Batching | **Verified** | Microsoft Learn MCP (2026-02) | | Microsoft Graph JSON Batching | **Verified** | Microsoft Learn MCP (2026-02) |
| Azure ML Batch Endpoints | **Verified** | Microsoft Learn MCP (2026-02) | | Azure ML Batch Endpoints | **Verified** | Microsoft Learn MCP (2026-02) |
| Prismodell (50% rabatt) | **Verified** | Azure OpenAI pricing page (referenced in docs) | | Prismodell (50% rabatt) | **Verified** | Azure OpenAI pricing page (referenced in docs) |