← Últimos artigos
💻 computer science

From Programs to Predictions: A Scalable, Multilingual Platform for Automated Evaluation of Machine-Learning Olympiads

Este artigo apresenta o MLCompete, uma plataforma web multilingue e escalável projetada para avaliar olimpíadas de aprendizagem automática através de um pipeline assíncrono e agnóstico a métricas e um ambiente de execução seguro de dois níveis, demonstrando sua robustez e confiabilidade através da implementação bem-sucedida na Olimpíada Nacional de IA da Romênia e participação internacional.

Autores originais: Robert-Mihai Colca, Rusu Dinu-Stefan, Mihai Nan

Publicado 2026-07-14
📖 8 min de leitura🧠 Leitura aprofundada

Autores originais: Robert-Mihai Colca, Rusu Dinu-Stefan, Mihai Nan

Artigo original sob licença CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você está em uma competição de culinária massiva e de alto nível, mas em vez de entregar um prato finalizado para ser degustado, os competidores estão enviando um cartão de receita secreto com uma lista de sabores previstos. Nos velhos tempos, os concursos de computação eram como um teste de sabor rigoroso: você submetia um programa, o juiz o executava e, se a saída não correspondesse exatamente à chave de respostas, você falhava. Mas neste novo mundo das "Olimpíadas de Machine Learning", as regras mudaram. Os juízes não se importam se o código roda perfeitamente; eles se importam se as previsões estão próximas o suficiente da verdade, usando regras de pontuação estranhas e personalizadas que mudam para cada problema individual.

Apresentamos o MLCompete, uma plataforma digital construída para lidar com este desafio de sabores caótico e de alta velocidade. É o árbitro oficial da Olimpíada Nacional de IA da Romênia e está fazendo algo que nenhum outro sistema faz: permite que milhares de estudantes compitam, enviem suas "previsões de sabor" e sejam pontuados instantaneamente, mesmo quando as regras de pontuação são tão únicas quanto flocos de neve.

A Grande Mudança: De Executar Código para Avaliar Suposições

O artigo argumenta que você não pode simplesmente pegar um juiz de computação antigo e ajustá-lo para isso. É como tentar usar um cronômetro para medir o gosto de uma sopa. Os sistemas antigos esperam que um programa termine de rodar e cuspam uma resposta. O MLCompete, no entanto, percebe que, em competições de IA, o trabalho pesado acontece antes da submissão. Os alunos treinam seus modelos em outro lugar (ou na própria plataforma), depois fazem o upload de um arquivo cheio de previsões. O trabalho da plataforma é pegar esse arquivo, compará-lo com uma "chave de respostas" oculta (verdade fundamental/ground truth) e calcular uma pontuação usando uma métrica que pode ser específica para aquele problema.

Os autores excluem explicitamente a ideia de que isso seja apenas uma "versão maior" de um concurso de programação padrão. Eles dizem que a infraestrutura precisa ser fundamentalmente diferente porque o entregável não é um programa; é um conjunto de previsões, e a pontuação não é "certo ou errado", mas sim uma escala deslizante de quão boa é a suposição.

Como Funciona: A Linha de Montagem

Pense no MLCompete como uma linha de fábrica super eficiente e automatizada.

  1. O Recebimento: Quando um aluno faz o upload de seu arquivo de previsão, o sistema não o faz esperar. É como uma sala de correio inteligente que carimba instantaneamente seu pacote com "Recebido" e diz: "Trataremos disso num instante". Esta é a parte assíncrona. O aluno pode ir jogar um jogo enquanto o trabalho real acontece em segundo plano.
  2. A Fila: A submissão é jogada em uma linha de espera digital (uma fila de mensagens). Este é o ingrediente secreto. Isso significa que, se 1.000 alunos submeterem no exato mesmo segundo, o sistema não trava; ele apenas os coloca em fila.
  3. A Equipe de Pontuação: Uma equipe de trabalhadores invisíveis (chamados de "avaliadores") pega o próximo arquivo da linha, executa o script de pontuação específico (que pode ser uma fórmula matemática padrão ou um script personalizado escrito pelo autor do problema) e calcula a pontuação.
  4. O Resultado: Assim que a pontuação está pronta, o sistema a envia de volta para a tela do aluno em tempo quase real.

O artigo mostra que essa configuração é incrivelmente rápida. Em uma janela de 15 dias, o sistema lidou com mais de 8,1 milhões de requisições. O backend (o cérebro da operação) foi tão rápido que, 95% das vezes, respondeu em menos de 255 milissegundos. Isso é mais rápido que um piscar de olhos.

O Placar de "Duas Fases"

