©2025 Uplift · Built with love by Swift Ideas using WordPress.
+7 (495) 788-56-99 доб. 7691, 0910; приемная комиссия ВИШ МИФИ: +7 929 684 71 59; WhatsApp: +7 929 684 71 59; e-mail: hes@mephi.ru
VK        

Большие лингвистические модели – лекторий ВИШ

ПРОРЫВ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА - БОЛЬШИЕ ЛИНГВИСТИЧЕСКИЕ МОДЕЛИ

Ведущий:

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

С нами в студии Елизавета Боброва, выпускница магистратуры Высшей инжиниринговой школы, ныне специалист по искусственному интеллекту и нейронным сетям; Павел Ани, инженер по созданию программ в области искусственного интеллекта; Юрий Конев, специалист Высшей инжиниринговой школы НИЯУ МИФИ; и Михаил Жабицкий, руководитель нашего подразделения, автор программ в области цифрового инжиниринга.

Запись вебинара:



Лиза, скажите, пожалуйста, а как вообще возник весь этот искусственный интеллект?

Елизавета Боброва:

Сложилось мнение, что вот весь искусственный интеллект родился вместе со статьей Attention is All You Need в 2017-м году, а по факту, то, что привело к этой статье, родилось раньше.

В 2013 году тогда мало кому известный чешский аспирант Томаш Миколов предложил свой подход к word embedding, который он назвал word2vec.

Его подход основан на другой важной гипотезе, которую в науке принято называть гипотезой локальности — «слова, которые встречаются в одинаковых окружениях, имеют близкие значения».  Близость в данном случае понимается очень широко, как то, что рядом могут стоять только сочетающиеся слова. Например, для нас привычно словосочетание «заводной будильник». А сказать «заводной апельсин» мы не можем — эти слова не сочетаются.

Искусственный интеллект, как и любая такая подвижная область науки, родилась не просто так из ниоткуда, это путь, и который пройден, и который продолжается.

Ведущий: Лиза, вот вы какой областью занимаетесь?

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

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

Елизавета Боброва: Если говорить про обучение нейронных сетей, технологий достаточно большое количество, но проще разделить обучение на классическое обучение нейронных сетей и обучение больших языковых моделей.

