Елизавета Боброва: «Логического мышления у машины нет»

10
июля
2025

Большие лингвистические модели (LLM) - это достаточно мощный инструмент, позволяющий имитировать текстовое или голосовое общение с человеком. Эти модели обучаются на огромных объемах текстовых данных (книги, статьи, сайты и др. источники) и содержат в себе большое число параметров. О специфике обучения LLM, о задачах, которые стоят перед работающими с ними специалистами и о применении ИИ в высшем образовании мы беседуем с Елизаветой Бобровой, выпускницей магистратуры Высшей инжиниринговой школы МИФИ, ныне старшим инженером департамента развития искусственного интеллекта Группы  компаний "Астра".

 

 

Можете кратко напомнить нашим читателям, как вообще возник «говорящий» искусственный интеллект?

Сложилось мнение, что искусственный интеллект родился вместе со статьей Attention is All You Need в 2017-м году, а по факту, то, что привело к этой статье, родилось раньше. Искусственный интеллект как научная дисциплина начал формироваться ещё в 1956 году на Дартмутской конференции, где был предложен сам термин «искусственный интеллект» и заложены основы дальнейших исследований. В 1960-х годах началось активное развитие ИИ, в том числе создание экспертных систем и языков программирования для ИИ, таких как Lisp, а также ранних программ обработки естественного языка, например, ELIZA. В 2013 году тогда мало кому известный чешский аспирант Томаш Миколов предложил свой подход к word embedding, который он назвал word2vec. Его подход основан на важной гипотезе, которую в науке принято называть гипотезой локальности — «слова, которые встречаются в одинаковых окружениях, имеют близкие значения».  Близость в данном случае понимается очень широко, как то, что рядом могут стоять только сочетающиеся слова. Например, для нас привычно словосочетание «заводной будильник». А сказать «заводной апельсин» мы не можем — эти слова не сочетаются. Искусственный интеллект, как и любая такая подвижная область науки, родилась не просто так из ниоткуда, это путь, и который пройден, и который продолжается.

– А вы лично какой областью занимаетесь?

Я занимаюсь искусственным интеллектом в области обработки естественного языка. Если объяснять простыми словами, я объясняю нейронным сетям, как и что они должны сказать, чтобы сымитировать деятельность человека в той или иной среде.

– Можно объяснить просто: как работают языковые модели?

. Можно представить себе идеального студента – он прочитал все книги, все статьи, всю Википедию. Прочитал все-все-все статьи, которые нужны, по теме и не по теме, и не просто прочитал, но еще запомнил и уловил какие-то связи. Но какие связи уловил этот студент? Он не улавливает логические связи.  Он не может связать, если мы говорим про текст, что у нас все, что зеленое, это жабка, а все, что, допустим, розовенькое, это свинка, и что свинка у нас всегда розовая.

Я думаю, все видели историю промта в нейросеть, где просили давать рецепт свиных крылышек. Мы с вами понимаем, что у свинок крылышек нет, однако нейросеть выдала прекрасный рецепт свиных крылышек. Это прямое доказательство того, что логического мышления у машины нет.

А что же делает машина?

Машина предсказывает на основе вероятности, какое следующее слово должно появиться. Самые последние и качественные, наверное, архитектуры языковых моделей — это архитектуры-трансформеры. Трансформер, по сути, состоит из энкодера и декодера, внутри которых есть механизм самовнимания, который называется self-attention. Энкодер кодирует информацию, декодер декодирует. Зачем нам кодировать информацию? Все очень просто. Нейронная сеть — это все-таки что-то вычислительное. С компьютером мы общаемся хоть и программно, но внутри у него крутятся нолики-единички. Также у нейронной сети. В нейронной сети внутри крутятся вектора, нолики-единички, которые надо сначала закодировать, а потом раскодировать, чтобы мы могли понять, что нейронная сеть нам, собственно, сказала.

Какие технологии используются для обучения нейронных сетей?

