Как всъщност работи ChatGPT?
ChatGPT е чатбот, базиран на голям езиков модел (GPT-3.5 или GPT-4). Под капака ChatGPT е предварително обучена невронна мрежа, която е обучена на впечатляващо количество публично достъпни текстови данни от интернет.
Този огромен обем от данни позволява на модела да научи шаблони, граматика, контекст и дори някои познания на здравия разум, което му позволява да генерира смислени и последователни отговори на потребителските заявки. ChatGPT има уникалната способност да се включва в интерактивни и динамични разговори с потребителите, което го прави обещаващ инструмент за широк спектър от приложения.
Какво е голям езиков модел
Големите езикови модели са алгоритми за изкуствен интелект, които използват техники за дълбоко обучение, известни като обработка на естествен език, за да четат, разбират, генерират и предсказват текст.
Когато въведете запитване, моделът не търси отговора в интернет, а ви дава отговора от главата си (въпреки че няма глава). Той генерира отговора дума по дума, като определя всяка следваща дума въз основа на вероятности, получени от текстовите данни, върху които е обучен, и от текста, който е генерирал до момента.
11 милиарда параметри: отговаряне на въпроси, аритметика, разбиране на езика
Как е възможно това? Ами ChatGPT няма нужда да търси информация в интернет, защото вече знае всичко (е, почти). Цялото налично в интернет знание е включено в ChatGPT чрез неговите 175 милиарда параметъра.
62 милиарда параметри: превод, разсъждение по метода на здравия разум, попълване на код
С увеличаването на броя на параметрите на модела в него се появяват нови способности, които не са били целенасочено проектирани от никого.
540 милиарда параметри: логически вериги за изводи, разпознаване на модели, разбиране на текст
Как беше обучен ChatGPT
ChatGPT е обучен по стотици хиляди книги, статии, диалози, включително:
- WebText2 (голяма библиотека от над 45 терабайта текстови данни)
- Cornell Movie Dialogs Corpus (набор от данни, съдържащ над 200 000 разговора между 10 000 филмови герои във филмови сценарии)
- Диалогов корпус на Ubuntu (колекция от 1 000 000 многопосочни диалога между потребители на Ubuntu и екипа за поддръжка на общността)
- милиарди редове код от GitHub
Първо, на GPT беше позволено да обработи всички данни, до които имаше достъп, без никакви човешки напътствия, което му позволи самостоятелно да схване регламентите и връзките, които диктуват сферата на текста (това е така нареченото "неконтролирано обучение").
След това, за да се прецизира езиковият модел, беше приложена техника, наречена усилено учене с обратна връзка от човека (RLHF):
- Човешките обучители проведоха разговори, в които играеха и двете страни - на потребителя и на асистента с изкуствен интелект. Те имаха достъп до предложения, написани от модели, които им помагаха да съставят отговори. Моделът беше обучен с помощта на контролирана фина настройка, за да предвиди следващото съобщение на асистента, като се има предвид историята на диалога.
- За да се създаде модел за възнаграждение за обучение с подсилване, бяха събрани данни за сравнение. Обучителите на изкуствен интелект класираха множество отговори на модела по качество, като взеха предвид неща като дали отговорът има смисъл и дали е полезен. Избраните отговори се превърнаха в набор от данни за диалог с нови съобщения, написани от модела.
- Моделът за възнаграждение беше създаден с помощта на техника, наречена моделиране на възнаграждението, при която моделът беше обучен да предсказва качеството на отговора въз основа на данните за сравнение, събрани в предишната стъпка.
В крайна сметка ChatGPT се научи как да реагира във всяка ситуация, да дава точни и уместни отговори и да избягва потенциално вредни теми.
Архитектура Transformer
Процесът на обучение на ChatGPT включва предсказване на следващата дума в изречението, като се вземат предвид предишните думи. За тази цел се използва архитектура Transformer (между другото, T в ChatGPT означава Transformer), която се състои от слоеве от механизми за самонаблюдение. Самонаблюдението позволява на модела да преценява различните думи в изречението въз основа на тяхната важност и значимост, за да предскаже точно следващата дума.
По-старите рекурентни невронни мрежи (RNN) четат текста отляво надясно. Макар че това работи добре, когато свързаните думи са в съседство, то се превръща в предизвикателство, когато те са в противоположните краища на изречението.
Ето защо, когато RNN работи с текст от една страница, до средата на третия параграф тя вече "забравя" какво е било в самото начало.
За разлика от тях трансформаторите могат да обработват едновременно всяка дума в изречението и да сравняват всяка дума с всички останали. Това им позволява да фокусират "вниманието" си върху най-подходящите думи, независимо от позицията им във входната последователност.
Токенизация
Важно е да се отбележи, че трансформаторите не работят с отделни думи (те не могат да четат като хората). Вместо това входният текст се разделя на отделни лексеми, включително думи, препинателни знаци и специални лексеми. Токените в ChatGPT са текстови парчета, представени като вектори (числа с посока и позиция).
Близостта на токените-вектори в пространството определя нивото им на асоцииране: колкото по-близки са, толкова по-свързани са те. Освен това вниманието се кодира като вектор, което позволява на невронните мрежи, базирани на трансформатори, да запазват важна информация от предходните части на абзаца.
Когато потребителят взаимодейства с ChatGPT, моделът получава историята на разговора като входна информация, включваща както подсказките на потребителя, така и генерираните от модела отговори. Входът се токенизира и след това се подава към невронната мрежа. Всеки символ се свързва с вграждане, което представя неговото значение в контекста на разговора.
GPT-3 е обучен на приблизително 500 милиарда лексеми, което позволява на езиковите му модели по-лесно да присвояват значение и да предсказват правдоподобен следващ текст, като ги съпоставят във векторното пространство. Много думи се съпоставят с единични лексеми, въпреки че по-дългите или по-сложни думи често се разделят на няколко лексеми. Средната дължина на лексемите е около четири знака.
По време на етапа на извод, когато моделът генерира отговори, се използва процес, известен като авторегресия. Това означава, че моделът предсказва по една дума, като същевременно се обуславя от историята на разговора и генерираните преди това думи. За да се гарантира, че генерираният отговор е последователен и релевантен, се използват техники като top-p извадка и температурно мащабиране.
Накратко, параметърът top-p дава на модела набор от възможности (жетони), от които да избира, докато температурата определя вероятността за избор на определен жетон. Когато температурата е зададена на 0, моделът ще избере само най-популярните лексеми (думи, които най-често се срещат заедно в текстовите данни, с които е обучен ChatGPT):
Това не винаги е чудесно. По-високите температури правят резултатите по-разнообразни:
Повече за параметрите на ChatGPT: