Ao vivo 18/11 · Turma 318 nov às 19:00 MSK — aula prática gratuita de agentes de IA · Turma 3 ao vivo começa 23/11Aula 18/11 →Turma 3 (23/11)
LançamentoAnálise · No radarHabr AI→ original

Corridas sintéticas de aço: sorteio ingênuo gerou 6,3% de corridas aprovadas, e um critério não funcionava

Os dados reais das usinas siderúrgicas são segredo comercial. Por isso, o autor escreveu um simulador de corridas de aço 35Л em um forno a arco de 3 toneladas. A primeira versão, com parâmetros aleatórios independentes, gerou apenas 6,3% de corridas aprovadas em 2000 registros, e o critério de enxofre e fósforo nunca era acionado. A correção foi modelar um operador que busca um valor-alvo e erra dentro da margem de ruído dos instrumentos.

Processado por IA de Habr AI; editado por Hamidun News
Corridas sintéticas de aço: sorteio ingênuo gerou 6,3% de corridas aprovadas, e um critério não funcionava
Fonte: Habr AI. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalHabr AI ↗
Editor-chefe
Dataset2000 corridas, 18 colunas, cinco verificações conforme o ГОСТ 977–88
Dado-chave #2Um critério inativo gera uma única classe — o modelo não aprende as causas da rejeição
Dado-chave #3A recuperação dos elementos de liga não é observável antes do vazamento — ela não pode ser fornecida ao modelo

O autor do artigo queria uma vaga de Head of AI em uma empresa siderúrgica, mas a falta de um diploma na área o impediu de avançar. Então, em algumas semanas, montou um MVP que nunca chegou à direção. Ficou, porém, um simulador de corridas, e a análise de seus erros é útil para quem cria dados sintéticos para ML.

Para que servem os dados sintéticos e o que o simulador modela

Os dados das empresas siderúrgicas não podem ser divulgados publicamente: são segredo comercial. Assim, quem quer testar uma ideia fica sem dados para treinar e comparar modelos. Um conjunto sintético não substitui os dados reais, mas permite testar e ajustar todo o pipeline, da geração à interface. Depois, é possível alimentá-lo com corridas reais.

O problema é o seguinte. Durante o vazamento do aço na panela, o operador adiciona ferroligas para repor o silício e o manganês perdidos por oxidação e trazer seus teores de volta aos limites de tolerância. Não se sabe de antemão quanto da liga será perdido por oxidação, então a dosagem inclui uma margem de segurança, que custa dinheiro. O objetivo é estimar a dose mínima suficiente com base nos dados disponíveis antes da adição.

O simulador descreve a produção de aço 35Л conforme o ГОСТ 977–88 em um forno a arco ДСП-3. A carga é sempre de 3300 кг (sucata 2А, briquetes 6А e ferro-gusa), com uma saída de cerca de 3000 кг de aço líquido. Uma corrida só é aprovada se carbono, silício, manganês, soma de enxofre e fósforo e superaquecimento acima da temperatura liquidus estiverem simultaneamente dentro dos limites de tolerância.

Por que o sorteio independente não funciona

A primeira ideia é óbvia: sortear cada parâmetro de maneira uniforme dentro de sua faixa e calcular o resultado pelas fórmulas. Em 100 corridas, apenas uma foi aprovada. Em 2000, após os ajustes, foram 127, ou seja, 6,3%.

A causa está na aritmética, e não na física. As cinco condições precisam ser atendidas ao mesmo tempo. Com parâmetros independentes, a probabilidade de atender a cada uma varia de dezenas de pontos percentuais a frações de um por cento. Era difícil acertar uma janela de superaquecimento de 25 °C ao sortear a temperatura em uma faixa de 130 °C, e 82% das corridas eram rejeitadas por superaquecimento fora da tolerância. Em seguida vinham carbono (54%) e silício (42%).

O pior caso foi o do enxofre e do fósforo: na primeira versão, seus limites nunca eram ultrapassados. O máximo calculado pela fórmula era de 0,030%, com um limite de 0,040%. O critério ficou inativo, e um dataset com uma única classe nesse quesito ensina muito pouco ao modelo.

O operador busca um alvo e comete erros

