Вверх
Назад в библиотекуНазад в библиотеку Назад в библиотеку

Влияние GPT на спортивное программирование и обучение

Авторы: Тимошевич К. С., Сорока Д. Ф.
Источник: Тимошевич К. С., Сорока Д. Ф. Влияние GPT на спортивное программирование и обучение = Impact of GPT on competitive programming and education / К. С. Тимошевич, Д. Ф. Сорока, В. Д. Владымцев // Компьютерные системы и сети : сборник статей 59-й научной конференции аспирантов, магистрантов и студентов, Минск, 17–21 апреля 2023 г. / Белорусский государственный университет информатики и радиоэлектроники. – Минск, 2023. – С. 316–320.


Аннотация

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

Ключевые слова

GPT, ChatGPT, спортивное программирование, олимпиадные задачи, искусственный интеллект, обучение, ICPC


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

GPT (Generative Pre-training Transformer) — это модель искусственного интеллекта, разработанная OpenAI, которая обучается на большом наборе текстовых данных. Существует несколько версий GPT, включая GPT, GPT-2, GPT-3 и GPT-4. Основное различие между этими версиями — объем данных, на которых она обучалась.

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

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

Целью этой талантливой программистки стало участие в International Collegiate Programming Contest или ICPC. Данная олимпиада состоит из задач разной сложности. Некоторые могут быть решены с помощью несложных алгоритмов, а некоторые требуют передовых методов и многолетний опыт.

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

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

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

Пример решения чатом одной из олимпиадных задач.

Условие олимпиадной задачи
Рисунок 1 – Условие олимпиадной задачи
#include <iostream> 
#include <vector>> 
#include <queue> 
using namespace std;
const int MAXN = 1e5 + 5; int n, m;
int a[MAXN]; 
vector> adj[MAXN]; 
bool can_reach(int s, int t) {
	vector vis(n+1, false); 
	queue q;
	q.push(s); vis[s] = true;
	while (!q.empty()) { 
		int u = q.front(); 
		q.pop();
		if (u == t) { 
			return true;
		}
		for (auto [v, w] : adj[u]) { 
			if (!vis[v]) {
				vis[v] = true; q.push(v);
			}
		}
	}
	return false;
}

int main() {
	cin >> n >> m;
	for (int i = 1; i <= n; i++) { 
		cin >> a[i];
	}
	for (int i = 1; i <= m; i++) { 
		int k, l, r;
		cin >> k >> l >> r;
		for (int j = l; j <= r; j++) { 
			adj[k].push_back({j, a[j]});
		}
	}
	int s = 1, t = n;
	if (!can_reach(s, t)) { 
		cout << "No\n"; 
		return 0;
	}
	vector dist(n+1, -1e9); 
	dist[s] = a[s]; 
	priority_queue> pq; 
	pq.push({dist[s], s});
	while (!pq.empty()) {
		auto [d, u] = pq.top();
		pq.pop(); 
		d = -d;
		if (d > dist[u]) { 
			continue;
		}
		for (auto [v, w] : adj[u]) {
			if (dist[v] < dist[u] + w) { 
				dist[v] = dist[u] + w; 
				pq.push({-dist[v], v});
			}
		}
	}
	cout << dist[t] << "\n"; return 0;
}
Результат посылки решения, сгенерированного ChatGPT
Рисунок 2 – Результат посылки решения, сгенерированного ChatGPT

Как видно на втором скриншоте, код, предоставленный GPT, не является оптимизированным, так как программа смогла пройти только часть тестов тестов, предоставленных платформой BSUIR Open.

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

Для того, чтобы разобраться, как именно ChatGPT повлиял на сферу образования, для начала хотелось бы рассмотреть процесс развития платформы более подробно.

В 2020 году профессором Университета Северной Каролины Полом Файфе был проведен эксперимент с использованием ChatGPT. Целью эксперимента было научить студентов «критической грамотности в сфере данных». Студенты должны были написать эссе с помощью чата GPT-2. Текст, предложенный GPT, было разрешено копировать в любом объеме. Около 87 процентов участвовавших студентов заявили, что платформа мешала им работать: им казалось, что алгоритм подрывает их креативность, невозможно было понять, какие части были им опущены, многие факты, предоставленные чатом, были из несуществующих источников.

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

14 марта 2023 года была выпущена усовершенствованная версия GPT-4. Она лучше распознает контекст и точнее придерживается заданной ей стилистики ответов. По мнению ее создателей, GPT-4 стала креативнее, гибче подстраивается под пользователя и эффективнее работает с «тонкими сценариями». Еще одним важным преимуществом 4-й версии нейросети стала ее усовершенствованная способность сдавать экзамены и тесты по разным предметам. Она показала отличные результаты по ряду дисциплин, ощутимо превзойдя показатели своей предшественницы GPT-3.5, не говоря уже об успехах среднестатистического человека.

Также стоило бы отметить успехи ChatGPT в сфере программирования. СМИ сообщили, что данная платформа успешно прошла собеседование в Google на должность младшего инженерапрограммиста, на которую обычно берут тех, кто только что закончил университет и не имеет большого опыта в программировании. На данной позиции требуется уметь писать рабочий код, запускать его локально, использовать инструменты проверки предоставленного кода. В рамках тестового собеседования внутри компании ChatGPT обошёл по основным показателям языковую модель LaMDA от Google, ответив на все технические вопросы. А вот с вопросами на мышление у чат-бота ChatGPT не все оказалось хорошо.

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

Так ли плохо влияние GPT на обучение? Во время выполнения лабораторных работ у студентов могут возникнуть некоторые трудности. Многие студенты, столкнувшись с трудной задачей, прибегают к интернет-ресурсам или тому же ChatGPT, чтобы все же разобраться с проблемой.

Мы попросили ChatGPT выполнить одно из заданий нашей лабораторной работы. Задание выглядит следующим образом:

Условие олимпиадной задачи
Рисунок 3 – Условие олимпиадной задачи
Результат посылки решения, сгенерированного ChatGPT
Рисунок 4 – Результат посылки решения, сгенерированного ChatGPT

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

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

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

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

Список использованных источников

  1. 1. «Sparks of Artificial General Intelligence: Early experiment with GPT-4» – научная статья [Электронный ресурс]. – Режим доступа: https://arxiv.org/pdf/2303.12712.pdf – Дата доступа 02.04.2023. – С. 21.
  2. 2. ChatGPT прошёл собеседование в Google на должность младшего инженера-программиста грейда L3 [Электронный ресурс]. – Режим доступа: https://habr.com/ru/news/t/715278. – Дата доступа: 02.04.2023.
  3. 3. Новая практика: как ChatGPT используют в школах и вузах с пользой [Электронный ресурс]. – Режим доступа: https://skillbox.ru/media/education/novaya-praktika-kak-chatgpt-ispolzuyut-v-shkolakh-i-vuzakh-s-polzoy. – Дата доступа: 02.04.2023.
  4. 4. «How to cheat on your final paper: Assigning AI for student writing» – научная статья [Электронный ресурс]. – Режим доступа: https://www.depts.ttu.edu/tlpdc/AssigningAIForStudentWriting2021.pdf. – Дата доступа: 02.04.2023.
  5. 5. Обзор ChatGPT с примерами использования в различных задачах [Электронный ресурс]. – Режим доступа: https://habr.com/ru/articles/708646. – Дата доступа: 02.04.2023.