Прибыль:
- Возможность создавать сценарии, которые очищают и визуализируют данные бурения, добычи и мониторинга с помощью Python с поддержкой искусственного интеллекта.
- Способность распознавать риски качества данных, чрезмерного обучения и экстраполяции при построении простых моделей прогнозирования и аномалий.
- Возможность проверки кода, сгенерированного ИИ, и результатов с помощью управления агрегатом, независимых расчетов и инженерной достоверности.
В каждом разделе этого модуля вы видели, как ИИ обладает мощными возможностями в кодировании: очистка скважины, баланс массы, скелет кригинга, сводка парка оборудования, анализ вибрации, сканирование окружающей среды. Этот последний модуль посвящен Python, конкретному инструменту для этого кода, и правильной дисциплине генерации кода с помощью ИИ. Python стал де-факто стандартом в анализе данных майнинга, поскольку он бесплатен, имеет мощные библиотеки (pandas: манипулирование табличными данными; numpy: числовое исчисление; matplotlib: построение графиков; scikit-learn: машинное обучение) и автоматизирует повторяющиеся задачи. ИИ увеличивает скорость, с которой вы пишете этот код; но код, который он создает, не всегда корректен. Центральный принцип этого модуля: никогда не запускайте код, который пишет ИИ, предварительно не прочитав его, не проверив его модуль и не протестировав его с небольшим количеством известных данных. Код может незаметно выдать неправильный результат, что может обернуться плохим инженерным решением при майнинге.
Базовый процесс генерации кода с помощью ИИ
Получение кода от ИИ — это инженерный цикл, а не разговор:
- Четко опишите задачу. Входные данные (столбцы, единицы измерения, строка выборки), желаемый результат и ограничения. Неоднозначный запрос создает неоднозначный код.
- Попросите, чтобы оно было небольшим и читабельным. Просите пошаговый код с комментариями, а не одну гигантскую функцию.
- Прочтите и поймите. Поймите, что делает каждая строка; Не запускайте код, который вы не понимаете.
- Тестируйте с небольшими данными. Запустите его вручную, используя 5–10 строк, результаты которых вам известны, и проверьте ожидаемый результат.
- Краевые случаи вопросов. Пустая ячейка, отрицательное значение, перетасовка единиц, повторяющаяся запись Как ведет себя код?
- Масштабируйте и проверяйте логику. Запускать все данные; Является ли результат технически обоснованным?
Совет. Наиболее распространенные ошибки при вводе кода AI являются молчаливыми: неправильное имя столбца, смешение единиц измерения (м против футов, г/т против частей на миллион), незаметное удаление строк (например, dropna), неправильное среднее значение (обычное среднее значение, когда оно должно быть взвешено). Это не вызывает ошибок; Просто выдает неправильный номер. Поэтому «не получил ошибку» никогда не означает «правильно».
Типичные задачи Python в майнинге
- Очистка данных: объединение таблиц бурения/добычи/мониторинга, пометка несоответствий, нормализация агрегатов.
- Сводка и визуализация: гистограмма, временные ряды, кривая сорт-тоннаж, графики OEE.
- Статистика и геостатистика: Сводная статистика, корреляция, вариограмма/кригинг (со специальными библиотеками).
- Обнаружение аномалий: захват дрейфа на основе пороговых значений или простой модели.
- Простые модели прогнозирования: например, соотношение размера помола и выхода с регрессией.
Для большинства этих задач ИИ предоставляет отличный стартовый код. Но есть две ловушки: качество данных и ограничения модели. Знание обоих является ключом к безопасному использованию кода ИИ.
Ограничения модели: переобучение и экстраполяция
Простые прогнозные модели, которые легко создает ИИ, уязвимы перед двумя основными рисками. Переоснащение: модель запоминает данные обучения, но плохо работает с новыми данными; Этому способствует построение сложных моделей с небольшим количеством данных. Экстраполяция: модель становится ненадежной, когда она вынуждена делать прогноз в диапазоне, выходящем за пределы обучающих данных; Например, модель, изученная в диапазоне 0,3-0,8 г/т, может дать бессмысленные результаты для 5 г/т. ИИ не управляет этими рисками «спонтанно» за вас; Вам предстоит критически прочитать модель, провести различие между обучением и тестированием, посмотреть на доверительный интервал и проверить, является ли прогноз физически правдоподобным. Независимо от того, насколько точен номер модели, он не может служить основой для инженерного решения за пределами диапазона данных.
три мини-кейса
Случай 1 — тихая ошибка громкости. Инженеру нужен код, который заставляет ИИ рассчитывать среднюю оценку на основе данных анализа. Код работает, результат 2,1 г/т. Инженер читает код; Обратите внимание, что среднее значение не взвешивается по длине интервала, а принимается как прямое среднее. Высокие оценки за короткие промежутки времени несправедливо набирали вес. При переходе к средневзвешенному значение снижается до 1,7 г/т. Код не дал ошибок; чтение обнаружило ошибку.
Случай 2 — Тихое прерывание линии. В производственном сводном коде ИИ подчистил строки с пропущенными значениями с помощью dropna. Код работает гладко, но общий объем занижен, поскольку некоторые допустимые строки были полностью удалены из-за одного пустого столбца. Когда инженер сравнивает количество строк на входе и выходе, он видит разницу и корректирует логику очистки. Урок: всегда сравнивайте количество входных и выходных строк.
Случай 3. Ловушка экстраполяции. Команда применяет регрессионную модель, изученную в диапазоне низких оценок, к области с высокими оценками; Модель дает абсурдно высокую оценку урожайности. К счастью, инженер отвергает результат, заявляя, что «эта область находится далеко за пределами диапазона, видимого моделью», и просит провести металлургические испытания. Урок: знайте диапазон данных, для которого действительна модель; Не используйте оценку за пределами штата.
Копируемые шаблоны подсказок
КОД БЕЗОПАСНОЙ ОЧИСТКИ ДАННЫХ «Роль: вы помощник аналитика данных Python. Напишите код с помощью pandas, который очищает следующую таблицу. Столбцы и единицы измерения: [список]. Правила: (1) вывести количество строк ДО и ПОСЛЕ удаления строк; (2) сообщить, какие строки были удалены и почему; (3) прокомментировать преобразования единиц измерения; (4) использовать средневзвешенное значение, где это необходимо, вместо простого текста. Объясните каждый шаг строкой комментария».
ЗАПРОС НА ПРОВЕРКУ КОДА «Построчно объясните следующий код Python и укажите на следующие точки риска: неправильное предположение о названии столбца, путаница в единицах измерения, молчаливое удаление строк, плоская/взвешенная средняя ошибка, поведение в крайнем случае (нулевой/отрицательный). НЕ ИСПРАВЛЯЙТЕ код; просто перечислите риски. Код: [вставить]».
НАСТРОЙКА ТЕСТА С МАЛЕНЬКИМИ ДАННЫМИ «Для этой функции вручную создайте небольшие тестовые данные (5-6 строк), из которых я знаю результат и ожидаемый результат; напишите тестовый блок, который проверяет, правильно ли работает функция с этими данными. Также проверьте крайние случаи (пустая ячейка, отрицательное значение, единичное экстремальное значение). Функция: [вставить]».
ПРОСТАЯ МОДЕЛЬ + ПРЕДУПРЕЖДЕНИЕ О ГРАНИЦЕ «Настройте простую регрессию для [x -> y] со следующими данными. Различайте обучение/тестирование, сообщите метрику ошибки и четко укажите диапазон x, в котором модель ДЕЙСТВИТЕЛЬНА. Предупреждайте, если прогнозы сделаны ВНЕ этого диапазона. Прокомментируйте риск переобучения и разреженности данных. Данные: [вставить]».
Слабая подсказка / Сильная подсказка
СЛАБАЯ ПОДСКАЗКА: «Вычислите среднюю оценку по этим данным».
НАСТОЯЩАЯ ПОДСКАЗКА: «Роль: вы — помощник Python. Столбцы: HoleID, From(m), To(m),Au(g/t). Вычислите ВЗВЕШЕННЫЙ средний уклон с длиной интервала. Код: (1) распечатайте количество строк ввода/вывода; (2) сообщите о нулевых/отрицательных значениях перед их удалением; (3) подтвердите предположение о единицах измерения. Также покажите промежуточные итоги, чтобы я мог проверить результат вручную. Данные: [вставить]».
Сравнительная таблица: риск и меры предосторожности
Риск
симптом
предосторожность
Вмешательство устройства
Разумное, но неправильное число
Закомментируйте единицу в коде, проверьте ее
Бесшумное падение линии
Всего не хватает
Сравните количество строк ввода/вывода
Обычный против средневзвешенного значения
неправильное среднее
Проверьте вес
переобучение
Плохие данные испытаний
Разделение обучения и тестирования, будьте проще
экстраполяция
Глупая догадка за пределами досягаемости
Ограничить допустимый диапазон
Распространенные ошибки
- Запускаем код, не читая его. «Ошибок не было» не означает, что это правда.
- Не тестировать на небольших данных. Доверие без проверяемого примера ложно.
- Не сравнивая количество строк ввода/вывода. Так ускользают молчаливые потери.
- Игнорирование модельного ряда. Экстраполяционные оценки ненадежны.
- Доверие к красоте диаграммы. Стильная диаграмма может скрыть неправильную цифру.
Внимание: если код AI попадает в инженерный аккаунт, этот код несет такую же ответственность, как и аккаунт. Везде, где результатом становится решение майнинга, прогоните код и его выходные данные через независимую логическую проверку и сравнение со вторым методом, если это возможно.
В заключение
Python де-факто является инструментом для анализа данных, а искусственный интеллект значительно увеличивает скорость его написания. Но в коде ИИ могут быть скрыты ошибки (путаница единиц измерения, пропуск строк, неправильное усреднение) и ловушки модели (переобучение, экстраполяция). Безопасный поток: четко описывайте, хотите, чтобы он был небольшим и читаемым, читайте и понимайте, тестируйте с небольшими известными данными, запрашивайте крайние случаи, масштабируйте и проверяйте логику. Выходные данные модели не могут служить основой для принятия решения за пределами диапазона данных; и каждый код несет такую же ответственность, как и учетная запись, если он превращается в решение о майнинге.
Задача приложения
Используйте шаблон «Код безопасной очистки данных» с задачей усреднения оценок или сводной производственной задачи, чтобы получить код от ИИ; Обезопасьте код от рисков с помощью шаблона «Запрос на проверку кода». Затем с помощью шаблона «Настройка теста с небольшими данными» вручную создайте набор данных, результаты которого вам известны, и проверьте код. Наконец, для простой связи настройте модель с шаблоном «Простая модель + предупреждение о пределе» и проверьте, выдает ли она предупреждение, когда выходит за пределы допустимого диапазона.
контрольный список
- [ ] Я прочитал код AI и понял каждую строчку, я не запускал его вслепую.
- [ ] Я тестировал его на небольших данных, которые можно проверить вручную.
- [ ] Я сравнил количество входных и выходных строк.
- [ ] Я проверил согласованность и вес единиц измерения.
- [ ] Я ограничил допустимый диапазон данных модели, избегая экстраполяции.
- [ ] Я проверил результат, который превратился в решение, независимой логикой/вторым методом.
Модульный экзамен
1. Стажер запрашивает чат-инструмент с искусственным интеллектом о среднем содержании рудного тела и записывает полученное значение «1,8 г/т золота» непосредственно в отчет о запасах. В чем принципиальная ошибка такого подхода?
- А) Значение содержания должно быть получено на основе собственных данных бурения/анализа проекта и проверенного прогноза; Число, сгенерированное ИИ, может быть вымышленным ✔
- Б) AI нужно было запрашивать в унциях, а не в граммах.
- В) Значение верное, только вместо запятой надо было поставить точку
- Г) Достаточно трижды задать ИИ один и тот же вопрос и взять среднее значение
Объяснение: Языковая модель не знает данных бурения вашего проекта; производит число, которое кажется наиболее вероятным (галлюцинация). Оценка определяется только на основе собственных комплексных данных бурения и геостатистической оценки проекта; Результаты ИИ не могут быть включены в отчет без одобрения компетентного лица.
2. Что дает «классификация на основе рисков» при использовании ИИ в горном деле?
- А) Снизить цену на инструмент ИИ
- Б) Определить роль ИИ и обязательную глубину проверки в зависимости от уровня риска задачи ✔
- В) Подсказки следует писать короче
- Г) Автоматически делегировать все решения ИИ
Пояснение: Не все миссии имеют одинаковый уровень риска. Классификация задачи как низкая/средняя/высокая/критическая определяет, какие выходные данные можно свободно использовать, а какие требуют стандартной и практической проверки, а также одобрения компетентного инженера.
3. Что моделирует вариограмма в геостатистике?
- А) Расход топлива оборудования
- Б) Изменение цены металла с течением времени
- В) Пространственная непрерывность в зависимости от расстояния; ✔ как сходство уменьшается по мере удаления точек
- D) Частота вибрации, создаваемая взрывными работами
Описание: Вариограмма описывает, как уменьшается сходство образцов друг с другом (пространственная непрерывность) по мере увеличения расстояния между двумя точками. Кригинг использует эту модель для оценки неизмеренных точек с долей неопределенности.
4. Каков наилучший подход, когда ИИ предварительно классифицирует литологию по фотографиям керна?
- А) Обработка типа породы, заданного AI, непосредственно в журнале бурения.
- Б) Копирование текста ИИ в отчет вообще не рассматривая фото
- В) Отмена наблюдения геолога и полагаться исключительно на ИИ
- D) Считайте полученные результаты предварительным прогнозом/гипотезой и подтвердите их геологическими наблюдениями и лабораторным анализом ✔
Описание: ИИ может генерировать прогноз и список внимания на основе изображения; Однако окончательное решение о литологии/изменениях принимается на основе наблюдений геолога и лабораторного анализа. Выходные данные ИИ — это начало, гипотеза, которую необходимо проверить.
5. Что означает «коэффициент вскрыши» при планировании карьера?
- А) Количество ржавчины (пустой породы), которое необходимо удалить, чтобы получить одну единицу руды ✔
- Б) Процент металла в руде
- В) Ежедневное количество рейсов грузовых автомобилей
- D) Количество взрывчатого вещества, использованного при взрыве.
Описание: Скорость вскрыши – это количество отходов (вскрыши/отходов), которое необходимо удалить для получения одной единицы руды. Окончательный пит-лимит и экономичность во многом зависят от этого соотношения; Несмотря на то, что ИИ генерирует сценарии, решение о границах остается за компетентным инженером.
6. Что это означает при профилактическом обслуживании, когда ИИ обнаруживает «аномалии» в данных о вибрации и температуре?
- А) Доказательство того, что оборудование определенно вышло из строя
- Б) Предупреждение об отклонении данных от нормы; Это не окончательный диагноз неисправности, а признак, который необходимо подтвердить при физическом осмотре ✔
- В) Приказать, чтобы оборудование было остановлено автоматически.
- Г) Гарантировать, что данные были записаны неверно
Пояснение: Аномалия — это отклонение данных от нормального поведения, которое может указывать на неисправность; но это не окончательный диагноз. Решение об остановке оборудования или замене деталей принимается после физического осмотра бригадой технического обслуживания и с одобрения руководителя эксплуатации.
7. Что важно для безопасности при использовании искусственного интеллекта при проектировании буровзрывных работ?
- А) Реализация рекомендаций ИИ непосредственно на местах
- Б) Пропуск измерения вибрации
- C) Проверка предложенной AI конструкции с измерением на месте, нормативными пределами и одобрением уполномоченного эксперта по взрывным работам ✔
- Г) Фиксация количества взрывчатки с максимального, заданного ИИ
Описание: Взрывные работы; Это сопряжено с серьезными рисками безопасности и нормативными требованиями, такими как вибрация, удары воздуха и летящие камни. ИИ может создать эскиз проекта и рекомендации по параметрам; Однако окончательный проект должен пройти полевые измерения, нормативные ограничения и одобрение уполномоченного эксперта по взрывным работам (детонатор/ответственный).
8. Какова типичная взаимосвязь между «извлечением» и «содержанием концентрата» при переработке полезных ископаемых и что следует помнить AI при ее интерпретации?
- А) Оба всегда увеличиваются вместе
- Б) Между ними нет никакой связи
- В) Отношения постоянны и одинаковы во всех учреждениях.
- Г) Обычно наблюдается обратный баланс (урожайность снижается по мере увеличения содержания); фактические значения должны быть подтверждены металлургическими испытаниями и массовым балансом ✔
Пояснение: Обычно, когда мы пытаемся получить более высокую концентрацию, выход снижается (баланс между сортом и выходом). ИИ может объяснить эту тенденцию, но фактические рабочие значения должны быть подтверждены металлургическими испытаниями и массовым балансом; общая тенденция не заменяет реальность, специфичную для конкретного места.
9. Как наиболее целесообразно использовать анализ данных о происшествиях/несчастных случаях с помощью ИИ в сфере охраны труда?
- А) Классифицировать записи произвольного текста и извлекать повторяющиеся модели риска; Оставьте решение эксперту по охране труда ✔
- Б) Автоматически определять виновника ДТП
- C) Передача приказов о прекращении работы ИИ
- D) Архивирование записей о возможных промахах без их просмотра.
Описание: ИИ может классифицировать большие объемы произвольных текстовых записей и быстро извлекать повторяющиеся закономерности и рискованные условия. Однако решение о прекращении работ, эвакуации территории или первопричине принимается в рамках эксперта по охране труда и законодательства; Выходные данные ИИ — это ввод, а не решение.
10. Почему «ускорение скорости деформации» является критическим признаком в данных радара/призмы при мониторинге склонов?
- А) Это определенно указывает на то, что измерительный прибор сломан.
- Б) Это может предвещать прогрессирующее поражение; Решение о раннем предупреждении и эвакуации принадлежит инженеру-геотехнику ✔
- В) Это показывает, что склон полностью безопасен.
- D) Имеет значение только при наличии осадков и его можно игнорировать.
Пояснение: Перед обрушением откосов обычно наблюдается постепенное увеличение скорости деформации (ускорения); Это может быть признаком прогрессирующей неудачи. ИИ может выявить тенденцию, но решение об эвакуации/раннем предупреждении принимается на основе анализа и протокола инженера-геолога.
11. Какова наиболее точная реакция при мониторинге окружающей среды на признак «превышения», который ИИ обнаруживает во временных рядах качества воды?
- А) Отчетность о результатах ИИ непосредственно в государственное учреждение
- Б) Игнорируйте предупреждение и продолжайте просмотр.
- C) Проверьте результаты аккредитованной лаборатории, нормативные пределы и оценку инженера-эколога ✔
- Г) Опора только на ИИ и отказ от лабораторных анализов
Описание: ИИ может заранее сигнализировать о возможном взломе; Однако официальное решение о соответствии принимается на основе анализа аккредитованной лаборатории, предельных значений, установленных законодательством, и оценки инженера-эколога. Вывод ИИ — это предупреждение о проверке, а не юридическое/техническое решение.
12. Каков наиболее надежный способ избежать получения вымышленной (галлюцинаторной) ссылки, когда вы запрашиваете у ИИ номер пункта стандарта, такого как JORC или NI 43-101?
- А) Опираясь на номер предмета, предоставленный ИИ
- Б) Повторно задать тот же вопрос, но другими словами.
- В) Глядя на сообщение в блоге вместо стандартного
- Г) Открытие и подтверждение каждой ссылки на статью из действующего официального текста стандарта и получение одобрения компетентного лица ✔
Объяснение: Хотя языковая модель правильно знает название стандарта, она может галлюцинировать номер статьи и текст. Каждая ссылка на вещество должна быть открыта и подтверждена из текущего официального текста стандарта, а окончательное соответствие должно быть подтверждено компетентным лицом (CP/QP).
13. Какая проверка является наиболее важной перед запуском скрипта анализа Python, написанного ИИ?
- А) Чтение кода и проверка соответствия единиц измерения/столбца, тестирование с небольшими известными данными и проверка достоверности результата ✔
- Б) Запуск кода непосредственно на всем наборе данных, не читая его.
- В) Просто увидеть, что ошибки нет, и принять результат
- D) Полагаться на то, что графика на выходе будет выглядеть красиво.
Описание. Код AI может смешивать единицы измерения, неправильно принимать имена столбцов или автоматически удалять строки. Очень важно прочитать код, проверить соответствие томов и столбцов, провести тестирование с небольшим объемом известных данных и проверить, является ли результат инженерно обоснованным.
14. Как лучше всего вести себя с точки зрения конфиденциальности при передаче данных майнинга в облачный инструмент искусственного интеллекта?
- А) Вставка всех необработанных данных как есть
- Б) Анонимизировать контекст и очистить конфиденциальные данные о запасах/координатах/производстве и использовать корпоративный инструмент, соответствующий политике ✔
- В) Предполагая, что предоставление фактических координат важно для качества результата.
- Г) Игнорирование политики конфиденциальности вообще
Пояснение: Цифры запасов, информация о лицензиях/координатах и производственные данные являются конфиденциальными с точки зрения коммерческой тайны и законодательства. Необходимо анонимизировать контекст, очистить реальные координаты и имена, выбрать инструмент обеспечения корпоративности/конфиденциальности и соблюдать политику компании.