Шайтан-машина
Знаменитый советский комик Михаил Жванецкий обожал рассказывать анекдот об американской пилораме, купленной для сибирской лесопилки. Восхищенные возможностями заморского агрегата советские работяги совали в нее все подряд — от тоненьких веток до необъятных бревен, и чудо техники успешно справлялось с любой задачей. Но упорные и самолюбивые лесорубы не унимались и в конце концов засунули в пилораму рельс. Машина сломалась, и работяги вернулись к привычным инструментам, констатировав паталогическое несовершенство западной техники.
Не скрою, мое первое знакомство с LLM происходило примерно по той же схеме. С упорством дикаря я нагружал шайтан-машину «человеческими» задачами, делая далеко идущие выводы из ее очевидной неспособности решать их так, как я бы этого хотел. И только через много месяцев, изрядно поработав извилинами и поэкспериментировав с программными API, пришел к в целом очевидному пониманию, что любую вещь необходимо использовать по назначению.
Увы, многие мои знакомые к этому пониманию так и не пришли. Они смеются, когда нейросеть рисует шестой палец, два хвоста, пишет рецепт приготовления свиных крылышек, или ошибается в простых подсчетах. Хотя это примерно то же самое, что смеяться над орангутангом, забывшим закрутить гайку при сборке реактивного двигателя, или, что даже точнее, над гениальным скрипачом, не сумевшим взять двойной интеграл. Гораздо правильнее было бы впечатлиться тому, что нейросеть в принципе может рисовать, или давать связные ответы на сложные вопросы. Тем более, что основная масса критиков сама не в состоянии нарисовать ничего подобного ни с шестью пальцами, ни с четырьмя.
Здесь мы имеем очередной пример парадокса человеческой психики: взаимодействуя с чем-то через простой интерфейс мы склонны забывать, насколько сложно то, чем мы собственно управляем. Так ведя машину мы автоматически поворачиваем баранку и жмем на педали не задумываясь о замысловатых технических решениях, заложенных в конструкцию мотора, трансмиссии и подвески. И вспоминаем о них только в момент, когда появляется сбой, неисправность, или сложная ситуация, где наши навыки перестают быть достаточными. И вот тогда умения управлять оказывается недостаточно, и шайтан-машину приходится понимать.
Именно так происходит при взаимодействии с ChatGPT. Интерфейс «мессенджера» настолько прост, а иллюзия общения с живым собеседником настолько явна, что мы практически забываем, с кем имеем дело. И требуем от собеседника реакций и ответов, которые ожидали бы от живого человека. При этом от человека, обладающего заоблачным интеллектом, имеющего доступ ко всем знаниям этого мира и способного обрабатывать их со скоростью, характерной для компьютеров.
В большинстве случаев наши ожидания оправданны: именно с такой целью подобные инструменты и создавались. Но ожидания ожиданиями, а в реальности чат-бот на базе большой лингвистической модели — это инструмент, имеющий свои свойства, характеристики и ограничения. И, когда поставленная ему задача выходит за допустимые границы, мы получаем забавные, идиотские, или просто неправильные ответы. Что не означает, будто бы сам по себе инструмент чем-то плох, скорее уж нехорош тот, кто упорно пытается запихнуть рельс в пилораму вместо того, чтобы разобраться, как эта пилорама работает.
По моим наблюдениям, самыми адекватными пользователями нейросетей являются менеджеры. Я имею в виду управленцев, хороших управленцев: они профессионально рассматривают подчиненных как некоторые ресурсы, инструменты, понимают ограниченность их возможностей, свою ответственность за правильную постановку задачи, и умеют не просто ожидать результата, а добиваться его. Для них коммуникация с LLM — это достаточно привычный процесс, и они реже, чем представители большинства других профессий, склонны предъявлять бессмысленные претензии и становиться жертвами необоснованных ожиданий. Впрочем, и к нелепым восторгам, или, наоборот, картинному ужасу перед будущим захватом мира, они склонны менее, нежели впечатлительные выходцы из других отраслей. В конце концов, любому управленцу не раз приходилось иметь дело с людьми, многократно превосходящими его интеллектом, и он в курсе, что помимо умственных способностей существует масса других сильных сторон, позволяющих контролировать, подчинять и использовать.
Но вернемся к шайтан-машине. Здесь и далее мы будем говорить о текстовых инструментах на базе LLM — больших лингвистических моделей. Мы не будем вдаваться в подробности их устройства, для этого есть масса толстых монографий, длинных обучающих роликов и университетских курсов. Нам вполне достаточно самых базовых представлений.
Большую лингвистическую модель не следует представлять в качестве рогатого черта, огромного мозга с невероятным числом извилин, сложного механизма с миллиардами шестеренок. Лично я рекомендую вообще никак ее не представлять, даже, если вы эксперт в этой теме: просто потому, что это отвлекает. Управляя автомобилем, мы не думаем о том, как вращается маховик, ходят взад-вперед поршни и качаются шатуны. Вот и здесь нет смысла углубляться чересчур глубоко. Достаточно представить себе коробку, айтишники в таких случаях говорят «черный ящик». Через эту коробку пропущены миллиарды текстов на разных языках. Сам процесс «пропускания» вы не застали, он называется «обучением» и произведен OpenAI, Google, или кем-то еще, кто любезно предоставил вам эту модель. На него потрачены миллионы долларов, мегаватты электроэнергии и десятки тысяч часов работы мощных GPU, которые мы все еще называем видеокартами. И нам с вами до этого процесса нет практически никакого дела.
Нам важно, что нейросеть, то есть то, что сидит внутри ящика, не помнит все эти тексты, но умеет определять вероятность, с которой за некоторым набором слов последует то, или иное следующее слово. Если вы не уверены, что поняли эту фразу, перечитайте ее пока не поймете — без нее все последующее будет пустым перелистыванием страниц. Итак, обученная нейросеть ничего не знает, ничего не понимает, не делает выводов и понятия не имеет о причинах и следствиях. Она лишь в состоянии выдать наиболее вероятные последовательности слов, следующих за теми, что вы подаете ей в качестве своих запросов. Все ее «знания» и «понимания» зашиты в эти самые вероятности, не более. Основная деталь, «двигатель» любого нейросетевого инструмента, по своей логике чрезвычайно проста. Интеллект ей придает огромное количество учтенных связей между словами, позволяющее выдавать релевантные ответы на большинство реальных запросов.
Однако, из этого базового устройства LLM следуют и ограничения.
В первую очередь нейросеть обучена на базе определенных данных, и построенные внутри нее связи основаны на этой обучающей выборке. Выборка эта для сетей общего назначения взята из общеупотребительной информационной среды: интернета и книг, и отражает те знания и ту информацию, которая доступна в этой среде. Земля круглая, Америку открыл Колумб, убивать людей нехорошо, Солнце — это желтый карлик, а Платон — греческий философ. Согласны вы с этим, или не согласны, связи между словами сформированы именно таким образом, и без приложения специальных усилий на соответствующие вопросы будут выдаваться соответствующие ответы.
Из природы нейросетей следует и их наиболее известное, неприятное и многократно осмеянное свойство галлюцинировать. В ответ на наши запросы LLM выдает наиболее вероятную, «наилучшую» последовательность слов — она не может ее не выдать — но нет никаких гарантий адекватности этой последовательности тому, что имеет место на самом деле. Если использованный при обучении массив текста не позволяет считать, что ответ нерелевантен, то никаких других способов такой оценки у нейросети нет: она попросту не имеет никаких органов чувств, никакого «жизненного опыта», «свиные крылышки» ничего для нее не значат, она не видела свинью, не знает, что это такое, и даже не осознает ту реальность, в которой существуют свиньи. LLM оперирует словами, и данное словосочетание оказывается наиболее релевантным из всех возможных, только и всего. Про то, как с этим бороться, мы будем говорить после, пока же придется принять неизбежность галлюцинаций, как таковых.
По этой же причине нейросети сами по себе не умеют считать, точнее вычислять. Текстов, в которых говорится, что дважды два — четыре, достаточно много, поэтому на вопрос «сколько будет дважды два» ответ «четыре» наиболее вероятный. Но текстов, где говорилось бы, чему равен квадратный корень из шестисот восьмидесяти пяти, помноженный на полтора пренебрежимо мало, и поэтому шансов получить правильный результат — тоже. Для того, чтобы научить — нет, не нейросети, но инструменты на их основе — считать, тоже есть свои методы, но изначально по своей сути LLM вычислять не умеет.
Не является она и универсальной базой знаний, хотя именно так ее очень часто пытаются применять, иногда успешно, иногда нет. Если речь идет о каких-то общеупотребительных фактах, то с большой вероятностью связи между словами, их описывающими, будут достаточно «сильными» и ответ получится семантически корректным. Но вполне возможно, что в составе обучающих текстов существовали какие-то сходные, «отвлекающие» фрагменты, которые потянут за собой неуместные, неадекватные, нерелевантные последовательности слов, и смысл результата окажется искажен. Так я когда-то мучил ChatGPT вопросами про братьев кардинала Ришелье.
Использовать лингвистические модели для управления базами знаний, поиска по ним — не только вполне возможно, но и необходимо, однако сама по себе нейросеть такой базой не является. И ждать от нее универсальной эрудиции весьма опрометчиво.