кочан Базирани на декодер големи езикови модели: Пълно ръководство - Unite.AI
Свържете се с нас

Изкуствен интелект

Базирани на декодер големи езикови модели: Пълно ръководство

mm
Обновено on
Базирани на декодер големи езикови модели: Пълно ръководство

Големи езикови модели (LLM) направиха революция в областта на обработката на естествения език (NLP), като демонстрираха забележителни способности за генериране на човешки текст, отговаряне на въпроси и подпомагане с широк набор от задачи, свързани с езика. В основата на тези мощни модели лежи трансформаторна архитектура само за декодер, вариант на оригиналната трансформаторна архитектура, предложен в основната статия „Вниманието е всичко, от което се нуждаете” от Vaswani et al.

В това изчерпателно ръководство ще проучим вътрешната работа на базираните на декодер LLMs, като се задълбочим във фундаменталните градивни елементи, архитектурните иновации и детайлите на изпълнението, които изведоха тези модели в челните редици на изследванията и приложенията на НЛП.

Архитектурата на трансформатора: опресняване

Преди да се потопите в спецификата на LLM, базирани на декодер, важно е да преразгледате трансформаторната архитектура, основата, върху която са изградени тези модели. Трансформаторът въведе нов подход към моделирането на последователности, разчитайки единствено на механизми за внимание за улавяне на дългосрочни зависимости в данните, без необходимост от повтарящи се или конволюционни слоеве.

Трансформърс архитектура

Трансформърс архитектура

Оригиналната трансформаторна архитектура се състои от два основни компонента: енкодер и декодер. Кодерът обработва входната последователност и генерира контекстуализирано представяне, което след това се използва от декодера, за да произведе изходната последователност. Тази архитектура първоначално е проектирана за задачи за машинен превод, при които енкодерът обработва входното изречение на изходния език, а декодерът генерира съответното изречение на целевия език.

Самовниманието: Ключът към успеха на Transformer

В сърцето на трансформатор се крие механизмът за самовнимание, мощна техника, която позволява на модела да претегля и обобщава информация от различни позиции във входната последователност. За разлика от традиционните модели на последователност, които обработват входните токени последователно, самовниманието позволява на модела да улавя зависимости между всяка двойка токени, независимо от тяхната позиция в последователността.

Многократно внимание

Многократно внимание

Операцията за самовнимание може да бъде разделена на три основни стъпки:

  1. Прогнози за заявка, ключ и стойност: Входната последователност се проектира в три отделни представяния: запитвания (Q), ключове (K) и ценности (V). Тези прогнози се получават чрез умножаване на входа с научени матрици за тегло.
  2. Изчисляване на резултата за внимание: За всяка позиция във входната последователност оценките за внимание се изчисляват чрез вземане на точковия продукт между съответния вектор на заявката и всички ключови вектори. Тези резултати представляват уместността на всяка позиция спрямо текущата позиция, която се обработва.
  3. Претеглена сума от стойности: Резултатите за внимание се нормализират с помощта на функция softmax и получените тегла за внимание се използват за изчисляване на претеглена сума от векторите на стойността, като се получава изходното представяне за текущата позиция.

Вниманието с няколко глави, вариант на механизма за самовнимание, позволява на модела да улавя различни типове взаимоотношения чрез изчисляване на резултати за внимание в множество "глави” паралелно, всеки със собствен набор от прогнози за заявка, ключ и стойност.

Архитектурни варианти и конфигурации

Докато основните принципи на базираните на декодер LLMs остават последователни, изследователите са проучили различни архитектурни варианти и конфигурации за подобряване на производителността, ефективността и възможностите за обобщение. В този раздел ще разгледаме различните архитектурни решения и техните последици.

Видове архитектура

Базираните на декодер LLMs могат да бъдат широко класифицирани в три основни типа: енкодер-декодер, каузален декодер и префиксен декодер. Всеки тип архитектура показва различни модели на внимание.

Архитектура на енкодер-декодер

Базирана на модела vanilla Transformer, архитектурата на енкодер-декодер се състои от два стека: енкодер и декодер. Енкодерът използва подредени многоглави слоеве за самовнимание, за да кодира входната последователност и да генерира латентни представяния. След това декодерът извършва кръстосано внимание върху тези представяния, за да генерира целевата последователност. Въпреки че са ефективни при различни задачи на НЛП, малко LLM, като напр Флан-Т5, приемете тази архитектура.

Архитектура на каузален декодер

Архитектурата на причинно-следствения декодер включва еднопосочна маска за внимание, позволяваща на всеки входен токен да обръща внимание само на минали токени и себе си. И входните, и изходните токени се обработват в рамките на един и същ декодер. Известни модели като GPT-1, GPT-2 и GPT-3 са изградени върху тази архитектура, като GPT-3 демонстрира забележителни възможности за обучение в контекст. Много LLM, включително OPT, BLOOM и Gopher, са широко приели каузални декодери.

Архитектура на префикс декодер

Известен също като некаузален декодер, архитектурата на префиксния декодер модифицира механизма за маскиране на причинно-следствените декодери, за да позволи двупосочно внимание върху префиксни токени и еднопосочно внимание върху генерирани токени. Подобно на архитектурата енкодер-декодер, декодерите с префикс могат да кодират последователността на префикса двупосочно и да предсказват изходни токени авторегресивно, като използват споделени параметри. LLM базирани на префикс декодери включват GLM130B и U-PaLM.

И трите вида архитектура могат да бъдат разширени с помощта на комбинация от експерти (MoE) техника на мащабиране, която рядко активира подмножество от тегла на невронни мрежи за всеки вход. Този подход е използван в модели като Switch Transformer и GLaM, като увеличаването на броя на експертите или общия размер на параметрите показва значителни подобрения в производителността.

Трансформатор само с декодер: Възприемане на авторегресивната природа

Докато оригиналната трансформаторна архитектура е проектирана за задачи от последователност към последователност, като машинен превод, много NLP задачи, като моделиране на език и генериране на текст, могат да бъдат оформени като авторегресивни проблеми, при които моделът генерира един символ наведнъж, в зависимост от преди това генерирани токени.

Въведете трансформатора само за декодер, опростен вариант на архитектурата на трансформатора, който запазва само компонента на декодера. Тази архитектура е особено подходяща за авторегресивни задачи, тъй като генерира изходни токени един по един, като използва генерираните преди това токени като входен контекст.

Ключовата разлика между трансформатора само за декодер и оригиналния декодер на трансформатора се крие в механизма за самонасочване. В настройката само за декодер операцията за самонасочване е модифицирана, за да попречи на модела да обръща внимание на бъдещи токени, свойство, известно като причинно-следствена връзка. Това се постига чрез техника, наречена „маскирано самовнимание“, където оценките на вниманието, съответстващи на бъдещи позиции, са настроени на отрицателна безкрайност, като ефективно ги маскират по време на стъпката на нормализиране на softmax.

Архитектурни компоненти на LLM, базирани на декодер

Докато основните принципи на самовниманието и маскираното самовнимание остават същите, съвременните LLM, базирани на декодер, въведоха няколко архитектурни иновации за подобряване на производителността, ефективността и възможностите за обобщение. Нека проучим някои от ключовите компоненти и техники, използвани в най-съвременните LLMs.

Входящо представяне

Преди да обработят входната последователност, LLM, базирани на декодер, използват техники за токенизиране и вграждане, за да преобразуват необработения текст в цифрово представяне, подходящо за модела.

векторно вграждане

векторно вграждане

токанизация: Процесът на токенизиране преобразува въведения текст в поредица от токени, които могат да бъдат думи, поддуми или дори отделни знаци, в зависимост от използваната стратегия за токенизиране. Популярните техники за токенизиране за LLMs включват кодиране на двойки байтове (BPE), SentencePiece и WordPiece. Тези методи имат за цел да постигнат баланс между размера на речника и детайлността на представянето, което позволява на модела да обработва редки думи или думи извън речника ефективно.

Вграждане на токени: След токенизация всеки токен се картографира към плътно векторно представяне, наречено вграждане на токен. Тези вграждания се научават по време на процеса на обучение и улавят семантични и синтактични връзки между токени.

Позиционни вграждания: Трансформаторните модели обработват цялата входна последователност едновременно, като им липсва присъщата идея за позиции на токени, присъстващи в повтарящите се модели. За да се включи позиционна информация, към вгражданията на токени се добавят позиционни вграждания, което позволява на модела да прави разлика между токени въз основа на техните позиции в последователността. Ранните LLMs използваха фиксирани позиционни вграждания, базирани на синусоидални функции, докато по-нови модели изследваха обучаеми позиционни вграждания или алтернативни техники за позиционно кодиране като въртящи се позиционни вграждания.

Блокове за внимание с няколко глави

Основните градивни елементи на LLM, базирани на декодер, са слоеве за внимание с множество глави, които изпълняват маскираната операция за самовнимание, описана по-рано. Тези слоеве са подредени няколко пъти, като всеки слой се грижи за изхода на предишния слой, което позволява на модела да улавя все по-сложни зависимости и представяния.

Внимание Глави: Всеки слой за внимание с множество глави се състои от множество „глави за внимание“, всяка със собствен набор от заявки, ключови и стойностни проекции. Това позволява на модела да се грижи за различни аспекти на входа едновременно, улавяйки различни взаимоотношения и модели.

Остатъчни връзки и нормализиране на слоя: За да улеснят обучението на дълбоки мрежи и да смекчат проблема с изчезващия градиент, базираните на декодер LLM използват остатъчни връзки и техники за нормализиране на слоеве. Остатъчните връзки добавят входа на слой към неговия изход, позволявайки на градиентите да протичат по-лесно по време на обратното разпространение. Нормализирането на слоя помага за стабилизиране на активациите и градиентите, като допълнително подобрява стабилността и ефективността на тренировката.

Слоеве за подаване напред

В допълнение към слоевете за внимание с множество глави, LLM, базирани на декодер, включват слоеве за подаване напред, които прилагат проста невронна мрежа за подаване напред към всяка позиция в последователността. Тези слоеве въвеждат нелинейности и позволяват на модела да научи по-сложни представяния.

Функции за активиране: Изборът на функция за активиране в слоевете за подаване напред може значително да повлияе на производителността на модела. Докато по-ранните LLM разчитаха на широко използваното ReLU активиране, по-новите модели възприеха по-сложни функции за активиране като линейната единица за грешка на Гаус (GELU) или активирането SwiGLU, които показаха подобрена производителност.

Оскъдно внимание и ефективни трансформатори

Въпреки че механизмът за самовнимание е мощен, той идва с квадратична изчислителна сложност по отношение на дължината на последователността, което го прави изчислително скъп за дълги последователности. За да се отговори на това предизвикателство, бяха предложени няколко техники за намаляване на изискванията за изчисление и памет на самовниманието, което позволява ефективна обработка на по-дълги последователности.

Оскъдно внимание: Техниките за оскъдно внимание, като тази, използвана в модела GPT-3, избирателно обръщат внимание на подмножество от позиции във входната последователност, вместо да изчисляват резултати за внимание за всички позиции. Това може значително да намали изчислителната сложност, като същевременно поддържа разумна производителност.

Плъзгащ се прозорец Внимание: Въведено в модела Mistral 7B, вниманието на плъзгащия се прозорец (SWA) е проста, но ефективна техника, която ограничава обхвата на вниманието на всеки жетон до фиксиран размер на прозореца. Този подход използва способността на трансформаторните слоеве да предават информация през множество слоеве, като ефективно увеличава обхвата на вниманието без квадратичната сложност на пълното самовнимание.

Подвижен буферен кеш: За допълнително намаляване на изискванията за памет, особено за дълги последователности, моделът Mistral 7B използва подвижна буферна кеш памет. Тази техника съхранява и използва повторно изчислените вектори на ключ и стойност за фиксиран размер на прозореца, като избягва излишните изчисления и минимизира използването на паметта.

Групирана заявка Внимание: Въведено в модела LLaMA 2, вниманието към групирана заявка (GQA) е вариант на механизма за внимание към множество заявки, който разделя заглавията на вниманието на групи, като всяка група споделя общ ключ и матрица на стойността. Този подход постига баланс между ефективността на вниманието при множество заявки и изпълнението на стандартното самовнимание, осигурявайки подобрени времена за извод, като същевременно поддържа висококачествени резултати.

Внимание на групирана заявка

Внимание на групирана заявка

Размер на модела и мащабиране

Една от определящите характеристики на съвременните LLM е техният чист мащаб, като броят на параметрите варира от милиарди до стотици милиарди. Увеличаването на размера на модела е решаващ фактор за постигане на най-съвременна производителност, тъй като по-големите модели могат да уловят по-сложни модели и връзки в данните.

Брой параметър: Броят на параметрите в базиран на декодер LLM се определя основно от измерението на вграждане (d_model), броя на главите за внимание (n_heads), броя на слоевете (n_layers) и размера на речника (vocab_size). Например, моделът GPT-3 има 175 милиарда параметри, с d_model = 12288, n_глави = 96, n_слоеве = 96, и vocab_size = 50257.

Паралелизъм на модела: Обучението и внедряването на такива масивни модели изискват значителни изчислителни ресурси и специализиран хардуер. За да се преодолее това предизвикателство, са използвани техники за паралелизъм на модела, при които моделът е разделен на множество GPU или TPU, като всяко устройство отговаря за част от изчисленията.

Смес от експерти: Друг подход за мащабиране на LLM е архитектурата на смесване на експерти (MoE), която комбинира множество експертни модели, всеки специализиран в специфично подмножество от данни или задача. Моделът Mixtral 8x7B е пример за модел на MoE, който използва Мистрал 7Б като негов базов модел, постигайки превъзходна производителност, като същевременно поддържа изчислителна ефективност.

