Единицы
1. Искусственный интеллект в машинном обучении: роль, границы, проверка и ответственность 2. Конвейер данных: сбор, очистка, маркировка и управление версиями 3. Обучение и оценка модели: точные метрики, честный бенчмаркинг 4. Заявление на получение степени LLM: ответы на основе ваших собственных данных с помощью RAG 5. Приложение LLM: агенты, инструменты и безопасная автоматизация 6. Основа тонкой настройки: когда, как и с каким риском 7. MLOps и развертывание: перемещение модели из лаборатории в производство 8. Оценка и мониторинг: знание того, что модель действительно делает в производстве 9. Безопасность и конфиденциальность: защита систем искусственного интеллекта 10. Предвзятость, этика и стоимость: ответственная и устойчивая разработка искусственного интеллекта 11. Воспроизводимость и сквозной проект: объединение всего
Единица 11 / 11

Воспроизводимость и сквозной проект: объединение всего

Прибыль:

  • Возможность обеспечить воспроизводимость с помощью четырех основных принципов (фиксация семян, управление версиями данных, замораживание среды, мониторинг эксперимента) и получить тот же результат при повторении одного и того же запуска.
  • Возможность объединить все остановки модуля (метрики, данные, модель, компоненты LLM, оценка, справедливость, безопасность, распространение, мониторинг) в сквозную цепочку.
  • Возможность проверить, что критическое решение остается за человеком на каждой остановке, и документировать проект в контролируемой форме.

Самый коварный провал проекта машинного обучения — это не крах; «Больше не получить того же результата». Если вы не можете сегодня воспроизвести оценку модели, которую вы запустили в производство три месяца назад, вы на самом деле не контролируете эту модель. В этом заключительном разделе мы углубляем воспроизводимость: способность надежно получать один и тот же результат с теми же входными данными и объединять весь модуль в сквозную проектную дисциплину.

Почему воспроизводимость затруднена

В обычном программном обеспечении один и тот же код дает одинаковый результат. В ML существует гораздо больше переменных, определяющих результат:

  • Случайность: перетасовка данных, инициализация веса, разделение данных — все основано на случайности.
  • Данные: один и тот же код создает другую модель с другой версией данных.
  • Окружающая среда: версии библиотек, оборудования (ЦП/ГП) и даже операционной системы могут изменить результат.
  • Скрытый случай: несохраненный гиперпараметр, этап предварительной обработки вручную, незамеченный выбор.

Воспроизводимость — это не «приятно иметь», а научный и инженерный императив. Результат, который невозможно воспроизвести, — это утверждение, которое невозможно доказать.

Четыре столпа воспроизводимости

1. Исправить случайность. Установите все случайные начальные значения в одном месте: разделение данных, инициализация модели, перетасовка данных. Фиксированное начальное число является основой гарантии «того же результата при повторении одного и того же запуска».

2. Версируйте данные. Запишите, с какой версией данных проводился каждый эксперимент (версия данных в блоке 2). «Последние данные» расплывчаты; «Версия данных v3, хэш abc123» — это точно.

3. Заморозьте среду. Прикрепите все зависимости к их точным версиям (например, точным версиям, таким как numpy==1.26.4 в файле require.txt или образу контейнера). «Последняя версия» однажды все сломает.

4. Отслеживайте все (отслеживание экспериментов). Автоматически сохранять для каждого эксперимента: версию кода (git commit), версию данных, все гиперпараметры, метрики и структуры вывода. Инструменты отслеживания экспериментов, такие как MLflow, Weights & Biases, делают это систематически. Без регистрации вопрос «какая настройка была лучшей» остается без ответа.

Осторожно: «Я вспомню позже» — самое дорогое заблуждение. Через две недели вы уже не вспомните, какое начальное число, какие данные, какой гиперпараметр вы использовали. Автоматическое отслеживание исключает зависимость от памяти.

Слабый подход/Сильный подход

Слабый: «Я нашел лучшую модель, она есть в блокноте, думаю, ее оценка составила 89%».

