Преглед
Архитектура за обслужване, която разделя извода за големия езиков модел на две отделни фази – предварително попълване и декодиране – и ги изпълнява на различни групи GPU. Има значение, защото тези две фази имат противоположни хардуерни апетити и принуждаването им към едни и същи машини губи капацитет и вреди на латентността.
Обслужването на дезагрегирано предварително попълване и декодиране е технически градивен елемент, който влияе върху качеството на модела, цената на инфраструктурата, латентността и надеждността в мащаб.
Дълбоко гмуркане
Когато LLM отговори, той работи на два етапа. Prefill чете цялата подкана наведнъж и изгражда кеша за ключ-стойност (KV); това е голям, паралелен, обвързан с изчисления импулс, който насища математическите единици на GPU. След това Decode генерира токени един по един, като всяка стъпка чете целия KV кеш - обвързано с честотната лента на паметта, леко изчислено изтичане. Изпълнявайки се заедно, дългото предварително попълване спира декодирането на всички (блокиране на началната линия), а групирането на двете създава смущения. Дезагрегирането поставя предварително попълване на един GPU пул и декодиране на друг, прехвърляйки KV кеша между тях през бързи връзки като NVLink или InfiniBand. Всеки пул се настройва и мащабира независимо, подобрявайки добрата производителност, изглаждайки латентността на опашката и позволявайки на операторите да постигат едновременно кратки цели за време до първи токен и време за изходен токен.
Техническа информация
Двете фази се различават по своето тясно място. Prefill обработва паралелно всички токени за подкана, така че неговите FLOPs се мащабират с дължината на подканата и увеличава максимално тензорните ядра. Декодирането е авторегресивно: всеки нов токен се нуждае от едно преминаване напред, което препрочита пълния KV кеш от HBM, така че пропускателната способност се определя от честотната лента на паметта, а не от изчисленията. Дезагрегацията използва това чрез оразмеряване, групиране и дори избиране на различен паралелизъм за всеки пул, след което изпраща KV кеша от работниците за предварително попълване за декодиране на работниците.
Овладяване на дезагрегирано предварително попълване и декодиране
Архитектура за обслужване, която разделя извода за големия езиков модел на две отделни фази – предварително попълване и декодиране – и ги изпълнява на различни групи GPU. Има значение, защото тези две фази имат противоположни хардуерни апетити и принуждаването им към едни и същи машини губи капацитет и вреди на латентността. Обслужването на дезагрегирано предварително попълване и декодиране е технически градивен елемент, който влияе върху качеството на модела, цената на инфраструктурата, латентността и надеждността в мащаб. За да изградите дълбоко разбиране, третирайте дезагрегираното предварително попълване и декодиране като оперативен модел, а не като отделна функция: дефинирайте желаните резултати, изяснете предположенията и отделете това, което системата може да направи надеждно, от това, което все още изисква експертна преценка.
На практика силни екипи, използващи Disaggregated Prefill и Decode Serving, оптимизират избора на архитектура, данни и инфраструктура спрямо надеждността и цената. Те документират изрични критерии за успех, тестват срещу реалистични данни и работни потоци и повтарят въз основа на наблюдавани модели на неуспех, а не на еднократни победи в бенчмарка. Това е мястото, където теоретичното разбиране се превръща в трайна способност за продукти, политики и операции.
Архитектурните решения стимулират производителността и оперативните разходи в продължение на години. В същото време оптимизирането на един бенчмарк може да скрие по-широки системни слабости. Най-устойчивият подход е да се комбинира скоростта на експериментиране с дисциплината на управление: стартирайте пилотни проекти, събирайте доказателства, публикувайте регистрационни файлове за решения и непрекъснато актуализирайте предпазните мерки, докато поведението на модела, очакванията на потребителите и регулаторните изисквания се развиват.
Стратегическо въздействие
Архитектурните решения стимулират производителността и оперативните разходи в продължение на години.
Архитектурните решения стимулират производителността и оперативните разходи в продължение на години. При висококачествени внедрявания това се превръща в измерими правила за работа, граници на собствеността и повтарящи се ритуали за преглед, така че екипите да могат да мащабират доверието, вместо да мащабират неяснотата.
Техническото образование помага на екипите да изберат правилния стек, а не само най-новия.
Техническото образование помага на екипите да изберат правилния стек, а не само най-новия. При висококачествени внедрявания това се превръща в измерими правила за работа, граници на собствеността и повтарящи се ритуали за преглед, така че екипите да могат да мащабират доверието, вместо да мащабират неяснотата.
По-добрият инженерен избор намалява инцидентите, свързани с надеждността в производството.
По-добрият инженерен избор намалява инцидентите, свързани с надеждността в производството. При висококачествени внедрявания това се превръща в измерими правила за работа, граници на собствеността и повтарящи се ритуали за преглед, така че екипите да могат да мащабират доверието, вместо да мащабират неяснотата.
Внедряване в реалния свят
Асистентът за чат насочва подкани за дълги документи към натоварен с изчисления клъстер за предварително попълване, след което предава поточно отговори от оптимизиран за памет клъстер за декодиране, за да поддържа плавно забавяне при въвеждане.
NVIDIA Dynamo и vLLM позволяват на операторите да разположат отделни работни групи за предварително попълване и декодиране, така че поредица от дълги подкани да не замразява текущите поколения.
Mooncake (използван от Kimi от Moonshot AI) дезагрегира предварително попълване и декодиране и добавя разпределен KV-кеш пул, за да намали излишното бързо преизчисляване в мащаб.
Услуга за завършване на код отделя малък пул за предварително попълване за кратки подкани и голям пул за декодиране, тъй като повечето разходи идват от поточно предаване на много изходни токени.
Модели на изпълнение
Дезагрегирано предварително попълване и обслужване на декодиране на практика
Асистентът за чат насочва подкани за дълги документи към натоварен с изчисления клъстер за предварително попълване, след което предава поточно отговори от оптимизиран за памет клъстер за декодиране, за да поддържа плавно забавяне при въвеждане.
Асистентът за чат насочва подкани за дълги документи към натоварен с изчисления клъстер за предварително попълване, след което предава поточно отговори от оптимизиран за памет клъстер за декодиране, за да поддържа плавното забавяне при въвеждане. Екипите обикновено получават по-добри резултати, когато предварително определят праговете за качество, поддържат път на човешка ескалация за крайни случаи и проследяват както печалбите в производителността, така и разходите за грешки с течение на времето.
Дезагрегирано предварително попълване и обслужване на декодиране на практика
NVIDIA Dynamo и vLLM позволяват на операторите да разположат отделни работни групи за предварително попълване и декодиране, така че поредица от дълги подкани да не замразява текущите поколения.
NVIDIA Dynamo и vLLM позволяват на операторите да разположат отделни работни групи за предварително попълване и декодиране, така че поредица от дълги подкани да не замразява текущите поколения Екипите обикновено получават по-добри резултати, когато дефинират прагове за качество предварително, поддържат път на човешка ескалация за крайни случаи и проследяват както печалбите в производителността, така и разходите за грешки във времето.
Дезагрегирано предварително попълване и обслужване на декодиране на практика
Mooncake (използван от Kimi от Moonshot AI) дезагрегира предварително попълване и декодиране и добавя разпределен KV-кеш пул, за да намали излишното бързо преизчисляване в мащаб.
Mooncake (използван от Kimi от Moonshot AI) разпределя предварителното попълване и декодиране и добавя разпределен KV-кеш пул за намаляване на излишното бързо преизчисляване в мащаб. Екипите обикновено получават по-добри резултати, когато дефинират прагове за качество предварително, поддържат човешки път на ескалация за крайни случаи и проследяват както печалбите в производителността, така и разходите за грешки във времето.
Дезагрегирано предварително попълване и обслужване на декодиране на практика
Услуга за завършване на код отделя малък пул за предварително попълване за кратки подкани и голям пул за декодиране, тъй като повечето разходи идват от поточно предаване на много изходни токени.
Услуга за завършване на код отделя малък пул за предварително попълване за кратки подкани и голям пул за декодиране, тъй като повечето разходи идват от поточно предаване на много изходни токени Екипите обикновено получават по-добри резултати, когато дефинират прагове за качество предварително, поддържат път на човешка ескалация за ръбови случаи и проследяват както печалбите в производителността, така и разходите за грешки във времето.
Рискове и предпазни огради
Оптимизирането на един бенчмарк може да скрие по-широки системни слабости.
Разходите за инфраструктура и поддръжка често се подценяват.
Пропуските в сигурността и видимостта могат да нарастват, когато системите стават по-сложни.
Пътна карта за изпълнение
Определете целите за латентност, качество и разходи преди внедряването.
Определете целите за латентност, качество и разходи преди внедряването. Отнасяйте се към всяка стъпка като към вход за доказателства: ако критериите не са изпълнени, поставете на пауза разпространението, запълнете празнината и едва след това разширете използването.
Бенчмарк при реалистични условия на натоварване и данни.
Бенчмарк при реалистични условия на натоварване и данни. Отнасяйте се към всяка стъпка като към вход за доказателства: ако критериите не са изпълнени, поставете на пауза разпространението, запълнете празнината и едва след това разширете използването.
Мониторинг на инструмента за грешки, отклонение и въздействие върху потребителя.
Мониторинг на инструмента за грешки, отклонение и въздействие върху потребителя. Отнасяйте се към всяка стъпка като към вход за доказателства: ако критериите не са изпълнени, поставете на пауза разпространението, запълнете празнината и едва след това разширете използването.
Подгответе пътеките за връщане назад и реакция на инцидент преди мащабиране.
Подгответе пътеките за връщане назад и реакция на инцидент преди мащабиране. Отнасяйте се към всяка стъпка като към вход за доказателства: ако критериите не са изпълнени, поставете на пауза разпространението, запълнете празнината и едва след това разширете използването.