FASTDECODE ist ein CPU-GPU-heterogenes System zum Servieren großer Sprachmodelle (LLMs). Es unterteilt das Transformer-Modell in zwei Teile mit unterschiedlichen Charakteristiken:
R-Teil: Speicherintensive Berechnungen im autoregressiven Teil des Modells, insbesondere der Zugriff auf den KV-Cache. Dieser Teil wird auf entfernten CPU-Knoten verarbeitet, um die aggregierte Speicherkapazität und -bandbreite zu nutzen.
S-Teil: Der Rest des Modells, der hauptsächlich aus vollverbundenen Schichten besteht. Dieser Teil wird auf der GPU verarbeitet, wobei der Batch deutlich vergrößert werden kann, da der KV-Cache nicht mehr im GPU-Speicher gehalten werden muss.
Um die Leistung des heterogenen Systems zu optimieren, adressiert FASTDECODE drei Herausforderungen:
Zeitliche Heterogenität der Workload: FASTDECODE verwendet einen sequenzbasierten Ladeausgleichsalgorithmus, um die Gesamtlänge der zu verarbeitenden Sequenzen stabil zu halten und beide Hardware-Typen optimal auszulasten.
Geräteübergreifende Heterogenität: FASTDECODE verwendet ein modellgesteuertes Ansatz, um die optimale Konfiguration von GPU und CPUs zu finden, basierend auf Profiling-Ergebnissen.
Effizienz der CPU-Verarbeitung: FASTDECODE nutzt gemischte Genauigkeit und Quantisierung, um die CPU-Leistung beim Verarbeiten des R-Teils zu optimieren.
Insgesamt erreicht FASTDECODE eine 1,88- bis 5,04-fache höhere Durchsatzrate im Vergleich zu bestehenden Systemen, bei akzeptabler Latenz.
다른 언어로
소스 콘텐츠 기반
arxiv.org
더 깊은 질문