Тема: Исследование генеративных моделей в задаче поиска оптимального ответа на специализированные вопросы на примере StackOverflow
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1.1 Архитектура Трансформер 6
1.1.1 Модуль самовнимания 6
1.1.2 Position-wise FF 8
1.1.3 Резидуальное соединение и нормализация 8
1.1.4 Позиционные презентации 9
1.2 Использование архитектуры Трансформер 9
1.3 Использование архитектуры Трансформер для задачи генерации кода 10
1.4 Обучение языковых моделей 11
1.5 Support Vector Machine 12
1.6 Метрики 12
2 Методы исследования 15
2.1 Фреймворк 15
2.2 Выбор списка ключевых слов 15
2.3 Необходимые наборы данных 16
2.4 Процедура обучения 17
3 Реализация 18
3.1 Задача и датасеты 18
3.2 Обучение классификатора ключевых слов 20
3.3 Выбор генеративных моделей 20
3.4 Обучение генеративной модели 20
3.5 Процедура эвалюации 21
4 Эксперименты и результаты 22
4.1 Обучение классификатора ключевых слов 22
4.2 Генерация кода на датасете CoNaLa 22
4.3 Генерация кода на датасете SO 23
4.4 Примеры сгенерированных фрагментов кода из датасета SO 24
4.4.1 Пример из таблицы 3 24
4.4.2 Пример из таблицы 4 24
4.5 Примеры сгенерированных фрагментов кода из датасета CoNaLa 25
4.5.1 Пример из таблицы 5 25
4.5.2 Пример из таблицы 6 27
4.6 Ограничения 27
4.6.1 Ограничения метрик 27
4.6.2 Ограничения метода 27
4.6.3 Ограничения моделей 29
📖 Введение
в интернете. Когда пользователь сталкивается с проблемой, он ищет решение через поисковые системы, такие как Yandex и Google. Исследования показывают, что разработчики
Google делают в среднем около 12 поисковых запросов в неделю [1]. Часто поисковые системы направляют пользователей на платформы CQA, где они могут найти точные и полезные
решения. Одним из наиболее популярных веб-сервисов такого типа является Stack Overflow.
На момент мая 2023 года на этой платформе содержится более 24 миллионов вопросов, 35
миллионов ответов и 21 миллион активных пользователей [2].
Сообщество разработчиков и множество разрабатываемых ими проектов растет очень
быстро. Количество пользователей GitHub, крупнейшего сервиса для совместной разработки и хостинга проектов, выросло с 40 до 73 миллионов человек всего за два года [3]. Такой
стремительный рост в лишний раз подчеркивает важность Q&A платформ и, в частности,
правильных ответов на них. Возможность быстро получить ответ/решение задачи помогает
сохранить время каждого из миллионов разработчиков.
С появлением больших предобученных генеративных моделей, основанных на механизме
внимания [4], таких как BERT [5] и GPT, возник вопрос о возможности обучения модели для
ответов на более сложные и специализированные вопросы, такие как те, которые встречаются на платформе Stack Overflow. Исследования показали, что модели, обученные на текстах,
включающих как естественный язык, так и фрагменты кода, обладают способностью понимать программную составляющую таких текстов [6]. Это открывает новые перспективы для
разработки моделей, которые могут предоставлять качественные и точные ответы на вопросы, связанные с программированием.
Модель GPT-4 [7], которая была недавно представлена, вызывает восхищение своими уникальными возможностями. Она успешно проходит экзамены по различным предметам, включая письменные работы, историю, биологию и другие области знаний, попадая в лучшие 10%
участников тестов. В сравнении с предыдущей моделью GPT-3.5, которая попадала в среднем
в 10% худших участников, это значительное улучшение. GPT-4 владеет более чем 20 языками,
и на самых популярных языках в интернете она способна вести практически безошибочные
разговоры.
✅ Заключение
Обученная модель SVM эффективно предсказывает необходимые библиотеки, а их добавление к запросу ведет к генерации более точных ответов. На публичном датасете CoNaLa
лучшая модель смогла набрать 0.44 по метрике BLEU, что является заметным улучшением
по сравнению с текущим лучшим результатом в 0.34 [51].
Успешность проведенных экспериментов подводит к мысли, что добавление предметноориентированных знаний в качестве подсказок помогает улучшить качество больших генеративных моделей в общем случае. Что имеет большой смысл: генеративные модели в первую
очередь учатся генерировать правдоподобный и последовательный текст, что не гарантирует
какое-либо знание предметной области. Поэтому обучение отдельных моделей, которые понимают связи между ключевыми словами в области, и добавление этих знаний к генеративным
моделям ведет к более качественной генерации.
Результаты работы были приняты к докладу на конференции International Conference on
Computational science (ICCS 2023, A-rank) и публикации в издании Lecture Notes in Computer
Science (Q2) на тему “Fine-Tuning Large Language Models for Answering Programming Questions
with Code Snippets“.



