Root NationNotíciasnotícias de TIA IBM criou o conjunto de dados Project CodeNet: 14 milhões de amostras de código ensinarão a IA a programar

A IBM criou o conjunto de dados Project CodeNet: 14 milhões de amostras de código ensinarão a IA a programar

-

Unidade IBM de pesquisa de Inteligência Artificial (IA) apresentou um conjunto de dados de 14 milhões de amostras para desenvolver modelos de aprendizado de máquina que podem auxiliar em tarefas de programação. Um conjunto de dados chamado Projeto CodeNet, leva o nome de ImageNet, o famoso repositório de imagens que revolucionou a visão computacional e o aprendizado profundo.

Os programadores descobrem novos problemas e exploram diferentes soluções, usando muitos mecanismos de pensamento consciente e subconsciente. A maioria dos algoritmos de aprendizado de máquina requer tarefas bem definidas e grandes quantidades de dados anotados para desenvolver modelos que possam resolver os mesmos problemas.

Projeto IBM CodeNet
O Project CodeNet é um enorme conjunto de dados de aproximadamente 14 milhões de exemplos de código espalhados por dezenas de linguagens de programação.

Muito esforço foi feito para criar conjuntos de dados e benchmarks para o desenvolvimento e avaliação de sistemas AI-for-code pela comunidade de especialistas. Mas, dada a natureza criativa e aberta do desenvolvimento de software, é muito difícil criar o conjunto de dados perfeito para programação. Com o Project CodeNet, os pesquisadores da IBM tentaram criar um conjunto de dados multiuso que pode ser usado para treinar modelos de aprendizado de máquina em uma variedade de tarefas. Os criadores do CodeNet o descrevem como "um conjunto de dados de grande escala, diversificado e de alta qualidade para acelerar avanços algorítmicos em IA para código".

O conjunto de dados contém 14 milhões de exemplos de 500 milhões de linhas de código escritas em 55 linguagens de programação diferentes. Amostras de código foram obtidas de quase 4000 tarefas enviadas postadas nas plataformas de codificação online AIZU e AtCoder. Os exemplos de código incluem respostas corretas e incorretas para as tarefas fornecidas.

Também interessante:

Uma das principais características do CodeNet é a quantidade de anotações adicionadas aos exemplos. Cada uma das tarefas de codificação incluídas no conjunto de dados possui uma descrição textual, bem como o tempo de CPU e os limites de memória. Cada envio de código contém uma dúzia de informações, incluindo idioma, data de envio, tamanho, tempo de execução, aceitação e tipos de erro. Os pesquisadores da IBM também fizeram um grande esforço para garantir que o conjunto de dados fosse balanceado em uma variedade de parâmetros, incluindo linguagem de programação, aceitabilidade e tipos de erro.

Projeto IBM CodeNet

O CodeNet não é o único conjunto de dados para treinar modelos de aprendizado de máquina em tarefas de programação. Mas há várias características que o diferenciam. A primeira é o tamanho do conjunto de dados, incluindo o número de amostras e a diversidade de idiomas. Mas talvez o mais importante sejam os metadados que acompanham os exemplos de código. As ricas anotações adicionadas ao CodeNet o tornam adequado para um conjunto diversificado de tarefas, ao contrário de outros conjuntos de dados de codificação especializados em tarefas de programação específicas.

Existem várias maneiras de usar o CodeNet. Uma delas é a tradução de idiomas. Como cada tarefa de codificação no conjunto de dados contém representações de diferentes linguagens de programação, os cientistas de dados podem usá-la para criar modelos de aprendizado de máquina que traduzem o código de uma linguagem para outra. Isso pode ser conveniente para organizações que desejam portar códigos antigos para novos idiomas e torná-los acessíveis a novas gerações de programadores.

Leia também:

Inscrever-se
Notificar sobre
convidado

2 Comentários
Mais recentes
Os mais velhos O mais popular
Avaliações incorporadas
Ver todos os comentários
Viktor
Viktor
2 anos atrás

Tradições e hereditariedade devem jogar juntas com pensamento diferente, com as gerações mais jovens de algoritmos neurais e métodos de ML de propor problemas, melhorando-se mutuamente

Aasd
Aasd
2 anos atrás

Com o tempo, o nível dos programadores diminuirá ainda mais (comparado a agora). Ou seja, será possível escrever código torto e oblíquo na "linguagem de merda". E então a máquina irá otimizar, e será possível obter o código otimizado de um programador montador profissional (ou melhor ainda).