Большие языковые модели — гонка в тупик или прорыв в будущее?
Возвращаюсь к теме моих любимых больших языковых моделей (LLM, БЯМ). Наблюдения последних месяцев за индустрией, событиями и динамикой явно демонстрируют движение со все возрастающим ускорением прямо в тупик. Финиш может быть фееричным. Откуда такие выводы? Разберем по порядку.
Для тех, кто активно использует БЯМ в работе, особенно если эта работа не просто написание текстов, а более серьезные аналитические задачи, написание кода, наверняка заметили, что им явно не хватает способностей к абстрагированию, системности. Они постоянно норовят зациклиться на частностях — хорошей иллюстрацией являются попытки отладки кода. Они прекрасно справляются c незначительными ошибками, но если ошибка системная, в логике кода, в структуре данных, то, как правило, тут они не справляются. Тоже самое с задачами аналитики — хорошо справляются с задачами джуна, а более серьезные уровни вызывают трудности. Отметим про себя этот факт и идем дальше.
Самый большой недостаток нейронной сети БЯМ, по моему скромному мнению в том, что ее структура статична. Это человеческий мозг — структура динамическая, а структуру БЯМ сформировали изначально, заложили в нее число слоев, их ширину, число входных и выходных параметров и изменить уже ничего нельзя, только обучать. Дальше, в процессе обучения внутри сети формируются условные «образы», понятия. Некоторые из них можно сопоставить с известными нам словами языка (что успешно делают некоторые любители анатомии БЯМ), а какие-то наверняка не имеют аналогов, поскольку представляют из себя более сложные абстракции. Но отметим про себя два ключевых параметра нейронной сети: ширину и глубину.
Глубина — число слоев нейронной сети. Этот параметр определяет насколько велика ее способность к абстрагированию. Если на входе модели мы имеем абстракции низшего порядка — токены (части слов, символы), то в глубине модели уже имеем векторное представление сложных понятий. Недостаточная глубина модели влечет за собой ту самую проблему с неспособностью к глубокому системному анализу, поверхностности, что часто встречается на практике и о чем мы говорили в самом начале.
Ширина — число нейронов в условном слое. Этот параметр определяет число представлений, которыми может оперировать нейронная сеть на конкретном уровне. Чем их больше, тем более полно они могут отражать представления реального мира, отражением которого, по сути БЯМ и является. Что будет, если ширины какого-то слоя сети недостаточно? Она не сможет полноценно сформировать понятийный аппарат данного уровня абстракции, как следствие — ошибки, подмена понятий на близкие, что влечет потерю точности или галлюцинирование. А что будет если ширина избыточна? Сложность с формированием понятийного аппарата, его размытость и, как следствие, потеря точности. Но на практике, как мне видится, гораздо чаще встречается именно первый вариант.
Ключевая проблема в том, что мы не знаем наверняка, какой должна быть ширина каждого конкретного слоя и глубина всей модели. Это в живом мозге параметры динамические, поскольку зависят от информации, поступающей в процессе обучения: образуются и отмирают нейроны, меняются связи. Но такова архитектура используемых искусственных нейронных сетей — они статичны, и единственный вариант — задавать ширину и глубину больше, с запасом. Правда гарантий, что на конкретном N-ом слое этого хватит, никто не даст. Но это порождает ряд проблем.
1. Если увеличение глубины модели линейно влияет на число параметров в ней, то увеличение ширины слоя имеет уже степенное влияние. Поэтому мы можем наблюдать, как размер топовых БЯМ моделей переваливает за триллион параметров, но сравнение их с моделями на 2 порядка меньшими по размеру не показывает столь же значительной разницы в качестве генерации. И поскольку дальнейший рост моделей имеет степенной характер, мы воочию можем наблюдать, как лидеры индустрии истерично наращивают вычислительные мощности, отстраивая новые дата-центры и судорожно решают вопросы энергоснабжения этих монстров. При этом повышение качества модели на условные 2% требует увеличения вычислительных мощностей на порядок.
2. Безудержный рост числа параметров моделей требует огромного числа обучающих данных. Причем крайне желательно — качественных данных. А с этим большая проблема. Уже сейчас стоит вопрос об искусственной генерации новых обучающих данных, поскольку естественные уже заканчиваются. Попытка накачивать модель всем, что под руку попадется порождает новые проблемы: падение качества генерации, смещения и т.д.
3. В процессе обучения происходит полный пересчет всех весов модели на каждую итерацию, на каждый подаваемый токен. Это катастрофическая неэффективность. Представьте, что вам, при чтении книги, для чтения каждого последующего слова приходилось бы перечитывать ее с начала! (Да, сравнение некорректное, но оно ярче всего отражает масштаб проблемы). Более того, при работе БЯМ, на генерацию каждого выходного токена также осуществляется пересчет почти всех весов модели.
4. По мере роста вычислительной сложности возникает проблема параллелизма. Накладные расходы вычислительной мощности растут отнюдь нелинейно с ростом размеров моделей. Коммуникация между отдельными узлами кластера вносит свои задержки. Конечно новые разработки ускорителей с бОльшим объемом памяти и оптимизации отчасти помогают решить проблему, но лишь отчасти, поскольку рост самих моделей происходит куда более быстрыми темпами.
Это лишь часть возникающих проблем, но наиболее острые. И проблемы эти вполне очевидны для тех, кто занимается разработкой БЯМ. Тогда почему же с таким упорством, азартом и возрастающим ускорением они несутся в технологический тупик? Ответ достаточно простой. Несомненно технология БЯМ показала свои возможности и на данном технологическом уровне вполне по силам создать систему близкую или может даже превосходящую человека. И тот, кто сделает это первым, условно изобретет новую атомную бомбу, абсолютное оружие, которое даст новый технологический импульс, возможно поможет разработать новую, более эффективную архитектуру и по мере приближения к концу тупика удастся совершить квантовый скачок и преодолеть этот потенциальный барьер. Может быть… А может быть и не получится. И хотя лидеры рынка и преисполнены оптимизма, мы можем стать свидетелями очередной финансовой катастрофы, новый крах «доткомов» в квадрате. Это произойдет в тот момент, когда очередной условный GPT5 не оправдает больших надежд, а ресурсы на создание GPT6 будут измеряться уже не миллиардами, а сотнями миллиардов или триллионами долларов. Мы совсем недавно удивлялись словам Сэма Альтмана, когда он озвучивал подобные астрономические оценки ресурсов, которые хочет привлечь. И он ведь знает о чем говорит.
Но вернемся на землю. Мы в России, против нас технологические санкции. Лидеры индустрии Сбер и Яндекс с их моделями что-то пытаются создавать, но мы видим, что… впрочем, не будем о грустном. Есть ли выход? Выход есть всегда, иногда даже не один. Возможно конечно какие-то разработки ведутся (даже наверняка ведутся), но фундаментальные вещи, такие как новые архитектуры нейронных сетей в частности и систем искусственного интеллекта в целом, быстро не создаются. А у лидеров рынка — гонка, счет на месяцы, им не до новых архитектур, выжимают максимум из того, что есть. Мы за ними точно не успеем, поэтому нужно идти другим путем. Не будем рассматривать экзотические технологии вроде квантовых компьютеров — это дело пока отдаленного будущего. Ведь иногда, чтобы придумать что-то новое, нужно просто вспомнить хорошо забытое старое. Долгое время развитие технологий ИИ шло по пути детерминированных моделей, экспертных систем, систем нечеткой логики и т. д. На их фоне выделяется технология семантических сетей, где узлы — понятия, а связи — отношения между ними (по сути, в определенном приближении, современные LLM и есть семантические сети, только недетерминированные). Добавляем ей надстройку в виде иерархической структуры для абстрагирования понятий. Саму структуру можно делать динамической, чтобы узлы и связи создавались в процессе обучения. Обучение модели и ее функционирование реализовать на базе агентных технологий. Агенты по заданным правилам и исходя из внутреннего состояния перемещаются по графу сети и вносят точечные изменения (обучение) или собирают информацию, формируя ответ на запрос. Агентный подход не требует полного пересчета всей сети и прекрасно распараллеливается, не требуя при этом колоссальных вычислительных мощностей.
На этом все, спасибо тем, кто дочитал) Как всегда, буду рад содержательным комментариям, замечаниям и идеям!