Как нейронки помогают студентам в обучении — и где обычно подводят
Привет! Это Алина Веденская из команды образовательных проектов МТС Диджитал.
Помните Гермиону Грейнджер из «Гарри Поттера»? Знания она добывала из огромных стопок книг и старинных рукописей, которые находила в библиотеках. Жизнь современных студентов точно не такая пыльная: информация упакована в ноутбук, а рутинные задачи можно поручить ИИ. Как раз о последнем и пойдет речь в этом посте.
Недавно моя коллега рассказывала, как в магистратуре от МТС и ВШЭ учат работать с искусственным интеллектом. Мне стало интересно узнать у студентов, используют ли они чат-боты в обучении, для каких задач и насколько это облегчает им жизнь. Кейсами ребят поделюсь ниже. Если вы учитесь прямо сейчас или только планируете освоить новую сферу, забирайте пост в закладки. Возможно, эти идеи вам пригодятся!
Дальше — опыт студентов магистратуры «Исследования и предпринимательство в искусственном интеллекте»:
ChatGPT
Обычно использую для дебага кода и исправления ошибок. До появления продвинутых генеративных чат-ботов нужно было гуглить каждую ошибку и собирать советы с форумов. Это отнимало кучу времени. Ситуацию усложняло то, что кода было недостаточно — приходилось дополнительно разбираться, что провоцирует ошибку.
Теперь, если программа выдает синтаксическую ошибку, можно поручить чат-боту найти неверную строку и исправить ее. Или, если функция возвращает не ожидаемый результат, нейронка подскажет, где именно в логике программы допущена ошибка и что с ней делать. Еще можно отлично оптимизировать код: чат-бот предлагает более быстрые алгоритмы и упрощает сложные конструкции.
Чтобы исправить скрипт, просто высылаешь боту текст ошибки и сам код. Он не только выдаст корректную версию, но и объяснит, из-за чего возникла проблема и как все починить. Если вариант не подходит или банально не работает, можно попросить решить проблему по-другому.
Для работы с кодом есть специальные нейронки: GitHub Copilot, Cursor и другие. Но ChatGPT тоже неплохо справляется, особенно платная версия.
Конечно, не всегда получается гладко. Ответ чат-бота может оказаться банально хуже, чем тот, который выдаст вам первая же ссылка в поисковике. А еще иногда бот не знает о свежих изменениях в библиотеках и в целом не слишком хорошо разбирается в малоизвестных библиотеках и языках программирования. Поэтому не советую сильно на него полагаться: если с первых попыток получить адекватный ответ не удалось, используйте другой вариант.
Еще Chat GPT помогает быстро разобраться в объемном тексте. С недавних пор в него можно загружать PDF и другие файлы. Я выработал для себя максимально эффективную стратегию: создаю новый чат, загружаю документ и начинаю его читать (!). Попутно задаю вопросы — например, запрашиваю суммаризацию или прошу объяснить небольшой кусок текста. Можно смело поставить задачу перефразировать отрывок без использования терминов:
Я не прошу суммаризировать весь документ — пусть это и выглядит заманчиво. Обычно в таких случаях ответ слишком сжат и примитивен. Скорее всего, потеряешь аспекты, которые действительно важны. А еще если документ на иностранном языке, то и обсуждать его с чат-ботом лучше на нем же. Это помогает адаптироваться к терминологии и освобождает ум от постоянных переключений на русский.
Microsoft Copilot
Допустим, нужно найти источник для какого-то утверждения, исследовательской работы. Конечно, есть традиционный способ — обратиться к базам данных научных работ. Многие ищут в них напрямую или пользуются Google Scholar.
А можно пойти к чат-боту, в который интегрирован поиск источников информации. В Microsoft Edge есть специальное окно с чат-ботом Microsoft Copilot — каждый факт он будет подкреплять ссылкой на его источник. Если грамотно сформулировать запрос, можно быстро и эффективно пополнить свой список использованной литературы.
Стоит признать, что и тут нейронки галлюцинируют. Поэтому прежде чем указывать выданные источники, их нужно обязательно проверить. Другая проблема — они могут оказаться поверхностными и не затронуть тему по существу. С этим стоит быть особенно осторожными, если у вас научная работа. Решает проблему более точный промпт-инжиниринг и опять же проверка ответов.
ChatGPT, DeepSeek
Обычно я пишу запрос в ChatGPT и DeepSeek, а потом выбираю оптимальный ответ. Обращаюсь к ним для генерации кода. Например, когда приходится работать с фреймворками, с которыми до этого не сталкивался.
Можно попросить модель сгенерировать код для решения задачи с использованием выбранной библиотеки. Так я трачу гораздо меньше времени и сил, чем если бы следовал стандартному подходу с изучением документации. Особенно, если библиотека крупная и у нее большая функциональность.
Пример запроса для Chat
Пример кода, сгенерированного Chat GPT на мой запрос
С чем могут быть проблемы и как их решать?
Галлюцинации: LLM сгенерировала код, который внешне выглядит вполне адекватным и кажется рабочим, но при его запуске возникает ошибка. Такое возможно, когда модель пытается использовать модули или сущности, которых в библиотеке на самом деле нет. Знатоки etna заметят, что в коде импортируются классы MovingAverageTransform, OutliersTransform, FillMissingTransform, которых на самом деле нет в пакете etna.transforms.
Нужно обращать внимание на это и сразу проверять работоспособность сгенерированного кода. А если есть ошибки, исправить их самостоятельно. Если не знаете, как это сделать, ищите решение в интернете — например, на Stack Overflow. Или можно продолжить диалог с моделью и попросить ее пофиксить свои же ошибки.
Код может быть написан неоптимально или не очень качественно.В примере выше каждое преобразование создается и сразу применяется к исходным данным. Выглядит достаточно громоздко. Это можно исправить, если передать список преобразований как параметр в конструктор класса Pipeline. На это тоже нужно обращать внимание и всегда рефакторить код модели, делать его более удобочитаемым и оптимальным.
Пример исправления кода, написанного Chat GPT
Подготовка отзывов — еще одна задача, с которой помогает LLM. Подчеркиваю: именно подготовка, а не написание целиком. Для меня LLM полезны как инструменты редактуры. Например, если я готовлю ОС о курсе, я могу попросить чат-бот оценить связность и логичность текста и банально проверить его на ошибки.
Быстро найти ответ — тоже задача, которая по силе чат-ботам. Во время обучения у меня постоянно возникает огромное количество вопросов. Чтобы ответить на них, мне бы пришлось изучить несколько страниц выдачи, а потом и материалов. Мягко говоря, это не быстро. Так что обычно я иду за ответами не в поисковики, а к LLM. Нейронки хорошо для этого подходят, ведь на этапе предобучения видели большую (или всю) часть интернета.
А тут примеры:
Тут тоже бывают проблемы:
Модель галлюцинирует и отвечает неправильно.Если вы сами не знаете ответ, такую ошибку поймать будет сложно. Единственный способ не сесть в лужу — внимательно перепроверять.
Модели может не хватать информации. Например, бесполезно спрашивать ChatGPT от 2022 года о технических характеристиках iPhone 16. Она ответит неправильно или не ответит вообще. Поэтому важно следить, что за модели используете и на каких данных они обучены. Вендоры пишут об этом в своих техрепортах.
ChatGPT помогает мне описывать курсовые работы и быстрее выполнять лабораторные. Ниже — подробнее об этом.
Описание курсовой.Иду в ChatGPT, чтобы сформировать структуру и описание разделов. Сначала выделяю ключевые тезисы и основные выводы, которые хочу взять в документ. Потом прошу чат-бота оформить эти идеи в виде связного текста для конкретных задач — это, например, описание предметной области, анализ данных или формулировка выводов. То есть доверяю формализацию текстов помощнику и могу сосредоточиться на содержательной части. Получившийся текст нужно внимательно вычитать и отредактировать.
Лабораторные работы, где нужно программировать. В наших домашних заданиях основной акцент делается на аналитический подход к решению задач машинного обучения, написание кода — второстепенно. Чтобы быстро получить рабочий пример кода, я использую ChatGPT. А уже потом адаптирую его под конкретные задачи. Так я могу уделить больше времени анализу данных, выбору алгоритмов и интерпретации результатов, а не заниматься техническими деталями реализации.
На этом все. Возможно, примеры студентов подскажут вам классную идею, как оптимизировать свое время. Делитесь в комментариях кейсами, для каких задач вы используете нейронки и что из этого получается. И с Днем студента!