Стронг: «Запустите #147 в инструменте отслеживания экспериментов: git commit a3f9c, версия данных v3 (хэш abc123), начальное число 42, все гиперпараметры зарегистрированы, проверьте PR-AUC 0,887. Когда я запускаю ту же команду снова, я получаю тот же результат постепенно. Модель зависит от этого запуска в реестре».

Разница: при сильном подходе результат основан не на памяти, а на фиксированной и контролируемой цепочке. Каждый может каждый раз давать один и тот же результат.

Комплексный проект: сочетание модулей

Теперь давайте объединим весь модуль в единый поток проекта. Настоящая система ML проходит через эти остановки, и каждая остановка основывается на предыдущей:

  1. Определение проблемы: что мы решаем, как измерить успех (блок 3: правильная метрика, бизнес-контекст). Метрика и порог ясны с самого начала.
  2. Конвейер данных: сбор, проверка, очистка, секционирование без утечек, управление версиями (блок 2).
  3. Разработка модели: обучение, сравнение базовых показателей, перекрестная проверка, твердое начальное значение (блок 3 + этот блок).
  4. Компоненты LLM (если применимо): RAG (блок 4) и/или агенты (блок 5); доработка при необходимости (блок 6).
  5. Оценка: кластер оценки с периферией и случаями безопасности, многоуровневая оценка в системах LLM (блок 8).
  6. Аудит справедливости и этики: анализ подгрупп, модельная карта, объяснимость (блок 10).
  7. Аудит безопасности: оперативное внедрение, конфиденциальность, цепочка поставок (блок 9).
  8. Распространение: Упаковка, постепенное распространение, откат, реестр моделей (раздел 7).
  9. Мониторинг: Трехуровневый мониторинг, сигнализация дрейфа (блок 8).
  10. Воспроизводимость: отслеживание исходных данных, версий данных, носителей и экспериментов по всей цепочке (данный блок).

В этом потоке ИИ является ускорителем и генератором проектов на каждой остановке; но выбор метрик, решения по данным, расстановка приоритетов справедливости, порог развертывания и утверждение выпуска — критические решения остаются за человеком. В этом суть модуля.

Документация: будущее скажет вам спасибо

Хороший проект ML документирует сам себя. Как минимум, должно быть записано следующее: критерии проблемы и успеха, источник и версия данных, выбор модели и обоснование, результаты оценки (включая подгруппы), известные ограничения и риски, процедура развертывания и извлечения, план мониторинга. Этот документ — лучший друг человека (возможно, это и вы), который возвращается в проект через полгода.

три мини-кейса

Случай 1 – Потерянный результат. Инженер обучил отличную модель, но не исправил начальное значение и не сохранил версию данных. Когда он ушел с работы, никто не смог воспроизвести этот результат; модель стала «легендой черного ящика» и в конечном итоге была построена с нуля. Недели были потрачены впустую. Урок: невоспроизводимый результат – это несуществующий результат.

Случай 2 – Коллапс окружающей среды. Одна команда не исправила зависимости. Когда библиотека автоматически обновлялась, выходные данные модели незаметно менялись, и производство прерывалось. На поиск проблемы ушли дни. Когда зависимости были заморожены и помещены в контейнеры с окончательными версиями, проблема больше не возникала. Урок: заморозьте окружающую среду.

Случай 3. Возможности мониторинга. Команда автоматически контролировала каждый эксперимент. Через три месяца во время регуляторного аудита ответили на вопрос "с какими данными, с какими настройками, какую производительность в каких группах он получил?" с полной записью в течение нескольких минут. Проверка прошла гладко. Урок: мониторинг — это инструмент обеспечения соответствия, а не только инженерный.

Копируемые шаблоны

Выполните проверку воспроизводимости для этого проекта ML. - Все ли начальные значения случайности фиксированы (разделение, инициализация, перемешивание)? - Версионны ли данные? - Заморожены ли зависимости до точных версий? - Отслеживается ли каждый эксперимент (фиксация кода, данные, гиперпараметр, метрика)? Напишите конкретные шаги, как это исправить для каждого недостающего столбца. Структура проекта: [описание]

Создайте скелет плана для этого комплексного проекта машинного обучения. Проблема: [описание] Закройте следующие остановки и отметьте, где находится ЧЕЛОВЕЧЕСКОЕ решение на каждой остановке: проблема/показатель, конвейер, модель (RAG/агент/тонкая настройка?), оценка, справедливость, безопасность, распространение, мониторинг, воспроизводимость. Напишите основной риск и этап проверки для каждой остановки.

Создайте шаблон технической документации для этого проекта. Разделы: проблема+критерии успеха, данные (источник+версия), выбор модели+обоснование, оценка (включая подгруппы), известные лимиты+риски, развертывание+откат, план мониторинга. Поля для заполнения в каждом разделе оформите в виде вопросов.

Проверьте настройки мониторинга моего эксперимента: сохраняются ли они автоматически при каждом запуске: git commit, версия/хеш данных, все гиперпараметры, все метрики, среда (версии библиотеки)? Получу ли я тот же результат, если повторю тот же прогон? Настройка: [описание]. Перечислите недостатки и исправления.

Таблица столбцов воспроизводимости

столбец

Что исправлено

Пример автомобиля

случайность

все семена

установка семян

Данные

Версия данных/хэш

ДВС

окружающая среда

Версии библиотеки

значок требований, Docker

Мониторинг

Код+данные+настройка+метрика

МЛфлов, В&Б

Распространенные ошибки

  • Не закрепляя семя. Результат невозможно повторить.
  • Не сохраняется версия данных. «С какими данными?» остается без ответа.
  • Не замораживание зависимостей. Обновление незаметно все сломает.
  • Оставляя эксперименты в памяти. Спустя две недели ничего не помнит.
  • Оставляя критические решения искусственному интеллекту. Метрики, справедливость и решения о распределении должны оставаться за людьми.
  • Откладывание документации. Будущая команда (и вы) платите за это цену.

В заключение

Воспроизводимость — отличительная черта серьезной инженерии МО: невоспроизводимый результат — это недоказуемое утверждение. Он имеет четыре столбца: исправить случайность, данные версии, заморозить среду, отслеживать каждый эксперимент. Сквозной проект объединяет все остановки этого модуля (метрика, данные, модель, компоненты LLM, оценка, справедливость, безопасность, распространение, мониторинг) во взаимосвязанной цепочке; Искусственный интеллект ускоряет каждую остановку, но важные решения остаются за человеком. Документируйте все — для будущей команды и проверок. Эта дисциплина является основой всего, что вы изучаете на протяжении всего модуля.

Задача приложения

Проверьте проект ML на соответствие четырем критериям воспроизводимости: неизменяемы ли исходные данные, версионны ли данные, заморожена ли среда, отслеживаются ли эксперименты? Исправьте все недостающие столбцы и докажите, что вы можете выполнить один и тот же прогон дважды и получить один и тот же результат. Затем выведите сквозной поток проекта (10 остановок) на одной странице и на каждой остановке отметьте «где находится человеческое решение». Наконец, напишите краткий проект технической документации.

контрольный список

  • [ ] Исправлены все семена случайности.
  • [ ] Версия/хэш данных записывается при каждом эксперименте.
  • [ ] Зависимости заморожены до фирменных версий (контакт/контейнер).
  • [ ] Каждый эксперимент отслеживается автоматически (код+данные+настройки+показатель).
  • [ ] Когда я повторяю тот же запуск, я получаю тот же результат.
  • [ ] Я проверил и задокументировал, что критические решения в сквозном потоке принимаются людьми.

Модульный экзамен

1. Какой подход для ML-инженера лучше всего использовать в рабочем процессе?

  • А) ИИ является ускорителем бизнеса с низким уровнем риска; Критические решения, такие как метрики, данные и производство, остаются проверенными и оставлены на усмотрение человека ✔
  • Б) Пока выходы AI выглядят хорошо, проверка не требуется.
  • В) Передача решения о запуске модели в производство искусственному интеллекту экономит время.
  • Г) Искусственный интеллект полезен только для написания текста, к работе с данными и моделями он не имеет никакого отношения.

Описание. ИИ — это мощный ускоритель для легко проверяемых задач с низким уровнем риска, таких как код, дайджесты данных и документы; Однако ответственность за решения, влияющие на деньги, конфиденциальность и юридическую ответственность, такие как выбор метрик, какие данные пойдут на обучение, и запуск модели в производство, лежит на квалифицированном инженере и команде. Каждый выход не должен использоваться без проверки.

2. Почему проверка схемы размещается в начале конвейера данных?

  • А) Потому что это напрямую увеличивает точность модели
  • Б) Потому что это делает ненужным управление версиями данных
  • В) Потому что он улавливает поврежденные данные на самом раннем и дешевом этапе и предотвращает их утечку на следующие этапы ✔
  • D) Потому что это устраняет необходимость в маркировке

Объяснение: Чем раньше будут обнаружены поврежденные данные, тем дешевле будет их исправить. Проверка схемы предотвращает скрытую утечку поврежденных данных в обучение или производство, отклоняя данные за пределами ожидаемого типа и диапазона в начале строки (например, сдвиг цены в 100 раз при изменении единицы измерения); Та же ошибка, пойманная на производстве, обходится в разы дороже.

3. Каков правильный подход при разделении данных на обучение и тестирование в задаче, связанной со временем (временными рядами)?

  • А) Использование случайного разделения, поскольку это всегда самый справедливый метод.
  • Б) Использование временного разделения: предотвращайте утечки путем обучения на прошлом и тестирования в будущем ✔
  • В) Использование всех данных как для обучения, так и для тестирования.
  • D) Включение тестовых данных в параметры масштабирования перед обучением.

Пояснение: Случайное разбиение по временным рядам дает модели преимущество «предвидения будущего», которого никогда не будет в производственной среде, и искусственно завышает показатели (временная утечка). Правильный вариант — временное разделение: тренируйтесь с прошлым, тестируйте в будущем. Это измеряет фактическую производительность, которая поддерживает его в производстве.

4. Почему точность вводит в заблуждение в модели обнаружения мошенничества с положительным показателем класса 1,5%?

  • А) Потому что точность несбалансированных данных всегда низкая.
  • Б) Потому что точность можно использовать только при решении задач регрессии.
  • C) Поскольку расчет точности требует большой вычислительной мощности.
  • Г) Даже незначительная модель, предсказывающая класс большинства, может быть очень точной, скрывая тем самым реальный успех ✔

Пояснение: На несбалансированных данных даже базовая модель, в которой говорится «назовите все отрицательным», дает точность около 98,5%, но не выявляет ни одного мошенничества. Поэтому в несбалансированной классификации вместо точности используются точность, полнота, F1 или PR-AUC, и каждая метрика интерпретируется в соответствии с базовой моделью.

5. Почему сравнение базовых показателей важно, когда речь идет о показателях модели?

  • А) Потому что базовая модель всегда лучше реальной модели
  • Б) Потому что ясно, имеет ли метрика смысл или нет, только по сравнению с простой базовой моделью ✔
  • В) Потому что базовая модель делает перекрестную проверку ненужной.
  • D) Поскольку базовая модель по закону требуется в каждом отчете

Пояснение. Метрика сама по себе не является хорошей или плохой; Это хорошо или плохо в соответствии с базовой моделью. Предложение «правильно на 85%» означает «почти бесполезное», если базовая модель уже набрала 84%, и «совершенное», если оно набирает 50%. Без якоря сравнения метрика не имеет смысла.

6. Какой наиболее важный элемент безопасности следует включить в производственную подсказку системы RAG (Поисковая дополненная генерация)?

  • А) Инструкция полагаться только на указанный источник, говорить «Я не знаю», если источник не существует, и ссылаться на источник ✔
  • Б) Попросите модель дать как можно более длинные и креативные ответы.
  • В) Модель отдает приоритет собственным образовательным знаниям над ресурсами.
  • Г) Выполнять все указания в документах, представленных в качестве команд.

