Как нейронки помогают студентам в обучении — и где обычно подводят

Привет! Это Алина Веденская из команды образовательных проектов МТС Диджитал.

Помните Гермиону Грейнджер из «Гарри Поттера»? Знания она добывала из огромных стопок книг и старинных рукописей, которые находила в библиотеках. Жизнь современных студентов точно не такая пыльная: информация упакована в ноутбук, а рутинные задачи можно поручить ИИ. Как раз о последнем и пойдет речь в этом посте.

Недавно моя коллега рассказывала, как в магистратуре от МТС и ВШЭ учат работать с искусственным интеллектом. Мне стало интересно узнать у студентов, используют ли они чат-боты в обучении, для каких задач и насколько это облегчает им жизнь. Кейсами ребят поделюсь ниже. Если вы учитесь прямо сейчас или только планируете освоить новую сферу, забирайте пост в закладки. Возможно, эти идеи вам пригодятся!

d5f812b870b4c4a643ac83384f2d79a7.png

Дальше — опыт студентов магистратуры «Исследования и предпринимательство в искусственном интеллекте»:

e811f3b57852c213817685fc4edd4dcb.png

ChatGPT

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

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

7ff88f06f15e7ad57a52ab9f73ca2071.png

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

Для работы с кодом есть специальные нейронки: GitHub Copilot, Cursor и другие. Но ChatGPT тоже неплохо справляется, особенно платная версия.

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

Еще Chat GPT помогает быстро разобраться в объемном тексте. С недавних пор в него можно загружать PDF и другие файлы. Я выработал для себя максимально эффективную стратегию: создаю новый чат, загружаю документ и начинаю его читать (!). Попутно задаю вопросы — например, запрашиваю суммаризацию или прошу объяснить небольшой кусок текста. Можно смело поставить задачу перефразировать отрывок без использования терминов:

5cf24b5fe0268bb68fbde80dbda96cb0.png

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

Microsoft Copilot

Допустим, нужно найти источник для какого-то утверждения, исследовательской работы. Конечно, есть традиционный способ — обратиться к базам данных научных работ. Многие ищут в них напрямую или пользуются Google Scholar.

А можно пойти к чат-боту, в который интегрирован поиск источников информации. В Microsoft Edge есть специальное окно с чат-ботом Microsoft Copilot — каждый факт он будет подкреплять ссылкой на его источник. Если грамотно сформулировать запрос, можно быстро и эффективно пополнить свой список использованной литературы.

424299455dec6fa7682a0318d1e3c1f4.png

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

132c22a6e205ff625019d4e2c3e3cb8f.png

ChatGPT, DeepSeek

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

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

Пример запроса для Chat

Пример запроса для Chat

Пример кода, сгенерированного Chat GPT на мой запрос

Пример кода, сгенерированного Chat GPT на мой запрос

С чем могут быть проблемы и как их решать?

Галлюцинации: LLM сгенерировала код, который внешне выглядит вполне адекватным и кажется рабочим, но при его запуске возникает ошибка. Такое возможно, когда модель пытается использовать модули или сущности, которых в библиотеке на самом деле нет. Знатоки etna заметят, что в коде импортируются классы MovingAverageTransform, OutliersTransform, FillMissingTransform, которых на самом деле нет в пакете etna.transforms.

Нужно обращать внимание на это и сразу проверять работоспособность сгенерированного кода. А если есть ошибки, исправить их самостоятельно. Если не знаете, как это сделать, ищите решение в интернете — например, на Stack Overflow. Или можно продолжить диалог с моделью и попросить ее пофиксить свои же ошибки.

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

9098ddeaea74e78f8d49caabd50362ba.pngПример исправления кода, написанного Chat GPT

Пример исправления кода, написанного Chat GPT

Подготовка отзывов — еще одна задача, с которой помогает LLM. Подчеркиваю: именно подготовка, а не написание целиком. Для меня LLM полезны как инструменты редактуры. Например, если я готовлю ОС о курсе, я могу попросить чат-бот оценить связность и логичность текста и банально проверить его на ошибки.

Быстро найти ответ — тоже задача, которая по силе чат-ботам. Во время обучения у меня постоянно возникает огромное количество вопросов. Чтобы ответить на них, мне бы пришлось изучить несколько страниц выдачи, а потом и материалов. Мягко говоря, это не быстро. Так что обычно я иду за ответами не в поисковики, а к LLM. Нейронки хорошо для этого подходят, ведь на этапе предобучения видели большую (или всю) часть интернета.

А тут примеры:

Тут тоже бывают проблемы:

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

  2. Модели может не хватать информации. Например, бесполезно спрашивать ChatGPT от 2022 года о технических характеристиках iPhone 16. Она ответит неправильно или не ответит вообще. Поэтому важно следить, что за модели используете и на каких данных они обучены. Вендоры пишут об этом в своих техрепортах.

c4d4eff534eaa224fc7b830bff03c534.png

ChatGPT помогает мне описывать курсовые работы и быстрее выполнять лабораторные. Ниже — подробнее об этом.

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

901029e34092e6c65b72a9b72f7a314b.png

Лабораторные работы, где нужно программировать. В наших домашних заданиях основной акцент делается на аналитический подход к решению задач машинного обучения, написание кода — второстепенно. Чтобы быстро получить рабочий пример кода, я использую ChatGPT. А уже потом адаптирую его под конкретные задачи. Так я могу уделить больше времени анализу данных, выбору алгоритмов и интерпретации результатов, а не заниматься техническими деталями реализации.

add0ab52c9c2bf554b24f84e3ffb41cd.png

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

© Habrahabr.ru