Технологий достаточно большое количество, но проще разделить этот процесс на классическое обучение нейронных сетей и обучение больших языковых моделей. Классическое машинное обучение (Classical Machine Learning, ML) — набор техник и методик анализа данных, позволяющих обучать аналитические системы с помощью решения повторяющихся типовых задач. Для этого используются известные библиотеки Skykit Learn, из которых мы берем базовые модельки, основанные на теории вероятностей и мета-статистике, они помогают нам решать проблемы классификации, регрессии и кластеризации.  Библиотека Scikit-learn основана на NumPy и SciPy, применяется в анализе данных и традиционном машинном обучении, которое не использует нейросети. В Scikit-learn собраны алгоритмы и инструменты для построения моделей, обработки и классификации данных, а также оценки результатов. Эти алгоритмы выполняют такие функции как классификация - определение, к какой категории относится объект, регрессия - прогнозирование непрерывного атрибута, связанного с объектом, кластеризация - автоматическая группировка однотипных объектов в наборы.

Если же мы говорим про обучение больших языковых моделей, то тут уже в игру вступают такие большие фреймворки, как PyTorch, который предоставляет много средств для дообучения моделей и настройки (fine-tuning) моделей. Свою роль играют также такие сервисы как Hugging Face и Kaggle.

Что они умеют?

Kaggle — это сервис, позволяющий получить облачные сервера с GPU, которые позволяют как раз-таки обучать большие языковые модели. Hugging Face - инструменты для разработчиков в области машинного обучения и NLP.

Вот вы говорите «большие модели». Значит, есть еще и маленькие модельки?

Да, действительно, они так и называются – Tiny LLM. А еще есть такие методы, как квантование, которые позволяют уменьшить размер большой языковой модели, но при этом сохранить ее производительность.

LLM (Large Language Model) — это большая языковая модель, которая представляет собой тип искусственного интеллекта, способного генерировать тексты и понимать естественный язык.

Маленькая языковая модель (Tiny LLM) —  упрощённая версия большой языковой модели, которая обладает меньшей вычислительной мощностью и меньшим объёмом данных для обучения.

Квантование — метод сжатия модели, который преобразует веса и активации в LLM путем уменьшения битности вычислений с сохранением производительности.

 

– Вы как преподаватель постоянно проверяете работы студентов,  а студенты, как мы знаем, втихаря пытаются выдать решение LLM за собственное. Вы с этим сталкивались, и как на это реагировать правильно?

Действительно сталкивалась, в том числе и с тем, что ребята добросовестно используют, скажем так, большие языковые модели для генерации кода. «Добросовестно» - это когда видно, что просто в каком-то куске кода меняется немножечко стиль. Причем если забить то же самое в запросы, допустим, того же Stack Overflow, там будет немножечко другая стилизация. И это выдает, что данный кусочек кода сгенерирован моделью. Но это также говорит, что человек понял, куда его надо вставить, и вставил его довольно-таки правильно в свое решение. И при этом он еще может ответить на вопрос «а что у тебя тут происходит вообще?». Если он попросил генерировать именно какую-то простую функцию, которая свяжет кусочки кода, то, я бы сказала, это не возбраняется.

Бывает и так, что ребята пытаются представить решение, которое полностью сгенерировано. Это тоже видно по стилизации, это видно по оформлению кода, по комментариям. Это не хорошо, потому что, если они не могут ответить на вопрос, за что отвечают данные переменные, то они не понимают вообще смысла всего кода, не поняли тему, не поняли алгоритма. Я не против использования генеративных решений, но только в качестве консультанта.

Давайте поговорим о том, каким будет искусственный интеллект в будущем. Другом, врагом, помощником, кем-то еще?

Считается, что околофинальной стадией всего будет AGI (artificial general intelligence), общий искусственный интеллект, который обладает самосознанием, абстрактным мышлением, формированием картины мира, мудростью и так далее. Но между тем положением, где мы сейчас, и пока что немножечко эфемерным AGI, находятся «агенты», про которые многие говорят. Существует набор функций, которые должны выполнять именно агенты искусственного интеллекта – создание и понимание целей, создание задач самому себе, приоритизацию задач, выполнение задач и использование инструментов.

В широком смысле ИИ-агент представляет собой систему или программу, способную автономно выполнять задачи от имени пользователя или другой системы, самостоятельно определяя свой рабочий процесс и используя доступные инструменты. ИИ-агент с обучением постоянно анализирует предыдущий опыт, чтобы улучшить результаты своей работы. Используя механизмы сенсорного ввода и обратной связи, такой агент со временем адаптирует механизм обучения для соответствия определенным стандартам. Кроме того, он использует генератор проблем для разработки новых задач, что позволяет выполнять обучение на основе собранных данных и прошлых результатов.

Вот приоритизация, выполнение и использование инструментов уже есть, а прокачивание своих собственных навыков и принятие решений пока что еще не реализовано.

Лиза, вы учились в Высшей инжиниринговой школе МИФИ.  Какие дисциплины вы учили, чтобы стать специалистом в области искусственного интеллекта и нейронных сетей?

Большая совокупность предметов привела меня на этот путь. Начиная от очевидного – это «Нейронные сети и искусственный интеллект», по которому нам и лекции читали, и практические работы мы выполняли. Это и «Облачные вычисления» – понятно, что для обучения моделей нужен огромный массив данных, которые просто неудобно хранить локально. Это и «Распределенные вычисления», это и «Проектирование баз данных кибернетических систем» – сейчас очень часто используется такой метод, как RAG (Retrieval Augmented Generation), который в себе имеет векторные базы данных, а не обычные, к которым, наверное, все привыкли и которые все представляют, когда мы говорим про базы данных. Именно такие векторные базы данных и позволяют многим системам давать нам быстрый ответ на вопрос по очень сгруппированной информации. Это и «Языки программирования», и «Архитектура систем» – очень важно понимать, где заканчивается область нейронной сети, и где уже для нее надо написать прослойку, как выстроить процесс взаимодействия с нейронной сетью.

На самом деле специалист по искусственному интеллекту не ограничивается лишь какими-то взаимодействиями с моделью. Помимо этого, очень много времени уделяется самим данным, выстраиванию коммуникаций с моделью, форматами того, что модель отдает, что принимает, как она встроена в общий пайплайн разработки. Это большая совокупность предметов, которые преподаются у нас в Высшей инжиниринговой школе НИЯУ МИФИ.

А вот расскажите вкратце, как вы обучаете модели?

Это очень большой процесс, который начинается вообще даже не с обучения. Допустим, появилась какая-то задача. Допустим, нужен какой-то узкоспециализированный помощник, консультант, компьютерное мнение. Можно сказать, что это некая гипотеза первого уровня, которую нужно проверить. Сначала мы проверяем, нет ли такой возможности уже у готовых больших языковых моделей. Если мы говорим про действительно узкую задачу, то действующие сети ею не обладают. Проверка производится через zero-shot и few-shot генерацию. Если модель не обладает таким свойством, то мы переходим к тяжелому, сложному процессу по сбору и обработке данных, которые необходимы для модели.

У каждой модели есть своя встроенная специфика, ее нужно учитывать. Например, мы не можем брать модель, которая больше заточена под какие-то математические задачи для решения задач написания художественного литературного текста. Примерно такая аналогия работает со всеми моделями. Если сразу непонятно, какая модель даст хороший результат, проводятся исследования, проводится обучение, файн-тюнинг моделей.

Как выглядит рабочее место специалиста по искусственному интеллекту? Это большой, просторный белый кабинет, как в фантастических фильмах?

На самом деле для этого нужен компьютер и монитор. Желательно два монитора.  Соединение с сетью. Но, кстати, не всегда. Для рядовой разработки каких-то классификационных моделей, если уже загружены все необходимые библиотеки на персональный компьютер или ноутбук, и при этом есть данные, можно сидеть, строчить код и обучать модели совершенно без сети.

Если мы говорим про продуктовую разработку, то да, нам еще нужен доступ к данным, к удаленным серверам с GPU, или просто большими вычислительными мощностями.

На самом деле, базовое место разработчика состоит не из каких-то предметов, а это больше вычислительная мощность, понимание и набор определенных фреймворков и библиотек, которые используются. Ну и да, голова. Без головы никуда…

 

106