Что делает ChatGPT… и почему это работает?
Друзья, с момента основания проекта прошло уже 20 лет и мы рады сообщать вам, что сайт, наконец, переехали на новую платформу.
Какое-то время продолжим трудится на общее благо по адресу
На новой платформе мы уделили особое внимание удобству поиска материалов.
Особенно рекомендуем познакомиться с работой рубрикатора.
Спасибо, ждём вас на N-N-N.ru
Автор оригинала: Stephen Wolfram. Gthtdjl – Виктор @TyVik. Просто добавляйте по одному слову… То, что ChatGPT может автоматически генерировать что то, что хотя бы на первый взгляд похоже на написанный человеком текст, удивительно и неожиданно. Но как он это делает? И почему это работает? Цель этой статьи — дать приблизительное описание того, что происходит внутри ChatGPT, а затем исследовать, почему он может так хорошо справляться с созданием более менее осмысленного текста.
С самого начала я должен сказать, что собираюсь сосредоточиться на общей картине происходящего, и хотя я упомяну некоторые инженерные детали, но не буду глубоко в них вникать. (Примеры в статье применимы как к другим современным «большим языковым моделям» (LLM), так и к ChatGPT).
Первое, что нужно понять, это то, что ChatGPT всегда пытается сделать «разумное продолжение» любого текста, который он получил на данный момент, где под «разумным» мы подразумеваем «то, что можно ожидать от кого то, увидев, что люди написали на миллиардах веб страниц и т. д.».
Допустим, у нас есть текст «Лучшая вещь в искусственном интеллекте — это его способность…». Представьте, что вы сканируете миллиарды страниц написанного человеком текста (скажем, в Интернете или в оцифрованных книгах) и находите все случаи этого текста, а затем смотрите, какое слово встречается дальше в каком проценте случаев. ChatGPT эффективно делает нечто подобное, за исключением того, что (как я объясню) он не смотрит на буквальный текст; он ищет нечто, что «подходит по смыслу». И в итоге выдаёт ранжированный список слов, которые могут следовать далее, вместе с «вероятностями»:
И что примечательно, когда ChatGPT делает что-то вроде написания текста, то, по сути, он просто спрашивает снова и снова: «Учитывая текст на данный момент, каким должно быть следующее слово?» — и каждый раз добавляет новое слово. (Точнее, он добавляет «маркер», который может быть просто частью слова — вот почему он иногда может «придумывать новые слова»).
Ладно, на каждом шаге он получает список слов с вероятностями. Но какое из них он должен выбрать, чтобы добавить к тексту, который сейчас пишет? Можно подумать, что это должно быть слово с «самым высоким рейтингом» (т. е. то, которому была присвоена самая высокая «вероятность»). Но здесь в дело вступает немного магии. Потому что по какой то причине — возможно, однажды мы получим научное понимание — если мы будем всегда выбирать слово с наивысшим рейтингом, то получим, как правило, очень сухой текст, в котором нет «души» (и даже иногда повторяет слово в слово уже какой либо существующий). Но если иногда мы случайно будем выбирать слова с более низким рейтингом, то получим «более живой» текст.
Из за этого элемента случайности мы скорее всего будем получать каждый раз чуть чуть разный результат даже для одних и тех же входных данных. И, в соответствии с этой магией, существует определенный так называемый параметр «температуры», который определяет, как часто будут использоваться слова с более низким рейтингом. Для генерации текстов, как оказалось, лучше всего подходит «температура» 0,8. (Стоит подчеркнуть, что здесь нет никакой «теории»; это просто оказалось работоспособным на практике. И, например, понятие «температура» существует потому, что используются экспоненциальные распределения, знакомые из статистической физики, но нет никакой «физической» связи — по крайней мере, насколько нам известно).
Прежде чем мы продолжим, должен сказать, что в целях демонстрации я буду говорить не о ChatGPT (которая довольно сложна), а о более простой системе GPT-2, которая достаточно мала и может быть запущена на рядовом компьютере.
- Источник(и):
- Войдите на сайт для отправки комментариев