Извод и генериране на текст

Един от основните случаи на използване на LLM, базирани на декодер, е генерирането на текст, където моделът генерира съгласуван и естествено звучащ текст въз основа на дадена подкана или контекст.

Авторегресивно декодиране: По време на извод, базираните на декодер LLM генерират текст по авторегресивен начин, предвиждайки един токен наведнъж въз основа на генерираните преди това токени и подканата за въвеждане. Този процес продължава, докато не бъде изпълнен предварително определен критерий за спиране, като например достигане на максимална дължина на последователност или генериране на маркер за край на последователността.

Стратегии за вземане на проби: За генериране на разнообразен и реалистичен текст могат да се използват различни стратегии за вземане на проби, като вземане на проби от върха k, вземане на проби отгоре (известно също като вземане на проби от ядро) или температурно мащабиране. Тези техники контролират компромиса между разнообразието и съгласуваността на генерирания текст чрез коригиране на разпределението на вероятността върху речника.

Бърз инженеринг: Качеството и спецификата на подканата за въвеждане може значително да повлияе на генерирания текст. Бързото инженерство, изкуството да се създават ефективни подсказки, се очертава като решаващ аспект на използването на LLM за различни задачи, позволявайки на потребителите да ръководят процеса на генериране на модела и да постигнат желаните резултати.

Човешко декодиране: За по-нататъшно подобряване на качеството и съгласуваността на генерирания текст, техники като Обучение за подсилване от човешка обратна връзка (RLHF) са назначени на работа. При този подход човешките оценители предоставят обратна връзка за генерирания от модела текст, който след това се използва за фина настройка на модела, ефективното му привеждане в съответствие с човешките предпочитания и подобряване на неговите резултати.

Напредък и бъдещи насоки

Полето на базираните на декодери LLM се развива бързо, с нови изследвания и открития, които непрекъснато разширяват границите на това, което тези модели могат да постигнат. Ето някои забележителни постижения и потенциални бъдещи насоки:

Ефективни варианти на трансформатор: Въпреки че рядкото внимание и вниманието на плъзгащия се прозорец направиха значителни крачки в подобряването на ефективността на базираните на декодер LLM, изследователите активно изследват алтернативни трансформаторни архитектури и механизми за внимание, за да намалят допълнително изчислителните изисквания, като същевременно поддържат или подобряват производителността.

Мултимодални LLMs: Разширявайки възможностите на LLM отвъд текста, мултимодалните модели имат за цел да интегрират множество модалности, като изображения, аудио или видео, в единна унифицирана рамка. Това отваря вълнуващи възможности за приложения като надписи на изображения, визуални отговори на въпроси и генериране на мултимедийно съдържание.

Контролируемо поколение: Разрешаването на фин контрол върху генерирания текст е предизвикателна, но важна посока за LLM. Техники като контролирано генериране на текст и бърза настройка имат за цел да предоставят на потребителите по-подробен контрол върху различни атрибути на генерирания текст, като стил, тон или специфични изисквания за съдържание.

Заключение

Базираните на декодер LLM се очертаха като трансформираща сила в областта на обработката на естествен език, разширявайки границите на възможното с генерирането и разбирането на езика. От своето скромно начало като опростен вариант на трансформаторната архитектура, тези модели се превърнаха в изключително сложни и мощни системи, използвайки авангардни техники и архитектурни иновации.

Тъй като продължаваме да изследваме и усъвършенстваме LLM, базирани на декодер, можем да очакваме да станем свидетели на още по-забележителни постижения в задачи, свързани с езика, както и интегрирането на тези модели в широк набор от приложения и домейни. Въпреки това е от решаващо значение да се обърне внимание на етичните съображения, предизвикателствата при тълкуването и потенциалните пристрастия, които могат да възникнат от широкото разпространение на тези мощни модели.

Оставайки в челните редици на изследванията, насърчавайки открито сътрудничество и поддържайки силен ангажимент за отговорно разработване на AI, ние можем да отключим пълния потенциал на базираните на декодер LLM, като същевременно гарантираме, че те са разработени и използвани по безопасен, етичен и полезен начин за общество.

Прекарах последните пет години, потапяйки се в завладяващия свят на машинното обучение и дълбокото обучение. Моята страст и опит ме накараха да допринеса за над 50 различни проекта за софтуерно инженерство, със специален фокус върху AI/ML. Продължаващото ми любопитство също ме насочи към обработката на естествен език, област, която нямам търпение да проуча по-нататък.