A correção se resume a um princípio. Cada parâmetro controlado por uma pessoa é calculado a partir de um valor-alvo definido com base na medição anterior, acrescido de ruído do instrumento ou do fator humano. O resultado fica restrito aos limites físicos. A temperatura de vazamento, por exemplo, é definida como a temperatura liquidus mais o superaquecimento desejado, com um erro de termopar de ±5 °C. O ferro-gusa é dosado para que o teor de carbono após a fusão fique em torno de 0,42–0,50%. Para a balança, o ruído é de ±4 кг; para o medidor de vazão de oxigênio, de ±2 м³.

As ferroligas merecem atenção especial. O responsável calcula a dose com base na recuperação nominal dos elementos de liga (80% para o manganês e 90% para o silício). Ele só conhece a recuperação efetiva depois do vazamento. Superaquecimento, sopro excessivo de oxigênio e escória ácida reduzem essa recuperação. A diferença entre o planejado e o efetivo gera tanto rejeições quanto a margem de segurança que o modelo depois aprende a reduzir. No dataset, essas colunas estão marcadas como não observáveis antes do vazamento. Se forem fornecidas ao modelo como atributos, haverá vazamento de dados.

Outro detalhe: a penalização por condições ruins usa uma função sigmoide, em vez de um degrau abrupto. A recuperação diminui gradualmente em torno do limiar, como ocorre na realidade, sem descontinuidades artificiais nos dados. Soma-se a isso um resíduo não explicado que varia de uma corrida para outra, para impedir que o modelo aprenda a fórmula com perfeição.

Limitações e o que fazer na prática

Todos os números do artigo foram obtidos com dados do próprio gerador e descrevem o simulador, não um forno real. O próprio autor ressalta as simplificações: o ГОСТ estabelece limites separados para enxofre e fósforo, e a janela de superaquecimento foi definida para moldes de areia com aglomerantes de cura a frio. A temperatura liquidus é calculada por aproximação linear; para um forno real, são necessários coeficientes de um manual de referência ou de um cálculo termodinâmico. O trecho do artigo ao qual temos acesso termina na análise da carga metálica. O treinamento do CatBoost e um microsserviço de recomendação ficaram prometidos para a segunda parte.

A conclusão prática vai além da metalurgia. Antes de treinar com dados sintéticos, vale calcular a proporção de classes positivas e a frequência de acionamento de cada critério. Se um deles nunca for acionado, é preciso corrigir o simulador, e não o modelo. É melhor modelar os parâmetros controlados por pessoas como valores-alvo acrescidos de ruído, em vez de variáveis aleatórias independentes. Por fim, tudo o que não pode ser observado no momento da decisão precisa ser excluído dos atributos. O dataset gerado serve para verificar o pipeline, mas não prova que o modelo funcionará em corridas reais.

História

Perguntas frequentes sobre a notícia

O que se sabe sobre Para que servem os dados sintéticos e o que o simulador modela?

Os dados das empresas siderúrgicas não podem ser divulgados publicamente: são segredo comercial. Assim, quem quer testar uma ideia fica sem dados para treinar e comparar modelos. Um conjunto sintético não substitui os dados reais, mas permite testar e ajustar todo o pipeline, da geração à interface. Depois, é possível alimentá-lo com corridas reais. O problema é o seguinte.

Por que o sorteio independente não funciona?

A primeira ideia é óbvia: sortear cada parâmetro de maneira uniforme dentro de sua faixa e calcular o resultado pelas fórmulas. Em 100 corridas, apenas uma foi aprovada. Em 2000, após os ajustes, foram 127, ou seja, 6,3%. A causa está na aritmética, e não na física. As cinco condições precisam ser atendidas ao mesmo tempo. Com parâmetros independentes, a probabilidade de atender a cada uma varia de dezenas de pontos percentuais a frações de um por cento.

O que se sabe sobre O operador busca um alvo e comete erros?

A correção se resume a um princípio. Cada parâmetro controlado por uma pessoa é calculado a partir de um valor-alvo definido com base na medição anterior, acrescido de ruído do instrumento ou do fator humano. O resultado fica restrito aos limites físicos. A temperatura de vazamento, por exemplo, é definida como a temperatura liquidus mais o superaquecimento desejado, com um erro de termopar de ±5 °C. O ferro-gusa é dosado para que o teor de carbono após a fusão fique em torno de 0,42–0,50%.

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
O que você acha?
Carregando comentários…