Онлайн час в Google Meet
Лого на 91. НЕГ „Проф. Константин Гълъбов“

12. клас · Избираем модул · Урок 16

Как работят големите езикови модели

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

Още един обучен модел

В уроци 11–15 обучавахте модели по примери: Teachable Machine разпознаваше изображения, Orange предсказваше клас по признаци. Чат асистентът, с който проверявахте SQL заявки в урок 5, е същото нещо — голям езиков модел (large language model, LLM), обучен по примери. Разликата е в мащаба: примерите са почти целият текст в интернет, а „признаците“ са думите преди мястото, което трябва да се попълни.

Днес отваряме капака. Не за да построим такъв модел, а за да знаем какво може и какво не може, преди в урок 19 да го извикаме от код.

Токени — моделът не вижда букви

Моделът не работи с букви — те са твърде малко информация на символ. Не работи и с думи — речникът на един език е огромен и всяка непозната дума би била проблем. Работи с нещо по средата.

Токен (token)

Парче текст — цяла дума, част от дума, знак или интервал, — на което моделът дава номер. Токените са единиците, с които той чете и пише.

„Изкуственият интелект е тук“ → 7 токенаИзкуст1043вен1260ият1477 интел1694ект1911 е2128 тук2345Под всеки токен: неговият номер в речника. Моделът вижда само номерата.
Едно и също изречение може да е 7 токена на английски и 15–20 на български.

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

Предсказване на следващия токен

„Утре отивам на …“ → вероятности за следващия токенучилище41%работа22%къщи14%магазина9%лекар5%…9%Моделът не „избира правилния“ отговор — той тегли от това разпределение.
Изходът не е дума, а разпределение на вероятности върху целия речник — десетки хиляди числа.

Избраният токен се долепя към текста и всичко се повтаря. Токен по токен — така се получава цял отговор. Това се нарича авторегресивно генериране.

Изглежда като евтин номер, но за да предсказваш добре следващата дума в произволен текст, трябва да си усвоил доста: „Столицата на Франция е …“ иска факти, „2 + 2 = …“ иска аритметика, „Заявката не връща редове, защото …“ иска разбиране за SQL. Способностите не са програмирани — появяват се като страничен ефект от простата задача върху огромно количество текст.

Как става чатбот

  1. Предварително обучение — четене на огромно количество текст с предсказване на следващия токен. Тук се появяват знанията.
  2. Донастройване по инструкции — хора пишат примерни двойки „задача → добър отговор“. Тук моделът се научава да отговаря, вместо да продължава текста.
  3. Обучение по човешки предпочитания — хора сравняват отговори по двойки. Тук се настройват тонът, отказите и полезността.

Температура — защо отговорите се различават

Температура (temperature)

Настройка, която променя колко „смело“ моделът тегли от разпределението на вероятностите.

  • 0 — винаги най-вероятният токен. Отговорите са предвидими и повторяеми; подходящо за извличане на данни, код, класификация.
  • 0.7 — обичайното за разговор: разнообразно, но свързано.
  • 1.5 и нагоре — редките токени получават шанс. Полезно за хрумвания, но текстът бързо се разпада.

Контекстен прозорец

Контекстен прозорец (context window)

Максималният брой токени, които моделът може да обхване наведнъж — въпросът, приложените документи, историята на разговора и собственият му отговор заедно.

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

Ограниченията идват от устройството

СлабостОткъде идваКакво помага
Халюцинации — измислени факти, книги, функцииразпределението никога не е празно; моделът не различава „помня го“ от „звучи правилно“дайте му източника във въпроса; поискайте „не знам“ като допустим отговор; проверявайте
Няма актуални даннизнае само текста, с който е обучен, до определена датаподайте актуалните данни сами или ползвайте модел с търсене
Бърка броене на букви, обръщане на думавижда токени, не символипоискайте да изпише буквите една по една — така ги превръща в отделни токени
Непоследователна аритметика с дълги числачислото се разпада на случайни парчета; смята „по усет“стъпка по стъпка или инструмент (калкулатор, код)

Какво трябва да запомниш

  • Моделът чете и пише токени — парчета текст с номер, — а не букви и думи. Български текст е 2–3 пъти повече токени от английски.
  • На всяка стъпка връща вероятности за следващия токен; отговорът се получава чрез повтаряне на стъпката.
  • Температурата определя колко случаен е изборът; при 0 отговорът е повторяем, при висока стойност — разнообразен.
  • Контекстният прозорец е всичко, което моделът вижда наведнъж; той няма памет извън него.
  • Халюцинациите са следствие от устройството: моделът винаги има какво да каже. Броене, дълга аритметика и актуални данни са слабите му места.
  • Отговорът на модела се проверява, а не се вярва.