Още един обучен модел
В уроци 11–15 обучавахте модели по примери: Teachable Machine разпознаваше изображения, Orange предсказваше клас по признаци. Чат асистентът, с който проверявахте SQL заявки в урок 5, е същото нещо — голям езиков модел (large language model, LLM), обучен по примери. Разликата е в мащаба: примерите са почти целият текст в интернет, а „признаците“ са думите преди мястото, което трябва да се попълни.
Днес отваряме капака. Не за да построим такъв модел, а за да знаем какво може и какво не може, преди в урок 19 да го извикаме от код.
Токени — моделът не вижда букви
Моделът не работи с букви — те са твърде малко информация на символ. Не работи и с думи — речникът на един език е огромен и всяка непозната дума би била проблем. Работи с нещо по средата.
Токен (token)
Парче текст — цяла дума, част от дума, знак или интервал, — на което моделът дава номер. Токените са единиците, с които той чете и пише.
Речникът не се измисля от човек. Алгоритъм обхожда огромно количество текст, тръгва от отделните символи и многократно слива най-често срещаната двойка съседни парчета. Затова честите английски думи са един токен, а редките думи и българските се разпадат на части.
Предсказване на следващия токен
Избраният токен се долепя към текста и всичко се повтаря. Токен по токен — така се получава цял отговор. Това се нарича авторегресивно генериране.
Изглежда като евтин номер, но за да предсказваш добре следващата дума в произволен текст, трябва да си усвоил доста: „Столицата на Франция е …“ иска факти, „2 + 2 = …“ иска аритметика, „Заявката не връща редове, защото …“ иска разбиране за SQL. Способностите не са програмирани — появяват се като страничен ефект от простата задача върху огромно количество текст.
Как става чатбот
- Предварително обучение — четене на огромно количество текст с предсказване на следващия токен. Тук се появяват знанията.
- Донастройване по инструкции — хора пишат примерни двойки „задача → добър отговор“. Тук моделът се научава да отговаря, вместо да продължава текста.
- Обучение по човешки предпочитания — хора сравняват отговори по двойки. Тук се настройват тонът, отказите и полезността.
Температура — защо отговорите се различават
Температура (temperature)
Настройка, която променя колко „смело“ моделът тегли от разпределението на вероятностите.
0— винаги най-вероятният токен. Отговорите са предвидими и повторяеми; подходящо за извличане на данни, код, класификация.0.7— обичайното за разговор: разнообразно, но свързано.1.5и нагоре — редките токени получават шанс. Полезно за хрумвания, но текстът бързо се разпада.
Контекстен прозорец
Контекстен прозорец (context window)
Максималният брой токени, които моделът може да обхване наведнъж — въпросът, приложените документи, историята на разговора и собственият му отговор заедно.
Всичко извън прозореца не съществува за модела. Той няма памет между заявките: „помни“ предишните ви съобщения само защото те се изпращат отново при всяко следващо. Дълъг разговор или дълъг документ на български изяждат прозореца много по-бързо, отколкото на английски.
Ограниченията идват от устройството
| Слабост | Откъде идва | Какво помага |
|---|---|---|
| Халюцинации — измислени факти, книги, функции | разпределението никога не е празно; моделът не различава „помня го“ от „звучи правилно“ | дайте му източника във въпроса; поискайте „не знам“ като допустим отговор; проверявайте |
| Няма актуални данни | знае само текста, с който е обучен, до определена дата | подайте актуалните данни сами или ползвайте модел с търсене |
| Бърка броене на букви, обръщане на дума | вижда токени, не символи | поискайте да изпише буквите една по една — така ги превръща в отделни токени |
| Непоследователна аритметика с дълги числа | числото се разпада на случайни парчета; смята „по усет“ | стъпка по стъпка или инструмент (калкулатор, код) |
Какво трябва да запомниш
- Моделът чете и пише токени — парчета текст с номер, — а не букви и думи. Български текст е 2–3 пъти повече токени от английски.
- На всяка стъпка връща вероятности за следващия токен; отговорът се получава чрез повтаряне на стъпката.
- Температурата определя колко случаен е изборът; при 0 отговорът е повторяем, при висока стойност — разнообразен.
- Контекстният прозорец е всичко, което моделът вижда наведнъж; той няма памет извън него.
- Халюцинациите са следствие от устройството: моделът винаги има какво да каже. Броене, дълга аритметика и актуални данни са слабите му места.
- Отговорът на модела се проверява, а не се вярва.