Изчислителното въжеиграчество на съвременния AI
Големите езикови модели (LLMs) стоят като стълбове на съвременния изкуствен интелект, демонстрирайки забележителни способности, които преобразяват индустрии и научни открития. Тяхната компетентност в генерирането на текст, подобен на човешкия, захранването на сложни разговорни агенти и дори подпомагането на сложни изследователски задачи ги превърна в незаменими инструменти. В сърцето на тези мощни модели бие архитектурата transformer, дизайн, характеризиращ се със своите редуващи се слоеве. Входните данни, разбити на токени, преминават през последователност от механизми за внимание (attention mechanisms), които претеглят важността на различните токени, последвани от мрежи с право разпространение (feed-forward networks - FFNs), които обработват събраната информация. Тази слоеста, последователна обработка е фундаментална за начина, по който transformers се учат и генерират изходни данни.
Въпреки това, точно тази архитектура, макар и ефективна, представлява нарастващо предизвикателство, тъй като моделите нарастват по размер и сложност. Последователният характер означава, че всеки слой обикновено трябва да изчака предишният да завърши изчислението си, преди да може да започне. Тази стъпка по стъпка обработка създава присъщо тясно място, особено по време на фазата на инференция – етапът, в който обучен модел действително се използва за генериране на прогнози или текст. Тъй като модели като тези, захранващи напреднали AI асистенти, включват стотици милиарди или дори трилиони параметри, изчислителните ресурси и времето, необходими за инференция, ескалират драстично. Това нарастващо търсене се превръща в значителна латентност (забавяне в отговора), намалена пропускателна способност (брой заявки, обработени за определено време) и нарастващи оперативни разходи, възпрепятствайки широкото разпространение и приложение в реално време на най-мощните LLMs. Следователно, подобряването на ефективността на инференцията се превърна в първостепенна грижа в рамките на изследователската общност на AI, стимулирайки търсенето на иновативни стратегии, които могат да оптимизират изчисленията, без да компрометират забележителната производителност, която тези модели предлагат. Централното предизвикателство се крие в смекчаването на ограниченията, наложени от последователното изпълнение, особено в разпределени среди, където изчисленията обхващат множество GPUs, добавяйки комуникационни разходи към времето за обработка.
Навигация в пейзажа на оптимизацията: Съществуващи инструменти и техните граници
В непрекъснатите усилия за превръщане на LLMs в по-икономични и по-бързи, изследователите са разработили набор от техники за оптимизация. Всяка от тях предлага път към ефективност, но често идва със собствен набор от компромиси, което пречи на който и да е метод да бъде универсално решение. Разбирането на тези компромиси е от решаващо значение за оценяването на необходимостта от нови подходи като FFN Fusion.
Една видна техника е quantization (квантуване). Това включва намаляване на числовата точност, използвана за представяне на теглата и активациите на модела. Вместо да се използват стандартни 32-битови числа с плаваща запетая, моделите могат да използват 16-битови, 8-битови или дори представяния с по-нисък бит. Това директно намалява паметта, заемана от модела, и може значително да ускори изчисленията, тъй като операциите с числа с по-ниска точност обикновено са по-бързи и изискват по-малко енергия. Квантуването обаче не е без риск. Намаляването на точността може да доведе до загуба на информация, потенциално влошавайки точността на модела. Този риск става по-изразен при много ниски битови ширини, изисквайки внимателно прилагане и понякога преобучение за смекчаване на спадовете в точността. Предизвикателството се крие в намирането на оптималното място, което максимизира печалбите от ефективност, като същевременно поддържа влошаването на производителността в приемливи граници.
Друга често срещана стратегия е pruning (подрязване). Тази техника работи на принципа, че много параметри в голяма невронна мрежа може да са излишни или да допринасят минимално за крайния резултат. Алгоритмите за подрязване идентифицират и премахват тези по-малко важни връзки или неврони, което води до по-малък, по-рядък модел. Подобно на квантуването, подрязването намалява изискванията за памет и изчислителното натоварване. Въпреки това, точното идентифициране кои параметри са ‘безопасни’ за премахване е сложно. Агресивното подрязване може неволно да премахне ключови компоненти, което води до значителна загуба на точност. Фината настройка на модела след подрязване често е необходима за възстановяване на производителността, добавяйки сложност към работния процес. Внимателното калибриране е от съществено значение, за да се гарантира, че подрязаният модел остава ефективен.
По-архитектурно различен подход е моделът Mixture-of-Experts (MoE). Вместо да обработва всеки вход през цялата мрежа, MoE моделите се състоят от множество ‘експертни’ подмрежи (обикновено FFNs). За всеки входен токен, управляващ механизъм (gating mechanism) динамично избира малко подмножество от тези експерти, за да извърши изчислението. Това условно изчисление означава, че само част от общите параметри на модела се активират за даден вход, което води до значителни икономии на изчисления, особено по време на обучение и инференция на много големи модели. MoE моделите могат да се мащабират до трилиони параметри, като същевременно поддържат разумни изчислителни разходи. Ефективността им обаче силно зависи от работното натоварване. Те се справят отлично с обработката на много големи размери на партиди (batch sizes), където селективният модел на активиране води до добро използване на хардуера. При по-малки или средни размери на партиди, MoE моделите могат да страдат от недостатъчно използване на изчислителните ресурси, тъй като паралелният хардуер може да не бъде постоянно зает от рядко активираните експерти. Освен това, внедряването и балансирането на натоварването на MoE моделите може да бъде по-сложно от разгръщането на стандартни ‘плътни’ (dense) архитектури.
Докато квантуването, подрязването и MoE моделите представляват ценни постижения в оптимизацията на LLM, техните присъщи ограничения подчертават необходимостта от алтернативни или допълващи стратегии. Търсенето продължава за методи, които могат да осигурят широки подобрения на ефективността в различни сценарии, в идеалния случай с по-малко компромиси с точността или сложността на внедряване, особено за плътните архитектури на модели, които остават популярни поради относителната си простота при обучение и разгръщане.
FFN Fusion: Преосмисляне на паралелизма в Transformers
Сред този пейзаж от техники за оптимизация, изследователи от NVIDIA въведоха убедителен нов подход, наречен FFN Fusion. Тази техника директно се изправя срещу последователното тясно място, присъщо на архитектурата transformer, не чрез промяна на параметри или селективно активиране на части, а чрез фундаментално преосмисляне на начина, по който последователностите от изчисления могат да бъдат паралелизирани. Иновацията произтича от решаващо наблюдение за поведението на FFN слоевете в дълбоки transformer модели.
Използвайки диагностичен инструмент, наречен Puzzle, изследователите анализирали вътрешната работа на големи модели. Когато експериментално премахнали слоеве за внимание (attention layers), те забелязали, че моделите често запазват изненадващо дълги последователности от последователни FFN слоеве. По-важното е, че анализът разкрил, че изчисленията, извършвани от тези съседни FFNs, често показват минимална взаимозависимост. По същество, изходът на един FFN в последователността често не променя драстично посоката или основната информация, необходима на непосредствено следващия FFN. Това предполага, че тези FFNs, традиционно изпълнявани един след друг, може да притежават потенциал за едновременно, паралелно изпълнение, без значително да нарушават цялостната функция на модела.
Това прозрение формира основата на FFN Fusion. Основната идея е елегантно проста, но мощна: идентифициране на последователности от последователни FFN слоеве с ниска изчислителна зависимост и сливането им в един, по-широк FFN слой, който извършва еквивалентното изчисление паралелно. Вместо верига като Input -> FFN1 -> FFN2 -> FFN3 -> Output
, слетата структура става Input -> Fused_FFN (Еквивалентно на FFN1+FFN2+FFN3 паралелно) -> Output
. Тази архитектурна трансформация ефективно скъсява последователната дълбочина на мрежата, заменяйки множество стъпки с една, по-широка изчислителна стъпка. Чрез насочване към тези FFN последователности с ниска зависимост, FFN Fusion цели да намали латентността и изчислителните разходи, като същевременно запази представителната мощ и точността на модела. Разработването на Ultra-253B-Base от Llama-3.1-405B-Instruct послужи като основна демонстрация на потенциала на тази техника.
Архитектурната алхимия: Как работи FFN Fusion
Магията зад FFN Fusion се крие в умелото манипулиране на основната математическа структура на мрежите с право разпространение. Не става въпрос просто за стартиране на съществуващи слоеве един до друг; включва създаването на нов, унифициран слой, който възпроизвежда колективното поведение на оригиналната последователност, но го прави едновременно.
Разгледайте последователност от k последователни FFN слоя. В стандартен transformer, входът x
преминава през FFN1
, неговият изход става вход за FFN2
и така нататък, до FFNk
. Всяка стъпка зависи изрично от завършването на предишната. FFN Fusion прекъсва тази верига на зависимост. Математически, FFN обикновено включва две линейни трансформации с нелинейна активационна функция (като GeLU или SwiGLU) между тях: FFN(x) = W_out * Activation(W_in * x)
. FFN Fusion използва факта, че линейните трансформации често могат да бъдат комбинирани.
Процесът на сливане работи чрез конкатениране на теглата на отделните FFN слоеве. По-конкретно, входните матрици на теглата (W_in
) на последователните FFNs се комбинират (напр. блоково-диагонално) в една, по-голяма входна матрица на теглата за слетия слой. По подобен начин, изходните матрици на теглата (W_out
) се конкатенират, за да образуват една, по-широка изходна матрица на теглата. Активационната функция се прилага поелементно в рамките на тази по-голяма структура. Тази конструкция гарантира, че слетият FFN работи върху оригиналния вход x
едновременно по паралелни пътища, съответстващи на оригиналните FFNs. Изходите от тези паралелни пътища след това се агрегират имплицитно от структурата на конкатенираните изходни тегла.
Теоретичната основа потвърждава, че тази слята структура може да поддържа същия представителен капацитет като оригиналната последователност от FFNs, при условие че зависимостите между оригиналните слоеве наистина са били ниски. Ключът е да се идентифицират кои последователности са подходящи за сливане. За да направят това систематично, изследователите от NVIDIA са използвали техника за анализ на зависимостите. Те измерили косинусовото разстояние (cosine distance) между изходните скрити състояния на последователни FFN слоеве за представителен набор от входни токени. Малко косинусово разстояние показва, че изходният вектор на един FFN сочи в много сходна посока с изходния вектор на следващия FFN в последователността. Тази сходност предполага ниска функционална зависимост – вторият FFN не променя драстично представянето на информацията, установено от първия. Последователности от FFNs, показващи постоянно ниски косинусови разстояния между слоевете, са идентифицирани като основни кандидати за сливане, тъй като сливането им е по-малко вероятно да наруши научените представяния на модела и цялостната производителност. Този подход, базиран на данни, позволява целенасочено прилагане на FFN Fusion към частите на модела, където той ще бъде най-ефективен и най-малко разрушителен.
От гигант към спринтьор: Трансформацията Ultra-253B-Base
Практическата сила на FFN Fusion беше ярко демонстрирана чрез прилагането му към един от най-големите публично известни модели по това време, Llama-3.1-405B-Instruct. Този модел, разполагащ с 405 милиарда параметри, представляваше значително изчислително предизвикателство за инференция. Изследователите предприеха процес на архитектурно усъвършенстване, комбинирайки FFN Fusion със стратегическо подрязване, за да създадат нов, по-ефективен модел, наречен Ultra-253B-Base.
Процесът на трансформация включваше няколко стъпки:
- Анализ: Използвайки своите инструменти за анализ на зависимости (измерване на косинусови разстояния), изследователите идентифицираха последователности от последователни FFN слоеве в рамките на архитектурата Llama-405B, които показваха ниска междуслойна зависимост.
- Сливане (Fusion): Тези идентифицирани FFN последователности след това бяха слети в единични, по-широки FFN слоеве, както е описано по-горе (конкатениране на тегла). Това директно намали броя на последователните стъпки в мрежата.
- Подрязване (Pruning): Едновременно или впоследствие, параметри, счетени за по-малко критични (потенциално идентифицирани чрез стандартни техники за подрязване или информирани от процеса на сливане), бяха премахнати от модела.
Този комбиниран подход доведе до Ultra-253B-Base, модел с 253 милиарда параметри. Това представлява значително намаление – над 37% по-малко параметри от оригиналния 405B модел. Архитектурните промени, постигнати чрез сливане, бяха ключови за позволяването на такова значително намаляване на размера, като същевременно се целеше запазване на производителността. Целта не беше просто по-малък модел, а фундаментално по-бърз и по-икономичен от изчислителна гледна точка, благодарение на увеличения паралелизъм, отключен от FFN Fusion. Този казус послужи като решаващо доказателство за концепцията, показвайки, че мащабни модели могат да бъдат съществено преструктурирани за ефективност.
Измерване на ползите: Производителност, скорост и спестяване на ресурси
Истинският тест за всяка техника за оптимизация се крие в нейното измеримо въздействие. За Ultra-253B-Base резултатите, получени от прилагането на FFN Fusion и подрязване към базата Llama-405B, бяха убедителни, демонстрирайки значителни подобрения в множество измерения без съществени компромиси във възможностите.
Скорост и цена на инференцията: Най-поразителните ползи бяха наблюдавани в ефективността на инференцията. В сравнение с оригиналния модел с 405B параметри, Ultra-253B-Base постигна:
- 1.71x подобрение в латентността на инференцията. Това означава, че моделът може да генерира отговори значително по-бързо, което е от решаващо значение за приложения в реално време.
- 35x намаление на изчислителните разходи на токен, измерено при размер на партидата 32. Това драстично намаляване на изчислителните операции (FLOPs) на токен се превръща директно в по-ниска консумация на енергия и намалени хардуерни изисквания за обслужване на модела.
Бенчмаркове за производителност на модела: Критично, тези подобрения в ефективността не дойдоха за сметка на интелигентността или възможностите на модела. Ultra-253B-Base беше строго оценен по набор от стандартни LLM бенчмаркове, постигайки резултати, които бяха силно конкурентни, а в някои случаи и надминаваха, оригиналния, много по-голям модел:
- MMLU (Massive Multitask Language Understanding): 85.17%
- MMLU-Pro (По-предизвикателна версия): 72.25%
- Arena Hard (Оценка на човешките предпочитания при трудни подкани): 84.92%
- HumanEval (Способност за генериране на код): 86.58%
- MT-Bench (Качество на многоходови разговори): 9.19
Тези резултати показват, че слетият и подрязан модел е запазил много високо ниво на разбиране, разсъждение, способност за кодиране и качество на разговора, сравнимо с неговия предшественик с 405B параметри, въпреки че има само 253 милиарда параметри.
Ефективност на паметта: Освен изчислителната скорост и разходи, FFN Fusion допринесе и за спестяване на памет. Архитектурните промени, потенциално комбинирани с други оптимизации, станали възможни благодарение на сливането, доведоха до 2x намаление на размера на кеша ключ-стойност (KV cache), необходим по време на инференция. KV cache съхранява междинни активации (ключове и стойности на вниманието) и може да консумира значителна GPU памет, особено при дълги входни последователности. Намаляването наполовина на това изискване прави възможно стартирането на модела на хардуер с по-малко памет или обработката на по-дълги контексти в рамките на същите ограничения на паметта.
Тези количествено измерими резултати подчертават ефективността на FFN Fusion. Той позволи създаването на модел, който беше не само по-малък, но и фундаментално по-ефективен по отношение на скорост, изчислителни операции и използване на памет, като същевременно поддържаше върхова производителност на предизвикателни бенчмаркове.
Запазване на знанието: Ключовата роля на обучението и фината настройка
Архитектурното модифициране на масивен, предварително обучен езиков модел като Llama-405B чрез техники като FFN Fusion и подрязване неизбежно нарушава деликатния баланс на неговите научени параметри. Докато математическата еквивалентност цели да запази функцията локално, глобалното поведение на мрежата може да се промени. За да се гарантира, че полученият модел Ultra-253B-Base не само стана по-ефективен, но и запази високото си ниво на производителност, беше от съществено значение внимателно организиран процес на обучение след модификацията.
Този процес включваше две основни фази:
Дестилация на знание (Knowledge Distillation): Първата стъпка беше прехвърлянето на знанието от оригиналния, по-голям модел (или подходящ модел-учител) обратно в модифицираната архитектура. Това беше постигнато чрез дестилация, при която моделът Ultra-253B-Base беше обучен да имитира изходите или вътрешните представяния на модела-учител. Тази фаза използва значителен набор от данни, по-конкретно 54 милиарда токена, обработени с 8k контекстен прозорец. Дестилацията помага на слетия и подрязан модел да възстанови нюанси и способности, които може да са били леко нарушени по време на архитектурните промени.
Етапна фина настройка (Staged Fine-Tuning): След дестилацията, моделът премина през серия от етапи на фина настройка, специално проектирани да го адаптират към обработка на прогресивно по-дълги контекстни дължини. Това е от решаващо значение за съвременните LLMs, от които често се очаква да обработват и генерират текст въз основа на обширен вход. Фината настройка протече на етапи:
- Фина настройка при 16k контекстен прозорец.
- Допълнителна фина настройка при 32k контекстен прозорец.
- Финален етап на фина настройка при 128k контекстен прозорец.
Този етапен подход позволява на модела постепенно да адаптира своите параметри, включително новосформираните слети FFN слоеве и оптимизираните механизми на KV cache, за ефективно управление на зависимостите и потока на информация при много дълги последователности. Всеки етап надгражда предишния, осигурявайки стабилност и стабилна производителност при различни размери на контекста.
Този щателен режим на обучение, комбиниращ мащабна дестилация с етапна фина настройка за дълъг контекст, беше инструмент за преодоляване на пропастта между архитектурната ефективност и високата точност на производителността. Той гарантира, че ползите от скоростта, разходите и паметта, доставени от FFN Fusion, не компрометират точността и възможностите на модела при взискателни бенчмаркове.
По-широки хоризонти: Обобщаемост и бъдещи насоки
Успешната трансформация на Llama-405B в Ultra-253B-Base предоставя силни доказателства за потенциала на FFN Fusion, но истинската му стойност се крие в по-широката му приложимост и прозренията, които предлага за бъдещия дизайн на LLM. Изследването демонстрира, че това не е просто еднократен трик, приложим само за огромни модели.
Валидиране в различни мащаби: Изследователите от NVIDIA изрично тестваха методологията FFN Fusion върху модели с различни размери. Те успешно приложиха техниката към модели със 70B параметри, постигайки сходни печалби от ефективност спрямо оригиналните им аналози. Те също така докладваха валидиране в мащаб 49B, допълнително затвърждавайки идеята, че независимостта на FFN и потенциалът за сливане не са изключителни характеристики на най-големите модели, а може да са по-общо свойство на архитектурата transformer, потенциално ставайки по-изразени при по-големи мащаби, където естествено се срещат по-дълбоки FFN последователности. Това предполага, че FFN Fusion може да се превърне в стандартен инструмент в арсенала за оптимизация на LLM, приложим в редица размери на модели.
FFN срещу сливане на цели блокове: Изследването също хвърли светлина върху специфичната роля на FFN слоевете в сравнение със слоевете за внимание в рамките на transformer блока. Докато последователните FFN слоеве често показваха ниска зависимост, което ги прави идеални за сливане, опитите за паралелизиране на цели transformer блокове (включително както слоеве за внимание, така и FFN слоеве) се оказаха по-предизвикателни. Анализът показа по-силни взаимозависимости, включващи механизмите за внимание. Сливането на цели блокове едновременно доведе до по-значително влошаване на производителността, което предполага, че слоевете за внимание играят по-критична, последователно зависима роля в интегрирането на информация между токените. Това откритие помага да се очертаят границите на ефективната паралелизация – FFN последователностите са плодородна почва, докато механизмите за внимание може да изискват различни стратегии за оптимизация.
Последици за архитектурата на LLM: FFN Fusion предлага повече от просто техника за оптимизация след факта; той предоставя ценни прозрения за проектирането на бъдещи LLMs. Откритието, че последователности от FFNs често могат да бъдат третирани като паралелизируеми единици, оспорва строго последователното предположение, което често е в основата на дизайна на transformer. Това може да вдъхнови нови архитектури, които са по своята същност по-приятелски настроени към паралелизма от самото начало. Бъдещите модели могат да бъдат проектирани с FFN структури, изрично предназначени за сливане или паралелно изпълнение, потенциално водещи до съвместен дизайн на хардуер и софтуер, където GPU архитектурите са допълнително оптимизирани за използване на този тип паралелизъм. Систематичният метод, използващ косинусово разстояние за количествено определяне на междуслойната зависимост, също предоставя ценен аналитичен инструмент за разбиране и препроектиране на структури на невронни мрежи. Като демонстрира, че са възможни значителни печалби от ефективност чрез обмислено архитектурно препроектиране, фокусирано върху паралелизирането на съществуващи компоненти, FFN Fusion проправя пътя за разработване на LLMs, които са едновременно мощни и по-устойчиви от изчислителна гледна точка. Той подчертава пътя към смекчаване на ескалиращите изисквания за ресурси на авангардния AI.