View a markdown version of this page

Migliori pratiche di scalabilità e velocità di trasmissione - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Migliori pratiche di scalabilità e velocità di trasmissione

Questo argomento spiega come funzionano i limiti di throughput e la pianificazione tra gli endpoint Amazon Bedrock e fornisce le best practice per scalare le applicazioni di intelligenza artificiale generativa.

Endpoint Amazon Bedrock

Amazon Bedrock supporta due endpoint per l'inferenza:

  • bedrock-mantle.{region}.api.aws— Supporta il completamento e le risposte delle chat (da OpenAI) e i messaggi (da Anthropic).

  • bedrock-runtime.{region}.amazonaws.com— Supporta Bedrock-native API (Invoke e Converse), Chat Completions e Messages API.

Per ulteriori informazioni su questi endpoint e su come scegliere tra di essi, consulta. Endpoint supportati da Amazon Bedrock

Perché i due endpoint si comportano in modo diverso

In molti servizi multi-tenant tradizionali, l'architettura è progettata in base a quote per account per gestire l'accesso equo alle risorse condivise. Questo è l'approccio utilizzato con. bedrock-runtime

Con bedrock-mantle, viene utilizzato un approccio diverso. Questo endpoint è progettato con meccanismi avanzati di pianificazione e gestione delle code di lavoro che garantiscono una distribuzione equa, supportando al contempo limiti di throughput iniziali più elevati. Questo design consente inoltre di ospitare un'ampia gamma bedrock-mantle di modelli e di offrire l'intera gamma di funzionalità disponibili nel catalogo dei modelli. Nella maggior parte dei casi, le richieste vengono evase immediatamente. In alcuni casi, una richiesta può essere messa in coda per un breve periodo durante il completamento dei carichi di lavoro in volo e la velocità effettiva diventa disponibile. Le sezioni seguenti spiegano come gestire questi scenari.

endpoint bedrock-mantle: produttività e quote

Tutti i modelli disponibili bedrock-mantle condividono un unico limite rigido di 10.000 giri/min per account per regione. Esistono alcune differenze nel comportamento della produttività e delle quote per Claude rispetto ad altri modelli, come illustrato di seguito.

  Claude 4.7+ Tutti gli altri modelli
Ingresso TPM 10 M* Nessun limite TPM per cliente o per modello
TPM in uscita 2 M Nessun limite TPM per cliente o per modello
RPM 10.000 (condivisi tra tutti i modelli su questo endpoint) 10.000 (condivisi tra tutti i modelli su questo endpoint)
On-demand livelli Standard Standard, Priority, Flex (alcune eccezioni): consulta le pagine di dettaglio del modello per informazioni sulla disponibilità
Archiviazione No Sì per i modelli supportati: consulta le pagine di dettaglio dei modelli per verificare la disponibilità
Capacità riservata Nessuno Nessuno

* Il limite TPM di input dipende dalla cronologia di utilizzo con Amazon Bedrock. Controlla la pagina Quotas nella console Amazon Bedrock per l'allocazione effettiva.

endpoint bedrock-runtime: velocità effettiva e quote

La tabella seguente riassume la velocità effettiva e le quote per. bedrock-runtime

  Claude 4.7+ Tutti gli altri modelli
Ingresso TPM 15 M* Varia*
TPM in uscita Combinato con Input TPM. Si applica Burndown. Nessuna. Si applica Burndown.
RPM 10.000 (condivisi tra tutti i modelli) Varia*
On-demand livelli Standard Standard, Priority, Flex (alcune eccezioni): consulta le pagine di dettaglio del modello per informazioni sulla disponibilità
Archiviazione No Sì per i modelli supportati: consulta le pagine di dettaglio dei modelli per verificare la disponibilità
Capacità riservata Nessuno Tier/Provisioned Capacità riservata

* Le quote per questi modelli variano in base all'utilizzo. Consulta la pagina Quotas nella console Amazon Bedrock per le tue allocazioni.

Comprendere le risposte agli errori HTTP

HTTP 429

Una risposta 429 indica che hai superato il limite di RPM per il tuo account. Riduci la frequenza di invio delle richieste. Se hai bisogno di un'allocazione di RPM più elevata, richiedi un aumento tramite la console Service Quotas o contatta il tuo team. Account AWS

HTTP 503

Una risposta 503 indica che c'è un aumento della domanda di Amazon Bedrock in questa regione. Dovresti ridurre la frequenza delle richieste e poi riprovare con un backoff esponenziale o distribuire il traffico tra le regioni.

Gestione degli errori consigliata

Errori transitori (risposte 503 occasionali)

Implementa il backoff esponenziale con jitter casuale:

  • Inizia con un breve ritardo (ad esempio, 1 secondo).

  • Raddoppia il ritardo dopo ogni tentativo fallito.

  • Limita i tentativi a 6 tentativi.

La maggior parte degli AWS SDK e delle librerie HTTP più diffuse forniscono il supporto integrato per questo pattern.

