Simple Science

Ciência de ponta explicada de forma simples

# Informática# Inteligência Artificial# Computação e linguagem

Avaliando o desempenho do GPT em cursos de Python

Estudo mostra que o GPT tem dificuldades em avaliações de programação em Python.

― 8 min ler


GPT em Cursos deGPT em Cursos deProgramação em Pythondo curso de Python.GPT não consegue passar nas avaliações
Índice

A habilidade dos transformers generativos pré-treinados (GPT) de passar em avaliações em cursos de programação Python para iniciantes e intermediários foi avaliada. Com o uso dessa tecnologia na educação crescendo, a galera tá discutindo tanto os benefícios potenciais, como gerar exercícios e explicar código, quanto os riscos, como a colagem. Mas, até agora, não rolou uma análise completa de como esses modelos se saem em cursos de programação reais com diferentes tipos de avaliações.

Nessa avaliação, o GPT foi testado em três cursos de Python. As avaliações variavam de simples Questões de Múltipla Escolha (MCQs) que não precisavam de código até projetos de programação complexos que envolviam múltiplos arquivos. No total, foram 599 itens de exercícios. O estudo também analisou como o GPT lidava com o Feedback de um sistema de correção automática.

As descobertas mostraram que os modelos atuais de GPT não conseguiram passar em uma gama completa de avaliações normalmente encontradas em cursos de programação Python. Eles marcaram abaixo de 70% nos módulos de nível básico. No entanto, os resultados indicaram que um aluno poderia alcançar mais de 55% da nota total em cursos introdutórios e intermediários usando esses modelos. Embora o GPT tenha mostrado várias habilidades úteis, como corrigir respostas com base no feedback, ele teve dificuldades em tarefas que precisavam de raciocínio complexo.

Essas informações podem ajudar os professores a ajustar suas avaliações para que o GPT possa auxiliar os alunos em vez de fornecer soluções completas.

Contexto

O interesse nas capacidades dos modelos GPT de escrever textos coerentes e responder perguntas tem crescido. Desde a introdução de modelos como o ChatGPT, muitas instituições reagiram bloqueando o acesso a essas ferramentas, com medo de que os alunos as usassem de forma indevida nas tarefas. Além disso, algumas turmas universitárias começaram a incluir mais tarefas escritas feitas em sala de aula e estão buscando formas de detectar textos gerados por IA.

Os instrutores de programação estão cientes do potencial e dos desafios trazidos por esses desenvolvimentos. A habilidade do GPT de gerar programas de computador levou ao lançamento de ferramentas de geração de código, como o Codex da OpenAI e o Copilot do GitHub. Essas ferramentas são especialmente atraentes, pois podem ser acessadas livremente pelos alunos. Como resultado, é bem provável que os alunos as usem ao trabalhar nas tarefas.

Para entender se o GPT pode passar em várias avaliações em um curso completo de programação Python, várias perguntas de pesquisa foram exploradas.

Trabalhos Relacionados

Alguns estudos examinaram quão bem o GPT se sai em MCQs de diferentes áreas. Várias pesquisas relataram taxas de precisão diferentes, sugerindo que, enquanto alguns modelos se destacam em certos aspectos, o desempenho pode variar bastante dependendo do tipo de perguntas feitas. Por exemplo, modelos como o Codex foram testados em tarefas específicas de programação, com resultados mostrando uma faixa de sucesso.

Além disso, há um número crescente de pesquisas focadas na eficácia das ferramentas de geração de código quando usadas para Tarefas de Programação no ensino superior. Alguns estudos sugerem que, embora essas ferramentas possam ser úteis, muitas vezes precisam de um input significativo dos alunos para serem eficazes. Existe uma exploração contínua das forças e fraquezas dessas tecnologias, especialmente em contextos educacionais.

Coleta de Dados

Para analisar o desempenho do GPT, um conjunto de avaliações foi coletado a partir de três cursos de programação Python. Esses cursos variavam de conceitos básicos a mais avançados de programação. O curso iniciante visa ensinar o básico da programação, enquanto o curso intermediário cobre tópicos como módulos e processamento de arquivos. O terceiro curso foca em experiência prática e aplicações do mundo real.

Esse estudo coletou 599 exercícios, incluindo MCQs e tarefas de codificação. Os cursos iniciante e intermediário utilizaram MCQs para avaliações formativas, enquanto o curso prático utilizou projetos onde os alunos trabalhavam individualmente ao longo de vários dias. Cada projeto recebia correção automática, dando feedback imediato.

Metodologia

Para testar o desempenho do GPT em MCQs, as perguntas foram submetidas uma a uma, e as respostas do modelo foram comparadas com as respostas corretas. As tarefas de codificação também foram submetidas ao GPT, onde o modelo gerou soluções com base nas instruções fornecidas.

O modelo usado para essa avaliação é o text-davinci-003, uma versão mais avançada dos modelos anteriores de GPT. Para os MCQs, as configurações foram ajustadas para minimizar a aleatoriedade e maximizar a precisão. Para as tarefas de codificação, foi adotada uma abordagem mais flexível para permitir soluções mais extensas, incentivando a criatividade nas respostas.

Nas tarefas de codificação, as instruções foram fornecidas em segmentos para caber nas limitações de entrada do modelo. Se o modelo não alcançasse a nota desejada, suas respostas eram revisadas com base no feedback do sistema de correção automática. O processo continuava até que o modelo alcançasse uma nota satisfatória ou não fizesse mais melhorias.

Resultados

Os resultados de desempenho mostram que o text-davinci-003 respondeu corretamente a 64,3% dos MCQs, marcando uma melhoria significativa em relação aos modelos anteriores. No entanto, apesar desses resultados, o GPT acabou não conseguindo completar as avaliações do curso com sucesso, marcando abaixo do limite exigido em várias áreas.

Em um dos cursos para iniciantes, o GPT passou apenas em um dos cinco testes. No curso intermediário, ele conseguiu passar em três testes, mas ainda assim não conseguiu passar na avaliação final. Ao longo do curso prático, conseguiu atingir uma nota de aprovação em algumas unidades, mas acabou não atendendo aos requisitos gerais do curso.

Curiosamente, o desempenho do modelo não mostrou uma distinção clara entre lidar com tópicos básicos ou avançados. A taxa de precisão para MCQs que incluíam trechos de código foi menor em comparação com aquelas sem, sugerindo que a combinação de linguagem natural e código apresenta um desafio para o modelo.

Ao avaliar as tarefas de codificação, o GPT mostrou taxas de sucesso variadas. Tarefas que exigiam formatos de saída complexos ou depuração eram particularmente desafiadoras, enquanto atividades focadas em conceitos básicos de programação foram melhor manejadas. No geral, a profundidade da tarefa parecia influenciar a capacidade do GPT de fornecer soluções corretas.

Utilização do Feedback

O estudo também examinou quão bem o GPT poderia aplicar o feedback fornecido pelo correção automática. Em muitos casos, o modelo conseguiu melhorar suas soluções com base no feedback direto, mostrando seu potencial de adaptação e aprendizado. No entanto, feedback que exigia raciocínio em múltiplas etapas era mais problemático. Em situações onde precisava ajustar sua abordagem com base nas comparações entre saídas esperadas e reais, o modelo frequentemente enfrentava dificuldades.

Conclusões e Direções Futuras

A avaliação do text-davinci-003 demonstrou sua capacidade de alcançar notas parciais em várias avaliações de Python. No entanto, essas notas não atenderam aos critérios para passar nos cursos, destacando as limitações dos modelos atuais. Os principais desafios identificados estavam relacionados a tarefas que exigiam raciocínio detalhado ou processos em múltiplas etapas.

Diante dessas descobertas, os educadores podem querer repensar como estruturam as tarefas para levar em conta a existência de ferramentas de geração de código poderosas. À medida que a tecnologia avança, a educação em programação pode precisar enfatizar áreas como formulação de problemas, depuração e pensamento crítico, em vez de confiar apenas na escrita de código.

Embora essa avaliação tenha fornecido insights valiosos, também revelou áreas para melhoria. Pesquisas futuras poderiam focar em refinar técnicas de prompts, investigar por que certas perguntas são mais difíceis para o GPT e explorar maneiras de integrar ferramentas de IA de forma eficaz na educação em programação.

Fonte original

Título: Can Generative Pre-trained Transformers (GPT) Pass Assessments in Higher Education Programming Courses?

Resumo: We evaluated the capability of generative pre-trained transformers (GPT), to pass assessments in introductory and intermediate Python programming courses at the postsecondary level. Discussions of potential uses (e.g., exercise generation, code explanation) and misuses (e.g., cheating) of this emerging technology in programming education have intensified, but to date there has not been a rigorous analysis of the models' capabilities in the realistic context of a full-fledged programming course with diverse set of assessment instruments. We evaluated GPT on three Python courses that employ assessments ranging from simple multiple-choice questions (no code involved) to complex programming projects with code bases distributed into multiple files (599 exercises overall). Further, we studied if and how successfully GPT models leverage feedback provided by an auto-grader. We found that the current models are not capable of passing the full spectrum of assessments typically involved in a Python programming course (55%) in introductory and intermediate courses alike. While the models exhibit remarkable capabilities, including correcting solutions based on auto-grader's feedback, some limitations exist (e.g., poor handling of exercises requiring complex chains of reasoning steps). These findings can be leveraged by instructors wishing to adapt their assessments so that GPT becomes a valuable assistant for a learner as opposed to an end-to-end solution.

Autores: Jaromir Savelka, Arav Agarwal, Christopher Bogart, Yifan Song, Majd Sakr

Última atualização: 2023-03-16 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2303.09325

Fonte PDF: https://arxiv.org/pdf/2303.09325

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes