Dela via


Vad innebär token per sekund intervall i etablerat dataflöde?

Den här artikeln beskriver hur och varför Databricks mäter token per sekund för etablerade dataflödesarbetsbelastningar för Foundation Model-API:er.

Prestanda för stora språkmodeller mäts ofta i termer av token per sekund. När du konfigurerar produktionsmodell som betjänar slutpunkter är det viktigt att tänka på antalet begäranden som programmet skickar till slutpunkten. Det hjälper dig att förstå om slutpunkten behöver konfigureras för skalning för att inte påverka svarstiden.

När du konfigurerade utskalningsintervallen för slutpunkter som distribuerats med etablerat dataflöde fann Databricks att det var lättare att resonera om indata som gick in i systemet med hjälp av token.

Vad är token?

LLM:er läser och genererar text när det gäller vad som kallas en token. Token kan vara ord eller underord, och de exakta reglerna för att dela upp text i token varierar från modell till modell. Du kan till exempel använda onlineverktyg för att se hur Llamas tokenizer konverterar ord till token.

Varför mäta LLM-prestanda när det gäller token per sekund?

Traditionellt konfigureras serverslutpunkter baserat på antalet samtidiga begäranden per sekund (RPS). En LLM-slutsatsdragningsbegäran tar dock en annan tid baserat på hur många token som skickas in och hur många som genereras, vilket kan vara obalanserat mellan begäranden. Därför måste du mäta slutpunktsskalan när det gäller innehållet i din begäran – token för att avgöra hur mycket utskalning slutpunkten behöver.

Olika användningsfall har olika nyckeltal för in- och utdatatoken:

  • Varierande längd på indatakontexter: Även om vissa begäranden bara omfattar några indatatoken, till exempel en kort fråga, kan andra omfatta hundratals eller till och med tusentals token, som ett långt dokument för sammanfattning. Den här variabiliteten gör det bara svårt att konfigurera en serverslutpunkt baserat på RPS eftersom den inte tar hänsyn till de olika bearbetningskraven för de olika begärandena.
  • Varierande längd på utdata beroende på användningsfall: Olika användningsfall för LLM:er kan leda till mycket olika utdatatokens längd. Att generera utdatatoken är den mest tidsintensiva delen av LLM-slutsatsdragningen, så detta kan påverka dataflödet dramatiskt. Sammanfattning innebär till exempel kortare pithier-svar, men textgenerering, till exempel att skriva artiklar eller produktbeskrivningar, kan generera mycket längre svar.

Hur gör jag för att välja token per sekund för min slutpunkt?

Etablerade dataflödesserverslutpunkter konfigureras i termer av ett intervall med token per sekund som du kan skicka till slutpunkten. Slutpunkten skalas upp och ned för att hantera belastningen på ditt produktionsprogram. Du debiteras per timme baserat på det intervall med token per sekund som slutpunkten skalas till.

Det bästa sättet att veta vilka token per sekund-intervall på ditt etablerade dataflöde som betjänar slutpunkten fungerar för ditt användningsfall är att utföra ett belastningstest med en representativ datauppsättning. Se Genomför din egen LLM-slutpunktsmätning.

Det finns två viktiga faktorer att tänka på:

  • Hur Databricks mäter prestanda för token per sekund för LLM

    Databricks jämför slutpunkter mot en arbetsbelastning som representerar sammanfattningsuppgifter som är vanliga för användningsfall för hämtning av förhöjd generering. Mer specifikt består arbetsbelastningen av:

    • 2048-indatatoken
    • 256 utdatatoken

    De tokenintervall som visas kombinerar dataflöde för indata- och utdatatoken och optimerar som standard för att balansera dataflöde och svarstid.

    Databricks benchmarks som användarna kan skicka så många token per sekund samtidigt till slutpunkten med en batchstorlek på 1 per begäran. Detta simulerar flera begäranden som når slutpunkten samtidigt, vilket mer exakt representerar hur du faktiskt skulle använda slutpunkten i produktionen.

  • Så här fungerar autoskalning

    Modellservern har ett snabbt autoskalningssystem som skalar den underliggande beräkningen så att den uppfyller programmets token per sekund. Databricks skalar upp etablerat dataflöde i segment med token per sekund, så du debiteras endast för ytterligare enheter med etablerat dataflöde när du använder dem.