Esempio Riprova la configurazione per bedrock-runtime ()AWS SDK (/boto3)
import boto3 from botocore.config import Config config = Config(retries={"total_max_attempts": 6, "mode": "standard"}) client = boto3.client("bedrock-runtime", config=config)
Esempio Riprova la configurazione per bedrock-mantle (OpenAI SDK)
from openai import OpenAI client = OpenAI( api_key=api_key, base_url=f"https://bedrock-mantle.{region}.api.aws/v1", max_retries=6, timeout=60.0, )
Esempio Riprova la configurazione per bedrock-mantle (Anthropic SDK)
import anthropic client = anthropic.Anthropic( api_key=api_key, base_url=f"https://bedrock-mantle.{region}.api.aws", max_retries=6, timeout=60.0, )

Errori persistenti (risposte 503 persistenti)

Se ricevi errori 503 persistenti, riprovare da solo non risolverà il problema. La frequenza delle richieste supera la velocità effettiva disponibile. Utilizza le fasi seguenti:

  • Riduci la frequenza con cui la tua candidatura invia nuove richieste.

  • Implementa la limitazione della velocità sul lato client o l'accodamento delle richieste.

  • Elimina le richieste con priorità inferiore fino al ripristino del throughput.

Incrementare la produttività

Quando si utilizza la velocità effettiva su richiesta sull'bedrock-mantleendpoint, la velocità effettiva disponibile aumenta nel tempo. Non è garantito il successo di tutte le richieste che rientrano nella quota stabilita durante i periodi di forte domanda, quindi è importante aumentare gradualmente.

Procedura di accelerazione consigliata

  1. Inizia dal volume di richieste previsto, ad esempio 500 giri/min.

  2. Se ricevi 503 risposte, riduci la frequenza, ad esempio del 50%.

  3. Continua a ridurre di tale percentuale fino a raggiungere uno stato stabile in cui le richieste abbiano un successo costante.

  4. Mantieni lo stato stazionario per un breve periodo, diciamo 15 minuti.

  5. Aumentate nuovamente la produttività, ad esempio del 50%, e mantenete premuto per altri 15 minuti.

  6. Ripeti l'operazione fino a raggiungere il volume desiderato.

Ad esempio, se il tuo obiettivo è 2.000 giri/min ma ricevi 503 errori, riduci a 1.000 giri/min. Se gli errori persistono, riducili a 500 giri/min. Una volta che le richieste hanno successo in modo costante a 500 giri/min, attendi per 15 minuti, quindi scala a 750, quindi a 1.125 e così via.

Le velocità di rampa non sono regolabili. Per richiedere un'allocazione RPM più elevata, utilizza la console Service Quotas.

Best practice aggiuntive

  • Utilizza i flag di funzionalità per trasferire gradualmente il traffico tra i modelli anziché cambiare tutto il traffico contemporaneamente.

  • Distribuisci carichi di lavoro di grandi dimensioni su più minuti e considera gli schemi orari del giorno per evitare i periodi di picco di utilizzo.

  • Inizia i test con piccoli lotti e scala gradualmente. Evita di inviare migliaia di richieste di test contemporaneamente.

  • Per l'elaborazione offline di grandi dimensioni, utilizza l'API Batch o Flex Tier se l'applicazione è in grado di elaborare le risposte in modo asincrono.

Disponibilità regionale e inferenza tra regioni

On-demand la velocità effettiva è allocata a livello regionale e varia tra le regioni. Se il carico di lavoro è destinato a una singola regione, è possibile che si verifichino 503 risposte durante i periodi di forte domanda. Per massimizzare la disponibilità e, se si utilizza, utilizzare bedrock-runtime. Inferenza globale tra regioni

Utilizzo della guida

  • Pianificazione della produttività: contatta il tuo Account AWS team per la previsione della produttività. Pianifica un throughput di picco da 2 a 3 volte superiore durante gli eventi di scalabilità.

  • Ottimizzazione delle prestazioni: monitora l'efficienza dell'utilizzo dei token, ottimizza le istruzioni per ridurre il consumo dei token e seleziona i modelli in base ai requisiti del caso d'uso.

  • Escalation del supporto: quando apri una richiesta di AWS assistenza per problemi di throughput, includi quanto segue: codici di errore specifici, ID di richiesta, modelli di traffico (RPM/TPM) e tempistica di scalabilità.

Riepilogo dei consigli

Scenario Raccomandazione
Carichi di lavoro generali Usa l'bedrock-mantleendpoint ogni volta che è possibile.
Errori 503 occasionali Riprova con backoff e jitter esponenziali.
Errori 503 sostenuti Riduci la frequenza di invio delle richieste. Implementa la limitazione della velocità sul lato client.
429 errori Riduci la frequenza delle richieste. Richiedi un'allocazione di RPM più elevata tramite Service Quotas.
Elaborazione offline di grandi dimensioni Usa Batch API o Flex Tier.