Классическое машинное обучение (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 путем уменьшения битности вычислений с сохранением производительности. – прим. 

Ведущий: Павел, вот вы занимаетесь искусственным интеллектом. Скажите, а как вы используете искусственный интеллект в своей работе?

Павел Анни: Я чисто как пользователь 🙂 Мне это помогает гораздо быстрее делать то, что я хочу сделать. Либо я разрабатываю какие-то приложения, и тогда это помогает писать код значительно быстрее. И, кроме кода, самое главное, позволяет писать всяческие вещи, которые лень писать обычно нормальному человеку, типа, там, комментариев, тестов и прочего.
Кроме этого еще помогает планировать что-то, особенно если это какая-то область, которой я не особо еще касался. Тогда я начинаю задавать вопросы, а какие общие подходы здесь, а какие самые популярные frameworks, как Лиза сказала, какие практики лучше всего применять и так далее.

Совсем недавно у меня был такой опыт, когда я от начала до конца, то есть вот начиная от вот этих структурных подходов и кончая написанием кода и написанием тестов, практически весь этот процесс сделал с помощью языковой модели. Мне очень понравилось, и это получилось достаточно быстро. Если бы я делал без помощи LLM, у меня бы это заняло больше времени. Языковые модели были обучены на огромном количестве материала, и языковая модель может смотреть шире, и более беспристрастно. Несколько раз у меня были случаи, когда я спрашивал – «Дай мне, пожалуйста, пару идей насчет вот этого и вот этого». Если бы я сам задумался о том, чтобы сгенерить несколько вариантов идей, я бы сидел и говорил, ну, наверное, можно вот это или это. Может, две или три идеи у меня бы возникли. Я спрашиваю у LLM – «дай мне, пожалуйста, 10 идей» и она легко и изящно выдает 10 хороших, качественных идей.

Михаил Жабицкий: Павел Витальевич,  а что же, теперь вообще человек не нужен? Любой первоклассник может обратиться к LLM и получить готовый ответ?

Павел Анни: Хороший вопрос, я ждал этого вопроса…  Но в этом как раз и парадокс, что мне LLM помогает именно на том уровне, что я знаю, чего я хочу, и могу отличить хорошее от плохого. И это появляется вот именно с каким-то предыдущим жизненным опытом. То есть я могу задать вопрос,LLM что-то мне выдаст, я могу понять, грубо говоря, не впаривает ли она мне что-то, что заведомо не годится.

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

Самая главная беда в нынешней ситуации в том, что те которые, что называется, senior-инженеры, они могут с этими моделями работать и отличить хорошее от плохого. А те, которые junior-инженеры, они могут быть весьма соблазнены вот этой легкостью, но они не смогут понять, что им эта языковая модель "впаривает" и будут слепо соглашаться с тем, что она предлагает, что не всегда хорошо. А откуда им взять вот этот самый профессиональный жизненный опыт, если за них теперь уже все делает
языковой модель?  Вот это вот самый большой парадокс нынешних времен.

Михаил Жабицкий: Лиза, а скажите, пожалуйста, вы же, как преподаватель, постоянно проверяете работы современных студентов, именно начинающих. И я знаю, что студенты и добросовестно признавались, и втихаря пытались выдать решение LLM за собственное. Вы с этим сталкивались, и как на это реагировать правильно?

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

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

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

Павел Анни: Мне кажется, ключевой момент это когда ты можешь отвечать за этот код. Не важно, кто его написал. Ты написал, или кто-то тебе помог, или языковая модель помогла.
Но ты являешься человеком, который ответственен за этот код. Это означает, могу объяснить, как он работает, и могу пофиксить, если он сломается.

Михаил Жабицкий: Немножко я скажу свои мысли.

В базе ИИ лежит вполне серьезная математика, именно математика, разработанная на самом деле в 60-70-80-е годы прошлого века, связанная с современным математическим обоснованием подходов к программированию и не только к программированию, это и решение задач поиска разными методами экстремумов, классификации, кластеризации и так далее.
Эти задачи основываются на вполне серьезной науке, преобразованной в программные практики.

Математика — это язык, который позволяет ИИ работать эффективно и результативно. Из областей математики разработчику в первую очередь полезны статистика, в широком смысле комбинаторика — дискретная математика, а вместе с ней оптимизация.

Функции и преобразования в математике описывают, как одна величина зависит от другой. В ИИ функции используются для сопоставления входных данных с выходными прогнозами. Преобразования могут включать в себя все: от простых линейных функций до сложных архитектур нейронных сетей.

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

Оптимизация — это процесс поиска наилучшего возможного решения из набора возможных вариантов. Модели ИИ часто полагаются на алгоритмы оптимизации, которые используют математические методы для настройки параметров модели.

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

И третья идея. А зачем нам это делать? На самом деле, огромное количество интеллектуальной работы состоит в экспертизе документов, идей, решений, проектов и так далее. Вообще говоря, хорошим экспертом является сильно подготовленный эксперт. Таких специалистов всегда в любой отрасли дефицит. Вот квалифицированный интеллектуальный ассистент – это тот уровень, на котором LLM находится сегодня. Этот ассистент может подготавливать фрагменты анализа, решения, генерить блоки новых  интеллектуальных разработок, будь то текст, будь то программный код, будь то фото-видеоизображение, производительность этого труда резко и кардинально возрастает. В этом, собственно, экономическая основа и перспектива внедрения
искусственного интеллекта на современной стадии развития.

Ведущий: Юрий, а как вы видите использование искусственного интеллекта в отраслях?

Юрий Конев: У меня очень большой опыт в создании вакцин, я руководил предприятием по созданию вакцин. И вот вчера с решил написать вопрос ИИ «как может быть искусственный интеллект полезен для создания вакцин», и он пишет на удивление грамотную страничку, ее конечно даже можно показать, и на это мне требуется три минуты Да, потом я осмысливаю процесс очень детально. Это общая оценка, где он может быть использован. А дальше следующий шаг - ты должен понимать, как себя вести с ним. То есть он – ассистент и действительно ускоряет твою деятельность в  большое количество раз.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Есть вопрос?