Aqui está uma parte complicada que o artigo explica com um truque inteligente para evitar trapaças. Imagine um placar que mostra como você está se saindo agora, mas baseia-se apenas em uma pequena fatia pública das questões de teste. Isso mantém os alunos engajados. Mas o ranking real final baseia-se em uma fatia secreta e privada de questões que ninguém viu.

A plataforma calcula ambas as pontuações de uma só vez. Isso evita que os alunos "manipulem o sistema" enviando milhares de vezes para ver qual delas acerta acidentalmente as respostas secretas. Para vencer, um aluno deve escolher explicitamente suas duas melhores submissões antes do prazo final. O sistema então pega a melhor dessas duas no placar secreto. Isso força os alunos a confiarem em seu melhor trabalho em vez de inundar o sistema com submissões.

A "Sala Segura" para o Código

Às vezes, os alunos precisam rodar seu próprio código diretamente nos supercomputadores da plataforma para gerar suas previsões. Isso é perigoso porque você não quer que o código bugado de um aluno roube dados ou derrube todo o sistema.

O artigo descreve um modelo de segurança de "defesa em profundidade". Para a fase mais avançada (o Acampamento de Seleção da Equipe Nacional), os alunos têm acesso a poderosas GPUs NVIDIA H200. Mas aqui está a mágica: a plataforma utiliza uma tecnologia chamada MIG (Multi-Instance GPU) para fatiar uma GPU gigante em cinco pedaços menores e isolados. Cada aluno recebe seu próprio pequeno pedaço de memória e poder de computação. É como dar a cada competidor sua própria cabine privada e à prova de som em uma biblioteca gigante. Mesmo que o código de um aluno saia do controle, ele não pode tocar nos dados de outra pessoa ou no resto do computador.

Para garantir que não estejam trapaceando ao procurar respostas online, a plataforma usa um "proxy de lista branca". É como um bibliotecário rigoroso que só permite que você leia livros de uma lista pré-aprovada específica. Durante a competição, os alunos só podem se comunicar com a plataforma, seu provedor de identidade e o ambiente de codificação Jupyter. A internet, hubs de modelos públicos e sites aleatórios estão completamente bloqueados.

Os Números: Quão Bem Funcionou?

Os autores não apenas construíram isso; eles testaram através do fogo de uma competição nacional real.

  • Confiabilidade: O sistema esteve funcionando quase perfeitamente. A taxa de "erro de servidor" foi de um ínfimo 0,007%. Isso significa que, de cada 10.000 requisições, apenas cerca de 7 falharam.
  • Custo: Eles gerenciaram tudo isso em um único servidor de computador modesto (um "nó K3s de commodity") para o tráfego constante do dia a dia. É como administrar um parque temático enorme com uma única bilheteria que só abre mais janelas quando a multidão fica grande.
  • O Pico: Durante o Acampamento de Seleção da Equipe Nacional, o tráfego saltou de 3 a 6 vezes mais do que o normal. O sistema absorveu esse pico sem diminuir a velocidade ou travar, graças à sua capacidade de adicionar mais "trabalhadores" automaticamente quando a fila ficava longa.
  • Escalabilidade: Os autores realizaram simulações (modelos de computador, não testes reais) para ver o que aconteceria se centenas de alunos submetessem ao mesmo tempo. Eles descobriram que, com um grupo de apenas 10 trabalhadores, o sistema poderia lidar com até 5 submissões por segundo com quase nenhum tempo de espera. Se a fila ficasse mais longa, o sistema simplesmente adicionaria mais trabalhadores automaticamente.

O Que Não É

O artigo é cuidadoso ao dizer o que ainda não provou. Eles admitem que seus dados ao vivo cobrem apenas uma janela de 15 dias, que incluiu um pico "modesto" de competição, mas não incluiu as massivas etapas de "primavera" onde centenas de alunos competem. Portanto, embora o sistema tenha lidado perfeitamente com o pico do acampamento da equipe, os autores sugerem (em vez de provar) que ele escalaria ainda mais para os maiores eventos. Eles também observam que, embora tenham uma segurança forte, ainda estão trabalhando em um "sandboxing" de nível de kernel ainda mais robusto para tornar a execução do código absolutamente blindada contra os hackers mais determinados.

A Conclusão

O MLCompete prova que você pode construir uma plataforma massiva, multilíngue, segura e barata para competições de IA tratando as previsões como correspondência e a pontuação como uma linha de montagem de fábrica. Não é uma varinha mágica que resolve todos os problemas de IA, mas é um plano de ação sólido e funcional que permite aos alunos focarem em aprender e competir, em vez de se preocuparem se o computador vai travar. Como o artigo conclui, a arquitetura funciona e os dados comprovam, oferecendo uma nova maneira de conduzir o futuro da educação em IA.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →