ChatPaper.aiChatPaper

NanoFlow: Auf dem Weg zu optimaler Durchsatzleistung bei der Bereitstellung großer Sprachmodelle

NanoFlow: Towards Optimal Large Language Model Serving Throughput

August 22, 2024
Autoren: Kan Zhu, Yilong Zhao, Liangyu Zhao, Gefei Zuo, Yile Gu, Dedong Xie, Yufei Gao, Qinyu Xu, Tian Tang, Zihao Ye, Keisuke Kamahori, Chien-Yu Lin, Stephanie Wang, Arvind Krishnamurthy, Baris Kasikci
cs.AI

Zusammenfassung

Die zunehmende Verwendung von Large Language Models (LLMs) hat zu einer starken Nachfrage nach Planeten-skaligen Serving-Systemen geführt, in denen zehntausende von GPUs kontinuierlich Hunderte von Millionen von Benutzern dienen. Folglich hat sich die Durchsatzrate (unter angemessenen Latenzbeschränkungen) als ein Schlüsselkennwert herausgestellt, der die Leistung von Serving-Systemen bestimmt. Um den Durchsatz zu steigern, wurden verschiedene Methoden des Inter-Geräte-Parallelismus (z.B. Daten-, Tensor-, Pipeline-Parallelismus) erforscht. Allerdings berücksichtigen bestehende Methoden nicht die Überlappung der Nutzung verschiedener Ressourcen innerhalb eines einzelnen Geräts, was zu einer Unterauslastung und suboptimaler Leistung führt. Wir schlagen NanoFlow vor, ein neuartiges Serving-Framework, das den Intra-Geräte-Parallelismus nutzt, um die Nutzung von Ressourcen wie Rechenleistung, Speicher und Netzwerk innerhalb eines einzelnen Geräts durch die Koordination von Operationen zu überlappen. Um den Intra-Geräte-Parallelismus zu nutzen, führt NanoFlow zwei Schlüsselinnovationen ein: Erstens teilt NanoFlow Anfragen in Nano-Batches auf der Ebene von Operationen auf, was die Abhängigkeit von sequenziellen Operationen bei der LLM-Inferenz aufbricht und Überlappungen ermöglicht; dann, um von den Überlappungen zu profitieren, verwendet NanoFlow eine Pipeline auf Operationsebene mit der Planung von Ausführungseinheiten, die die funktionalen Einheiten des Geräts partitioniert und gleichzeitig verschiedene Operationen in jeder Einheit ausführt. NanoFlow automatisiert den Pipeline-Aufbau mithilfe eines Parametersuchalgorithmus, der es ermöglicht, NanoFlow leicht auf verschiedene Modelle zu übertragen. Wir implementieren NanoFlow auf NVIDIA GPUs und evaluieren die End-to-End-Durchsatzrate bei mehreren beliebten Modellen wie LLaMA-2-70B, Mixtral 8x7B, LLaMA-3-8B usw. Mit praktischen Arbeitslasten bietet NanoFlow eine Durchsatzsteigerung um das 1,91-fache im Vergleich zu State-of-the-Art-Serving-Systemen und erreicht 59 % bis 72 % der optimalen Durchsatzrate über übertragene Modelle hinweg.
English
The increasing usage of Large Language Models (LLMs) has resulted in a surging demand for planet-scale serving systems, where tens of thousands of GPUs continuously serve hundreds of millions of users. Consequently, throughput (under reasonable latency constraints) has emerged as a key metric that determines serving systems' performance. To boost throughput, various methods of inter-device parallelism (e.g., data, tensor, pipeline) have been explored. However, existing methods do not consider overlapping the utilization of different resources within a single device, leading to underutilization and sub-optimal performance. We propose NanoFlow, a novel serving framework that exploits intra-device parallelism, which overlaps the usage of resources including compute, memory, and network within a single device through operation co-scheduling. To exploit intra-device parallelism, NanoFlow introduces two key innovations: First, NanoFlow splits requests into nano-batches at the granularity of operations, which breaks the dependency of sequential operations in LLM inference and enables overlapping; then, to get benefit from overlapping, NanoFlow uses an operation-level pipeline with execution unit scheduling, which partitions the device's functional units and simultaneously executes different operations in each unit. NanoFlow automates the pipeline setup using a parameter search algorithm, which enables easily porting NanoFlow to different models. We implement NanoFlow on NVIDIA GPUs and evaluate end-to-end serving throughput on several popular models such as LLaMA-2-70B, Mixtral 8x7B, LLaMA-3-8B, etc.. With practical workloads, NanoFlow provides 1.91x throughput boost compared to state-of-the-art serving systems achieving 59% to 72% of optimal throughput across ported models.

Summary

AI-Generated Summary

PDF182November 16, 2024