Эфир 18.11 · Поток 318 ноября в 19:00 МСК — бесплатный практический эфир по ИИ-агентам · Живой Поток 3 стартует 23.11Эфир 18 ноября →Поток 3 (23.11)
РелизНаучная статья · В песочницуHabr AI→ оригинал

Синтетические плавки стали: наивный рандом дал 6,3% годных, а один критерий не работал

Реальные данные металлургических заводов — коммерческая тайна, поэтому автор написал симулятор плавок стали 35Л в дуговой печи на 3 тонны. Первая версия с независимыми случайными параметрами дала лишь 6,3% годных плавок на 2000 записей, а критерий по сере и фосфору не срабатывал вообще. Исправление — моделировать оператора, который целится в цель и ошибается на величину шума приборов.

AI-обработка оригинала Habr AI; редакция Hamidun News
Синтетические плавки стали: наивный рандом дал 6,3% годных, а один критерий не работал
Источник: Habr AI. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникHabr AI ↗
Главный редактор
Датасет2000 плавок, 18 колонок, пять проверок по ГОСТ 977–88
Ключевой факт #2Мёртвый критерий даёт один класс — модель не учится причинам брака
Ключевой факт #3Усвоение сплава до выпуска не наблюдаемо — его нельзя давать модели

Автор статьи хотел устроиться Head of AI в металлургическую компанию, но его остановил отсутствие профильного диплома. Тогда он за пару недель собрал MVP, которое до руководства так и не дошло. Зато остался симулятор плавок, и разбор его ошибок полезен всем, кто делает синтетические данные для ML.

Зачем нужна синтетика и что в ней моделируется

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

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

Симулятор описывает выплавку стали 35Л по ГОСТ 977–88 в дуговой печи ДСП-3. Завалка всегда 3300 кг (лом 2А, брикеты 6А и чугун), на выходе около 3000 кг жидкой стали. Плавка годна, только если одновременно в допуске углерод, кремний, марганец, сумма серы и фосфора и перегрев над ликвидусом.

Почему независимый рандом не работает

Первая идея очевидна: взять каждый параметр равномерно из его диапазона и посчитать результат по формулам. На 100 плавках получилась одна годная. На 2000 после правок их стало 127, то есть 6,3%.

Причина в арифметике, а не в физике. Пять условий должны выполниться разом, а при независимых параметрах каждое проходит с вероятностью от десятков процентов до долей. Окно перегрева шириной 25 °C плохо попадало в случайную температуру из диапазона 130 °C, и по перегреву вылетало 82% плавок. Следом шли углерод (54%) и кремний (42%).

Хуже всего получилось с серой и фосфором: в первой версии они не нарушались никогда. Максимум по формуле был 0,030% при пороге 0,040%. Критерий оказался мёртвым, а датасет с одним классом по этому признаку учит модель очень мало.

Оператор целится и ошибается

Исправление сводится к одному принципу. Каждый параметр, которым управляет человек, считается как цель из предыдущего измерения плюс шум прибора или человеческого фактора, а результат зажимается в физические границы. Температуру выпуска, например, задают как ликвидус плюс целевой перегрев и добавляют ошибку термопары ±5 °C. Чугун дозируют так, чтобы после расплавления углерод был около 0,42–0,50%. Для весов шум составляет ±4 кг, для расходомера кислорода ±2 м³.

Особенно важны ферросплавы. Мастер считает дозу при номинальном усвоении (80% для марганца и 90% для кремния). Фактическое усвоение он узнаёт только после выпуска. Перегрев, передув кислородом и кислый шлак ухудшают его, и разница между планом и фактом даёт и брак, и тот запас, который модель потом учится экономить. В датасете эти колонки помечены как ненаблюдаемые до выпуска. Если подать их в модель как признаки, получится утечка данных.

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

Ограничения и что делать на практике

Все цифры в статье получены на данных самого генератора и описывают симулятор, а не реальную печь. Автор сам оговаривает упрощения: в ГОСТе сера и фосфор нормируются по отдельности, а окно перегрева придумано под формы из ХТС. Ликвидус считается линейной аппроксимацией, для настоящей печи нужны коэффициенты из справочника или термодинамического расчёта. Фрагмент статьи, который у нас есть, заканчивается на разборе шихты. Обучение CatBoost и микросервис-советник обещаны во второй части.

Практический вывод шире металлургии. Перед обучением на синтетике стоит посчитать долю положительных классов и долю срабатываний каждого критерия. Если один из них не срабатывает никогда, симулятор нужно чинить, а не модель. Параметры, которыми управляет человек, лучше моделировать как цель с шумом, а не как независимые случайные величины. И наконец, всё, что нельзя наблюдать в момент решения, нужно исключить из признаков. Сгенерированный датасет проверяет конвейер, но не доказывает, что модель заработает на реальных плавках.

Сюжет

Вопросы и ответы по материалу

Что известно по теме: зачем нужна синтетика и что в ней моделируется?

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

Что известно по теме: почему независимый рандом не работает?

Первая идея очевидна: взять каждый параметр равномерно из его диапазона и посчитать результат по формулам. На 100 плавках получилась одна годная. На 2000 после правок их стало 127, то есть 6,3%. Причина в арифметике, а не в физике. Пять условий должны выполниться разом, а при независимых параметрах каждое проходит с вероятностью от десятков процентов до долей. Окно перегрева шириной 25 °C плохо попадало в случайную температуру из диапазона 130 °C, и по перегреву вылетало 82% плавок.

Что известно по теме: оператор целится и ошибается?

Исправление сводится к одному принципу. Каждый параметр, которым управляет человек, считается как цель из предыдущего измерения плюс шум прибора или человеческого фактора, а результат зажимается в физические границы. Температуру выпуска, например, задают как ликвидус плюс целевой перегрев и добавляют ошибку термопары ±5 °C. Чугун дозируют так, чтобы после расплавления углерод был около 0,42–0,50%. Для весов шум составляет ±4 кг, для расходомера кислорода ±2 м³. Особенно важны ферросплавы.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Единое AI-пространство · Nomad

Протестируйте новые LLM и мультимодальные модели в одном окне

Платформа Nomad AI (nomadnet.ai) даёт прямой доступ к Claude Opus 5.5, GPT-6, Gemini 3.1, DeepSeek и автономным агентам без VPN, зарубежных карт и зоопарка подписок.

Открыть Nomad AI →Автономный Nomad Agent
Что вы думаете?
Загружаем комментарии…