M365Con 2027 – бесплатная онлайн-конференция · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Мастерство архитектуры Lakehouse: bronze, silver и gold в Microsoft Fabric

By ·

Добро пожаловать обратно в блог-компаньон к подкасту! В нашем последнем выпуске мы подробно разобрали практические аспекты инженерии машинного обучения в экосистеме Micro…

Automatically translated with AI from the original post. Read the English original

▶ BLOGMastering LakehouseArchitecture: Bronze,…M365.FM
Titelbild: Mastering Lakehouse Architecture: Bronze, Silver, and Gold in Microsoft Fabric

Добро пожаловать обратно в блог-компаньон к подкасту! В нашем последнем выпуске мы подробно разобрали практические аспекты инженерии машинного обучения в экосистеме Microsoft. Если вы его ещё не слушали, обязательно посмотрите выпуск «Build Machine Learning Models in Microsoft Fabric». Сегодня мы развиваем эти идеи и разбираем, как структурирование данных по медальонной архитектуре внутри Lakehouse в Microsoft Fabric становится фундаментом успешной и масштабируемой операции машинного обучения.

Создание готовых к промышленной эксплуатации моделей машинного обучения — это не только выбор правильного алгоритма или настройка гиперпараметров. Чаще всего успех прогнозных моделей зависит от качества данных, воспроизводимых конвейеров и надёжного управления. Давайте разберём, как освоить архитектуру Lakehouse в Microsoft Fabric.

Архитектура в двух словах

При проектировании сквозной платформы данных и машинного обучения в Microsoft Fabric критически важно понимать движение данных. Всё начинается с OneLake, который служит единым слоем хранения. Оттуда данные поступают в Lakehouse, где проходят через таблицы Delta уровней bronze, silver и gold.

Для вычислений Fabric Notebooks предоставляют специалистам по данным предустановленный стек для data science на базе Spark, Python и R. Отслеживание экспериментов выполняется через встроенные запуски MLflow: они фиксируют метрики, параметры и артефакты без необходимости во внешних серверах отслеживания. После обучения модели попадают в единый реестр с версионированием, согласованием и полной линией происхождения данных. Наконец, модели публикуются через управляемые пакетные задания или конечные точки HTTP в реальном времени и обслуживают такие потребители, как Power BI, Power Apps и пользовательские API-клиенты.

Lakehouse: входные данные под контролем

Основная идея Lakehouse — объединить гибкость data lake с надёжностью хранилища данных. Чтобы это работало эффективно, нужно структурировать данные по отдельным слоям.

Разделите таблицы по слоям

Доступ по назначению

Используйте ролевую модель доступа к рабочей области в сочетании со списками контроля доступа на уровне таблиц. Дайте специалистам по данным право чтения таблиц silver и gold, а право записи ограничьте таблицами признаков и экспериментальными каталогами.

Защитные барьеры качества данных

Внедрите строгие проверки на отсутствие null-значений, допустимые диапазоны значений и ссылочную целостность. Строки, не прошедшие проверки, направляйте сразу в таблицу _quarantine, чтобы нижестоящие конвейеры не сбоили молча и не загружали искажённые данные.

Облегчённое хранилище признаков

Относитесь к повторно используемым признакам как к таблицам gold — например, feat_customer_rolling_90d — и сопровождайте их словарём данных в формате YAML, чтобы вся команда понимала, что представляет собой каждый признак.

Блокноты без лишней боли

Совместная разработка быстро становится хаотичной, если разработчики работают в разных средах. Fabric предоставляет предустановленные ядра, включая pandas, PySpark, scikit-learn и PyTorch, что гарантирует, что все работают от одной и той же базовой конфигурации.

Используйте структурированную организацию проекта, отделяя исследовательские блокноты, скрипты конструирования признаков, процедуры обучения моделей и файлы конфигурации. Воспроизводимость должна обеспечиваться кодом, а не ручными действиями в интерфейсе. Читайте данные из Lakehouse через Spark SQL, записывайте итоговые признаки как таблицы Delta и всегда подготавливайте небольшие примеры таблиц для разработки, чтобы команда могла быстро итерировать, не дожидаясь запросов к полным наборам данных.

Отслеживайте всё с помощью MLflow (встроенного)

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

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

Реестр, согласование и происхождение данных

Перевод модели из экспериментальной стадии в продуктивную никогда не должен быть делом догадок. Продвигайте лучшие запуски в зарегистрированную модель, используя семантическое версионирование, например 1.0.0. Внедрите двухэтапный процесс согласования, требующий одобрения как владельца data science, так и владельца бизнес-процесса. Наконец, фиксируйте полные метаданные карточки модели с описанием её назначения, области данных, заметок о справедливости и целевых уровнях обслуживания мониторинга.

Варианты обслуживания (выбирайте по нагрузке)

Пакетное скоринг (дёшево и надёжно)

Для нагрузок, которым не требуются мгновенные ответы менее секунды, пакетный скоринг – ваш лучший друг. Используйте запланированные задания или блокноты Fabric, чтобы читать продуктивные модели из реестра, применять их к пакетным наборам данных и записывать прогнозы обратно в Lakehouse.

Эндпоинт реального времени (интерактивные приложения)

Когда пользователям нужна немедленная обратная связь, например при валидации форм или оценке риска по нажатию кнопки, развёртывайте зарегистрированную модель как управляемый эндпоинт реального времени непосредственно через пользовательский интерфейс Fabric. Публикуйте предсказуемый контракт JSON и безопасно подключайте его к Power Apps или внешним приложениям.

Мониторинг и переобучение

Развернуть модель – это только половина дела. Необходимо постоянно отслеживать дрейф данных, сравнивая распределения признаков в реальном времени с базовой линией обучения, используя пороговые значения расхождения Кульбака – Лейблера или индекса стабильности популяции (PSI). Отслеживайте метрики операционного состояния, включая задержку эндпоинта, частоту ошибок и стоимость на тысячу оценок. Автоматизируйте конвейеры переобучения, сочетая триггеры по времени и оповещения о дрейфе по событиям, чтобы модели оставались точными со временем.

Безопасность и соответствие требованиям

Поддержание безопасности имеет первостепенное значение при работе с корпоративными данными. Соблюдайте принцип наименьших привилегий: предоставляйте специалистам по data science доступ на чтение к слоям silver и gold, а права на запись ограничивайте назначенными каталогами признаков и экспериментов. Используйте управляемые идентификаторы и Azure Key Vault для хранения всех учётных данных, чтобы секреты никогда не попадали в блокноты в виде жёстко заданных значений. Минимизируйте раскрытие персональных данных, хешируя или токенизируя чувствительную информацию на раннем этапе слоя silver, чтобы она никогда не попадала в хранилища признаков.

Что измерять (быстро доказать ценность)

Чтобы быстро продемонстрировать ценность инициатив в области машинного обучения, сосредоточьтесь на правильных метриках. Оценивайте мощность модели с помощью AUC и precision-at-k для ранжирований, отслеживайте бизнес-эффект через прирост выручки или снижение оттока клиентов, контролируйте скорость пути от готовности данных до развёртывания в продуктиве и оценивайте надёжность инфраструктуры и экономическую эффективность на тысячу прогнозов.

План внедрения на 14 дней

Если вы хотите быстро перейти от нуля к продуктивному развёртыванию Fabric, следуйте этому структурированному двухнедельному плану:

Частые ошибки (и быстрые решения)

Даже опытные команды сталкиваются с препятствиями. Чтобы не играть в рулетку с ноутбуками, закрепите свои окружения за стандартными ядрами Fabric. Не тестируйте только на крошечных выборках, которые ломаются при масштабировании на полные наборы данных. Предотвратите появление «призрачных» моделей в продакшене, строго соблюдая процессы продвижения через реестр. Держите облачные расходы под контролем, по возможности используя пакетную обработку по умолчанию и кэшируя производные признаки.

Полезные фрагменты кода

Чтобы помочь вам быстрее стартовать с вашим следующим проектом, вот короткий фрагмент, который показывает, как прочитать определённую версию таблицы Delta:

sales_v = spark.read.option("versionAsOf", 123).table("lakehouse.gold.sales_txn")

Если вы хотите извлечь важность признаков с помощью scikit-learn и сразу записать её в MLflow, воspользуйтесь таким подходом:

import pandas as pd
fi = pd.Series(clf.feature_importances_, index=feature_cols).sort_values(ascending=False)
mlflow.log_artifact(fi.head(30).to_frame("importance").to_csv("fi.csv", index=True))

А чтобы рассчитать индекс стабильности популяции (PSI) для обнаружения дрейфа:

import numpy as np
def psi(expected, actual, bins=10):
    e, b = np.histogram(expected, bins=bins, range=(np.min(expected), np.max(expected)))
    a, _ = np.histogram(actual,   bins=b,     range=(np.min(expected), np.max(expected)))
    e = np.clip(e / e.sum(), 1e-6, None); a = np.clip(a / a.sum(), 1e-6, None)
    return np.sum((a - e) * np.log(a / e))

Если хотите, напишите в комментариях или свяжитесь со мной напрямую, указав текущие имена таблиц в Lakehouse и целевой сценарий, например прогноз оттока клиентов, скоринг лидов или прогноз спроса. Я помогу составить минимальный набор признаков, выбрать базовую модель и определить точную схему пакетной или потоковой работы, чтобы вы быстро запустили первое внедрение Microsoft Fabric!

Microsoft Fabric Fabric notebooks Fabric workspace Power Apps Power BI

Related articles

RSS