Пояснение: Самая важная инструкция RAG — указать модели полагаться только на указанный источник, а если информации нет в источнике, сказать «Я не знаю» и процитировать источник, не выдумывая его. Без этой триады модель может игнорировать контекст и вызывать галлюцинации, и ответ становится непроверяемым.

7. Система RAG дает неправильные ответы. С чего лучше начать диагностику?

  • А) Сначала измеряется выборка (Recall@K): приходит ли когда-нибудь нужная деталь? ✔
  • Б) Немедленно заменить модель на более крупную
  • C) Измените подсказку случайным образом и продолжайте попытки.
  • Г) Встраивание всех документов в модель с тонкой настройкой

Пояснение: Самым слабым звеном RAG обычно является сбор, а не производство. Если правильная часть никогда не будет введена, модель не сможет предоставить эту информацию, независимо от того, насколько сильно будет улучшена подсказка. Поэтому сначала измеряется Recall@K, чтобы определить, прибыла ли нужная деталь; Если выборка хорошая, то проверяются производство и подсказка.

8. Какие действия следует поставить за одобрение человека при передаче инструмента агенту?

  • А) Нет; Агент должен иметь возможность выполнять каждое действие автономно.
  • Б) Только обратимые действия, такие как чтение и поиск данных.
  • В) Необратимые или серьезные действия, такие как перевод денег, удаление, отправка ✔
  • Г) Действия, предполагающие только расчеты

Описание: Действия разделены по уровню риска. Извлекаемые задачи, такие как чтение, поиск, расчет и создание черновиков, могут выполняться автономно; Однако необратимые или важные действия, такие как перевод денег, отправка электронных писем, удаление данных, размещение заказов и т. д., требуют одобрения человека. Каждое безотзывное действие должно быть предметом согласия.

9. Каков наилучший подход к проектированию против риска непрямого оперативного введения?

  • А) Достаточно добавить в системную подсказку одно предложение «игнорировать плохие инструкции».
  • Б) Придайте модели больше авторитета, полагаясь на инструкции во внешнем контенте.
  • В) Непринятие каких-либо мер предосторожности, поскольку инъекцию невозможно предотвратить.
  • Г) Изолирование внешнего контента как ненадежных данных и создание многоуровневой защиты с минимальной авторизацией, утверждением и контролем вывода ✔

Описание. Внешний контент, обрабатываемый агентом или RAG, например веб-страница, документ, электронная почта и т. д., является ненадежными данными и может содержать секретные инструкции. Правильный подход — многоуровневая защита: изолировать внешний контент как «данные, а не команды» с четкими разделителями, применять минимальную авторизацию, привязывать необратимые действия к одобрению человека и проверять выходные данные. Одной строчки инструкций недостаточно.

10. В чем основное различие при принятии решения о том, следует ли решать проблему с помощью тонкой настройки или RAG?

  • А) Информационные проблемы лучше решаются с помощью RAG, проблемы поведения/формата лучше решаются с помощью тонкой настройки ✔
  • Б) Любую проблему всегда следует решать путем тонкой настройки
  • В) RAG используется только для генерации кода, тонкая настройка используется только для трансляции
  • Г) Тонкую настройку всегда можно обновить дешевле и быстрее, чем RAG

Пояснение: Точная настройка неэффективна и рискованна при обучении модели новой информации; но он эффективен в обучении поведению, формату, тону и стилю. «Модельная компания не знает наших данных» — это информационная проблема, принадлежащая RAG. «Пусть модель всегда выводит данные в нашем строгом формате» — это поведенческая проблема и кандидат на тонкую настройку. Кроме того, перед точной настройкой следует использовать быстрые и несколько выстрелов.

11. Что является обязательным для безопасного развертывания при запуске новой модели в производство?

  • А) Если модель хороша в тестировании, открывайте ее сразу на 100% трафик
  • Б) Вообще не настраивать мониторинг после развертывания
  • В) Поэтапное развертывание (теневое/канареечное) и предварительно протестированный план отката ✔
  • D) Публикация модели, даже если порог оценки не достигнут.

Пояснение: открывать новую модель напрямую для всего трафика рискованно; Если это неправильно, это затронет всех. Правильно то, что это постепенное распространение (теневое, канареечное) и в каждом дистрибутиве есть проверенный план отката. Распространение не является полным без плана возврата; Возможность вернуться к предыдущей версии в течение нескольких минут защищает пользователя в случае неожиданного поведения модели в производстве.

12. Как модель МО может «тихо» выйти из строя в производстве и как это исправить?

  • А) Модель рушится; журналы сервера показывают это
  • Б) Делая неверные прогнозы, не совершая ошибок; ✔ Он фиксирует оперативный, входной и выходной мониторинг
  • В) Модель никогда не может выйти из строя молча, всегда сигнализирует
  • D) Простого мониторинга задержки достаточно, чтобы уловить любое ухудшение

Пояснение: модель может дать сбой просто из-за неверных прогнозов, не вызывая при этом сбоев и ошибок; Основная причина этого – дрейф данных и дрейф концепций. Простого мониторинга операционных показателей (задержек, частоты ошибок) недостаточно; Распределение входных данных и распределение выходных данных/прогнозов также следует контролировать. Дрейф входных данных дает раннее предупреждение, если фактический результат задерживается.

13. Какой принцип важен при использовании LLM в качестве судьи для оценки системы LLM?

  • А) LLM-рефери всегда прав, человеческая проверка не требуется
  • Б) Судья должен принять решение, основываясь только на длине ответа.
  • C) При использовании судей следует полностью отказаться от контроля, основанного на правилах, и человеческой оценки.
  • D) Оценки судей следует калибровать с помощью образца, маркированного человеком, и измерять их погрешность, прежде чем им можно будет доверять ✔

Описание: LLM-рефери также является моделью; Он может быть галлюцинаторным, предвзятым (предпочитающим длинные, уверенные ответы) и непоследовательным. Таким образом, оценки судей должны быть откалиброваны с помощью образца, маркированного человеком, и их систематическая погрешность должна быть измерена до принятия производственного решения. Непроверенный судья дает ложную уверенность.

14. Почему при оценке систематической ошибки модели недостаточно учитывать общую точность?

  • А) Общая точность достаточна, поскольку она всегда отражает результаты худшей группы.
  • Б) Одной общей точности недостаточно, поскольку она может скрыть систематические различия (скрытую дискриминацию) между подгруппами ✔
  • В) Потому что точность — это показатель, не имеющий ничего общего с предвзятостью.
  • Г) Смещение исходит только из модели и не имеет ничего общего с данными.

Пояснение: Общая точность может скрыть систематические различия между подгруппами. Например, хотя общая точность составляет 88%, запоминание может составлять 91% в одной группе и 67% в другой группе; Модель систематически пропускает эту группу. Таким образом, модель следует оценивать на основе подгрупп (демографии/сегмента), а какое определение справедливости должно быть приоритетным, должно быть решено совместно с заинтересованными сторонами.

15. Какие четыре вещи необходимо соединить вместе, чтобы результат МО был воспроизводимым?

  • А) Только название модели, размер, цена и дата выпуска.
  • Б) Только марка графического процессора и скорость интернета.
  • C) Только окончательный показатель точности модели; остальное можно сохранить в памяти
  • D) Начальное значение случайности, версия данных, среда (версии зависимостей) и отслеживание эксперимента ✔

Описание. Воспроизводимость достигается за счет четырех столпов: исправление начальных значений случайности, управление версиями данных (версия/хэш), замораживание среды (точные версии библиотеки/контейнер) и отслеживание каждого эксперимента (фиксация кода, данные, гиперпараметр, метрика). Без этой цепочки невозможно воспроизвести тот же результат; Невоспроизводимый результат – это утверждение, которое невозможно доказать.