Обновить
107.88

Data Engineering *

Обсуждаем вопросы сбора и подготовки данных

Сначала показывать
Порог рейтинга

Переходим полностью к тестам датасета COCO. День 4.

Пока Альтман рассуждает о бороздящих кораблях Вселенную и о моделях, которые будут после трансформеров, мы делаем. Такое вступление я придумал для статьи, когда мы закончим с экспериментами и доделаем пилот, а пока продолжу дневник обучения TAPe-модели. Кому интересно: начало тут, здесь и там, а немного про методы TAPe (Теории активного восприятия) в области обработки информации – здесь.

Сначала протестировали эту же модель с тем же числом параметров на большом датасете COCO. Без оптимизации получили решение с точностью 60.59%, что является очень высоким для такой модели (невозможно высоким даже, такая модель по идее не должна сходиться и находить общее решение из количества параметров, но данные TAPe позволяют). Пока сложно сравнить с конкретной метрикой других моделей, потому что мы не строим рамки вокруг предмета, но находим конкретно центр объекта. Это проведем позже. 

Тренировка на процессоре как минимум не дольше, чем тренировка на видеокарте, поэтому мы ограничены только количеством данных на ОЗУ в TAPe-формате - что не является ограничением в целом, можно весь датасет уместить одновременно там
Пока существуют несколько проблем:

  • Количество ложных срабатываний (скорее симптом, но все же);

  • Не самая лучшая классификационная точность (тоже в большой степени симптом);

  • Неправильное центрирование объектов (немного ограничение детекции, но есть способы обойти);

  • Размерность COCO;

Начали экспериментировать, чтобы найти решения, при этом также экспериментируем с несколькими предметами, с которыми ранее уже хотели провести эксперимент.

Конкретно:

Работа матрицы преобразования на данный момент времени немного линейная. Зависимости по большей части линейные (то есть, независимые друг от друга). Это не хорошо, по понятным причинам, но в тоже самое время это помогло перейти к пониманию одного факта: в найденном нами подходе, о котором писали выше, есть как раз нелинейная зависимость коэффициентов друг от друга. Эту связь нужно выстраивать вручную, в зависимости от градиентного спуска и deep learning, но в нашем случае связи по TAPe известны заранее,
Дополнительно начинаем вторую фазу создания решения, чтобы можно было захватывать объекты любого размера. Это должно привести к намного более точным ответам, при этом ускорив модель. 

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

Дальше планируем продолжить работу с полным датасетом (используя 2% из него для быстрых тестов - это около 2400 изображений).

Теги:
0
Комментарии0

Как мы ушли от всем известного способа градиентного спуска

Продолжаю дневник разработки "Суперраспознавалки" для демо/пилота. День третий. Основная задача: настроить TAPe-модель на датасет типа COCO под задачу detection. Вторая - дать клиентам возможность добавлять собственные классы к уже существующим. Ну и далее, при необходимости, полная адаптация модели под конкретного заказчика. Поскольку у нас есть Теория активного восприятия с ее методами, на выходе заказчик должен получить кратную эффективность и кратную экономию ресурсов.

В первые два дня настраивали базовую струтуру сегментации, детекции и классификации. Модель решает задачи на обучении уже 115 тыс параметров – в отличии от YOLO, которой мало 2 млн + параметров.

Начало здесь

Второй день здесь

Про архитектуру TAPe+ML здесь

Тут сравнение трех десятков кодировок в задаче сегментации видео в DBSCAN (включая ViT, DINO) с TAPe

День 3

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

Сейчас эта проблема решается условно через определенные движения области сбора данных для выявления текстур, которые, возможно, не были найдены в области, расположенной стандартным способом (то есть начальным разбиением изображения на патчи). Это позволяет сильно уменьшить количество ложных срабатываний.

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

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

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

Также на заднем плане были закончены эксперименты с разными архитектурами (эксперименты продолжались параллельно несколько дней). Нашли самую лучшую архитектуру на данный момент (самая логичная по её смыслу, как нам кажется). Тут без подробностей, но мы ушли от всем известного способа градиентного спуска, что позволяет нам после тренировки модели прийти к глобальному минимуму решения (или к чему-то очень близкому к этому – всё равно есть зависимость от задачи).

Мы собираем данные из патчей определенным образом, объединяем их в общее описание, а затем уже классифицируем конкретно эти объединения по тому, есть там объект или его нет. Классификация происходит за счет общих описаний каждого класса, который модель видит - и не тренируется отдельно, потому что исходит натурально из первичной тренировки векторов, а затем сводится к одному описанию через k-means.

В результате выходит модель с очень малым количеством ложных срабатываний – с которыми, впрочем, мы все равно боремся. Плюс есть некие проблемы центровки, так что скорее всего количество параметров увеличится. Но все равно, модель работает чрезвычайно быстро. Тренировка как таковая проходит на CPU (так проще).

Теги:
0
Комментарии0

День 2. 115 тыс параметров вместо 2 млн+ у YOLO

Продолжаю дневник разработки "Суперраспознавалки" для демо/пилота. Начало здесь.

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

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

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

Разбиение происходит за 100+ кадров в секунду, без оптимизации, с обработкой каждого кадра отдельно (то есть есть также overhead выгрузки изображения на GPU).

Также пришло понимание, что нужно переходить к этапу дополнительных действий, чтобы отбирать интересные места. В целом по результату вышло, что количество ложных срабатываний в разы уменьшилось, но при этом количество правильных ответов тоже немного снизилось (на пару процентов, но заметно в любом случае, тем более у нас цель получить условные 100% на тестовых данных). Это происходит как раз таки из-за того, что нет правильной последовательности действий (что, впрочем, нами ожидалось, просто не думали, что это так быстро произойдет).

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

Разбиение следующее:

Classes: 4; labeled: 1256, train: 879, test: 377, miss images: 559

То есть, 4 класса, общее количество изображений объектов - 1256, из них в тренировку уходит 879, в тестирование - 377. Miss images - это изображения просто заднего фона, а также случайных объектов, не являющихся нужными объектами.

Для YOLO необходимо около 1500 изображений на один класс. Мы же успешно используем около 220 на класс + какие-то изображения фона (которые есть только для травы и снега, например).

Результаты имеют точность определения того, где находится нужный объект (не её вид – это отдельный шаг) с точностью 98.94% (то есть правильно для 373 из 377 изображений). Ложные срабатывания ещё существуют, но их стремительно меньше.

Интересно, что модель “самостоятельно” находит правильно нужные объекты, даже если в тренировочных данных они не были обозначены (то есть тренировочные данные неправильные). Модели всё равно удаётся определить оба объекта, что показывает, что модель обучилась формам объектов успешно.

Чтобы добавить контекста - размер модели 115 тысяч параметров. Самая маленькая из современных YOLO же имеет 2+ млн параметров, и при этом не справляется с задачей.

Теги:
+2
Комментарии0

Сейчас делаем пилот сразу для нескольких заказчиков. Рабочее название - "Суперраспознавалка":))

Основная задача: настроить TAPe-модель на датасет типа COCO под задачу detection. Вторая - дать клиентам возможность добавлять собственные классы к уже существующим. Ну и далее, при необходимости, полная адаптация модели под конкретного заказчика. Поскольку у нас есть Теория активного восприятия с ее методами, на выходе заказчик должен получить кратную эффективность и кратную экономию ресурсов.

Задача интересная, поэтому буду вести дневник разработки, а потом подготовлю подробную статью.

Некоторые проекты - NDA, когда буквально нельзя указывать точное название объектов, которые нужно детектировать. Поэтому не обессудьте. Ноу-хау по-прежнему не собираемся раскрывать. Только результаты и часть пути к этим результатам.

День 1. TAPe и YOLO

Закончили с базовой структурой для сегментации,  то есть с тем, как за один "ход" получать необходимый набор патчей, чтобы дальше расчёты шли параллельно (и оттуда же быстро), что также немного подводит ближе к самой логике действий здесь. Сейчас за одно действие получается определить все точно-неинтересные места, а также все возможно-интересные места (то есть, где есть детали в целом).

Что интересно сейчас в самом подходе - это то, что благодаря TAPe получается избежать проблемы других сегментационных моделей - а именно:

  • Необходимость классификации буквально каждого пикселя (как поступают стандартные современные модели семантической сегментации);

Стандартные модели буквально классифицируют каждый пиксель (или каждый N-ный пиксель, если сжимают разрешение) на отношение к тому или иному классу. 

  • Необходимость проверять каждый шаг в какой-то ограниченной сетке размером N на N (так делает конкретно YOLO)

YOLO обходит это использованием сил CNN, классифицируя только конечное количество патчей (зависит от версии YOLO, в первой их было 6400, что всё равно много). Методы TAPe же нам позволяют этого не делать, потому что единицы информации в TAPe (которые мы назвали T-bit) несут в себе гораздо больше информации, чем бит. В данном случае - несут в себе нужную структуру для нахождения похожести - а значит для нахождения сегментов, в которых нужно что-то классифицировать в целом. И даже здесь благодаря TAPe у нас есть преимущество: мы можем проводить классификацию на условном нулевом уровне, не уходя в глубину.

Используя даже простую версию такого подхода, мы уже можем приходить к такой сегментации на простых примерах (разные цвета показывают разные сегменты). Лавочка - один сегмент, урна - другой, всё остальное - разные неровности, которые также можем буквально отфильтровать, если не хотим проводить их классификацию их. То есть - объект находится условно одномоментно.

Теги:
-2
Комментарии0

Новая страшилка от Citrini Research: Кризис Интеллекта

Глобальный кризис интеллекта 2028
Глобальный кризис интеллекта 2028

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

Мнения людей после прочтения статьи разделились на оптимистичные и пессимистичные:

  • Оптимисты апеллируют к закону Сэя, который в сущности своей говорит следующее: спрос может подстроиться под любое количество предложения. В таком случае сэкономленные бизнесом деньги перетекут в другие и/или новые сектора экономики.

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

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

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

Однако именно такие люди формируют основу ипотечных займов (да-да, снова кризис вокруг ипотеки). Банки спокойно выдавали кредиты, т.к. стабильный доход и условия жизни гарантируют очень вероятное успешное погашение этого самого кредита.

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

Остаётся ответить только на 1 вопрос: Куда человечество в целом хочет прийти
через N лет?

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

Случайно можно наткнуться на мысль, что никто никуда идти и не хочет. Только заработать побольше денег и надуть пузыри до предела. Грустная мысль и, можно сказать, "глупая".

Спасибо, что почитали. Надеюсь, смог натолкнуть вас на интересные мысли. Буду рад вашим вопросам / дополнениям / комментариям.

Теги:
0
Комментарии1

Недавно вышла новая версия dplyr 1.2.0, и она принесла несколько важных обновлений, которые делают работу с данными в R ещё проще и удобнее. Опубликовал видео обзор в котором я рассказываю про самые интересные новинки: новые функции фильтрации filter_out(), when_any() и when_all(), обновлённую систему перекодировки с recode_values(), replace_values() и replace_when(), а также о важных оптимизациях старых функций.

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

Видео снято по статье "dplyr 1.2.0".

Теги:
0
Комментарии0

Друзья, 12 февраля проведём открытый вебинар по следам нашего ESB-исследования в «Кругах Громова».

Если коротко — за последний год мы оценили 18 российских интеграционных платформ по единой методологии: 12 категорий, 1 000 баллов. Такого раньше на рынке не было. Результаты местами предсказуемые, местами — неожиданные.

На вебинаре поговорим:

— Почему компании до сих пор путают Kafka, ESB и data pipeline — и платят за это дважды
— 5 классов интеграционных решений: когда какой работает, а когда — категорически нет
— Как мы строили матрицу зрелости и кто в итоге получил номинацию
— Что планируем исследовать дальше — и как повлиять на приоритеты

Будет живой эфир с интерактивом, не просто «говорящая голова».

Кто работает с интеграциями, выбирает платформу или просто в теме — приходите, будет интересно.

📅 12 февраля 2026, 11:00 МСК
📍 Онлайн, бесплатно

👉 Нужна регистрация: тут

Теги:
Рейтинг0
Комментарии0

12 февраля вебинар про ETL-платформу в облаке

Это будет практический вебинар, на котором мы покажем, как за несколько часов создать надежную и масштабируемую ETL-платформу в облаке. С такой платформой можно сосредоточиться на создании ценности для бизнеса, а не решении проблем с задержками в аналитике, ошибками в отчетах и потерей времени на поддержку инфраструктуры.

Какие вопросы обсудим на вебинаре:

  • как интегрировать данные из различных источников (базы данных, S3, API) в единую экосистему;

  • как централизовать управление метаданными и схемами для согласованности и качества данных;

  • как настроить SQL-запросы к разнородным источникам без переноса данных;

  • как оценить экономию времени и ресурсов при переходе с self-hosted решений на управляемые сервисы.

В практической части мы настроим ETL-пайплайн от извлечения данных до формирования витрины, покажем управление схемами, выполним трансформации и продемонстрируем оркестрацию с визуальным интерфейсом.

📅 Когда? 12 февраля в 11:00 мск.

📍Где? Онлайн. Зарегистрируйтесь, чтобы задать вопросы экспертам в прямом эфире.

P.S. Если вы руководитель или инженер данных, BI-лидер или архитектор данных, то перед вебинаром предлагаем скачать чек-лик и проверить зрелость ваших ETL/ELT‑процессов. В итоге у вас будет готовый план оптимизации с применением cloud native подходов, который вы обсудите с нашим архитекторов, а на вебинаре увидите, как решение выглядит изнутри и сможете уточнить технические детали.

Теги:
Рейтинг0
Комментарии0

GlowByte разработала методику выбора BI на основе сценарного анализа

Источник: Freepik.com
Источник: Freepik.com

Практика Business Intelligence GlowByte разработала подробное руководство по сценарному выбору BI с готовой Excel-матрицей для сравнения платформ.

GlowByte выделяет 4 ключевых сценария с разными потребностями и акцентами:

  • отчеты для руководителя,

  • self-service,

  • регламентная отчетность,

  • исследование данных.

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

ℹ️ Методика учитывает изменения в BI-ландшафте, запрос на адаптивность и гибкость, а также необходимость подстраивать инструмент под задачу, а не наоборот. Исследование содержит детальные чек-листы по каждому сценарию, критерии оценки и примеры расчетов.

Впервые GlowByte выпустила сравнительную таблицу инструментов для анализа данных в 2022 году (рассказывали о подходе в статье “Как выбрать BI-платформу”). Подробнее о том, как GlowByte пересмотрела методику и почему старый подход не работает, - в новой статье "От универсальных критериев к сценарному подходу".  

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Open Table Formats — Iceberg vs Paimon — практика использования

В блоге партнеров GlowByte вышла новая статья.

Автор рассказывает об опыте работы с новым открытым табличным форматом (OTF) Paimon от разработчиков Apache Flink, представляет практические выводы, которые были сделаны на промышленных средах; а также проводит репрезентативное тестирование, где иллюстрирует ключевые практические сценарии.

Появление open table formats исполнило вековую мечту data-инженеров: совместило эффективность хранения и чтения Apache Parquet с возможностью обновления данных без полной их перезаписи. Достигается это за счет парадигмы Merge-On-Read и «отложенного удаления», когда информация об удалении старых версий записи пишется в deletion-файлы. Для фреймворков потоковой обработки, например Flink, это открывает возможности по обновлению данных прямо в Data Lake в режиме, близком к реальному времени, а для движков пакетной обработки — Spark, Impala, Trino, StarRocks — сокращает расход ресурсов на MERGE новых порций данных в витрины.

Читать статью полностью по ссылке.

Теги:
Всего голосов 4: ↑3 и ↓1+4
Комментарии0

Процедурное SQL-расширение в Lakehouse-платформе — новые возможности для работы с данными

В блоге технологического партнера GlowByte вышла новая статья. Команда Data Sapience рассказала о реализации процедурного расширения для работы с MPP-движками Lakehouse-платформы данных Data Ocean Nova, которое стало доступным для пользователей.

Ребята рассказывают о возможностях, применимости и сценариях использования процедурного языка в аналитической платформе данных и делятся планами по развитию Data Ocean Nova.

Теги:
Всего голосов 4: ↑3 и ↓1+4
Комментарии0

Привет!

В рамках «Кругов Громова» сейчас запускаем новое исследование — по российским платформам роботизации бизнес‑процессов (RPA). Хотим собрать честный опыт внедрения: что реально автоматизировали, где программные роботы помогают, а где мешают жить.

Если вы участвовали во внедрении RPA, запускаете и поддерживаете программных роботов (RPA‑ботов) в проде или, наоборот, уже обожглись и отказались от платформы — очень нужны ваши ответы. Опрос занимает 5–10 минут, он про практику, а не про маркетинг.

👉 Опрос RPA-круга Громова: https://forms.yandex.ru/cloud/6937ddf7068ff0b2dab7e0ee/

Результаты войдут в открытое исследование по российским RPA‑платформам на russianbi.ru — в духе прошлых исследовательских кругов: с разбором сильных и слабых сторон и типичных граблей.

Если есть история «как у нас роботы пошли не по плану» или, наоборот, показательный успешный кейс — кратко накидайте в комментарии к этому посту, это тоже поможет исследованию.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии2

Call for Pioneers: Launching the StarRocks Russian Community

Hello, Russian Developers!

We are the team behind StarRocks, a next-generation, high-performance analytical database (OLAP) widely adopted by leading tech companies globally for its blazing-fast query speeds and unified architecture.

We have always admired the Russian tech community. From ClickHouse to Nginx, Russia has a legendary reputation for engineering excellence and database innovation. We believe StarRocks has a lot to offer to this vibrant ecosystem, but we face a challenge: Language.

To bridge this gap, we are launching the StarRocks Russia Localization Program. We are looking for 3-5 technical experts to become the founding contributors of our Russian community.

The Mission

We don't just need translators; we need technical evangelists. Your goal is to help us localize high-quality technical content (Architecture deep dives, Benchmarks, User Cases) from English/Chinese into native, professional Russian, ensuring the local community can access the best resources.

Who We Are Looking For

- Native Russian Speaker: You have a high command of technical writing.

- Tech Savvy: You have mastered SQL, OLAP, and Data Warehousing, and your current job involves working with OLAP databases.(Experience with ClickHouse or PostgreSQL is a huge plus).

- Language Skills: You have a good understanding of English (or Chinese).

- Passion: You are active on Habr, Reddit or Telegram tech groups, or GitHub.

What You Will Get

- Competitive Bounties: We pay for every high-quality article translated or proofread.

- Official Recognition: We will be launching an official website in Russia, where you will be certified and listed as a Community Evangelist (subject to your consent for public disclosure).

- Inner Circle Access: Direct communication with our core R&D team and early access to new features.

- Exclusive Swag: Limited edition StarRocks geek gear.

Теги:
Всего голосов 3: ↑2 и ↓1+1
Комментарии7

Ближайшие события

Outliers - детектор аномалий временных рядов

Демо: https://outliers.up.railway.app/
Код: https://github.com/andrewbrdk/Outliers

Сервис детектирует аномалии временных метрик и отправляет уведомления о выбросах. Поддерживает:
- PostgreSQL
- Емэил и Слак уведомления.
- Методы детектирования: пороговое значение, отклонение от среднего, межквартильное расстояние.

Попробуйте!

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Repeater - легкий оркестратор для аналитики

Repeater запускает задачи по расписанию. Задачи описываются в toml-файлах и отображаются в веб-интерфейсе.

title = "wiki"
cron = "55 * * * *"

[[tasks]]
name = "wiki_pageviews"
cmd = "python3 ./examples/wiki_pageviews.py --end_date={{.scheduled_dt}}"   

[[tasks]]
name = "trigger_outliers_update"
cmd = "python3 ./examples/trigger_outliers_update.py"

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

Попробуйте!

Демо: https://repeater.up.railway.app/
Репозиторий: https://github.com/andrewbrdk/Repeater

Теги:
Рейтинг0
Комментарии0

Бенчмарк бенчмарка Lakehouse-движков, в котором побеждает объективная реальность

В блоге Data Sapience, технологического партнера GlowByte, вышла крутая статья технического идеолога Lakehouse-платформы данных Data Ocean Nova Евгения Вилкова.

Недавно на Хабре вышла статья с громким заголовком “Бенчмарк lakehouse-движков, часть 1: StarRocks и Doris падают под нагрузкой, Presto аутсайдер, CedrusData быстрее всех”. В своей статье авторы из Кверифай Лабс выбрали методику TPC-DS, но вместо 99 запросов остановилась на одном, который к тому же запускается на одной машине. Обосновывается это тем, что на одном конкретном запросе нужно разобрать работу оптимизаторов. По результатам исследования делается вывод, что решение, разработанное авторами, является лучшим, в том числе для запуска одного конкретного запроса на одном узле. Давайте попробуем разобраться, действительно ли это так.

В качестве отступления замечу, что данный эксперимент не имеет ничего общего с массивно-параллельными вычислениями и Lakehouse. Архитектура раздельных вычислений предполагает интенсивный сетевой обмен не только между storage и compute, но и между узлами compute-движка. Как заметили в комментариях к оригинальной статье, с тем же успехом можно было включить в тест и MySQL. Складывается впечатление, что методика тестирования была выбрана исключительно из-за заявленных компетенций в области оптимизатора движка, а запрос – исходя из наличия собственных доработок для обработки схожего случая. Главной же целью было на частном выводе убедить аудиторию в общем выводе. Отдадим должное коллегам – они не скрывают субъективность своего отношения к упражнению.

Заинтригованы? Добро пожаловать в статью Евгения! Комментарии приветствуются.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Тестирование движков массивно-параллельных вычислений: StarRocks, Trino, Spark. Spark — с DataFusion Comet и Impala

Друзья, в блоге компании Data Sapience, партнера GlowByte, вышла новая статья, третья в цикле материалов про нагрузочные испытания вычислительных технологий массивных параллельных вычислений.

Ранее техническим руководителем решений Data Ocean Nova и Data Ocean Flex Loader Евгением Вилковым были опубликованы статьи, посвященные сравнению Impala, Trino и Greenplum, в том числе по методике TPC-DS.

В этот раз в список решений добавляется Spark, включая работающий с технологией нативных вычислений DataFusion Comet, и набирающий популярность StarRocks.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Обеспечиваем качество данных в компании. Подборка open-source-инструментов для Data Quality

Привет, Хабр! Я Алексей Чумагин, Data Quality Team Lead Островка. В компании мы работаем с десятками источников данных: авиакомпании, отели, агрегаторы, платёжные сервисы. При этом источники постоянно обновляются: добавляются партнёры, меняются API и форматы. В таких условиях Data Quality становится непрерывным процессом, встроенным в ежедневную работу, а вовсе не стереотипным «набором тестов, которые раз в сутки что-то проверяют». 

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

Архитектура нашей платформы организована вокруг следующих задач:

  • автоматизация создания и выполнения тестов;

  • их централизованное хранение;

  • визуализация результатов;

  • мгновенное оповещение команд об инцидентах.

Вся эта экосистема работает в едином ритме с основными data-процессами компании.

Ниже — подборка инструментов, из которых состоит наша платформа. Их легко внедрить и в других IT-компаниях: стек масштабируемый, гибкий и не требует больших затрат на лицензии.

Какие инструменты мы используем в Data Quality

1. Ядро и автоматизация

  • В качестве ядра системы мы выбрали Soda Core — движок, который позволяет формализовать правила качества: целостность, уникальность, диапазоны значений. Тесты описываются декларативно, что упрощает поддержку и масштабирование.

  • После того как тесты написаны, их запуск и оркестрацию мы доверяем Apache Airflow. Он автоматически запускает проверку после ETL-процессов, управляет зависимостями и расписанием, что критично для стабильной работы пайплайнов.

  • Чтобы не тратить время на рутинное написание DAG’ов для новых тестов, мы используем DAG Factoryгенератор DAG’ов, позволяющий держать код тестов и их запусков в едином месте, легко масштабировать количество проверок.

2. Интеграция и доступ

  • Важной частью платформы стала интеграция с другими системами. Для этого мы подняли сервисный слой на FastAPI: через API можно запускать тесты, получать результаты, интегрировать платформу с внешними инструментами.

  • Для визуализации выбрали Streamlit — он позволяет быстро собирать дашборды и интерактивные отчёты, которые особенно удобны инженерам для экспресс-проверок и разбора логов ошибок.

  • Но не все участники процесса хотят разбираться в технических деталях. Менеджеры и аналитики зачастую предпочитают DataHub — каталог метаданных, где хранятся все проверки, их результаты, а также информация о таблицах, lineage и пайплайнах. Это позволяет сделать качество данных частью общего ландшафта данных компании.

3. Оперативность и реакция

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

  • Вся DQP-платформа развернута в Kubernetes, — это обеспечивает масштабируемость, отказоустойчивость и централизованное управление компонентами.

И почётное упоминание ещё одной неизбежно важной технологии: для ручных ad-hoc-проверок мы, конечно же, используем старый добрый SQL. Без него ни одна оперативная сверка или исследование гипотез не обходится.

Итого: наш Data-Quality-стек — это комбинация проверенных open-source-инструментов, которые удобны на практике: легко автоматизируем тесты, быстро видим результаты, интегрируемся с чем угодно и не особо беспокоимся о лицензиях. Всё масштабируется, поддерживается инженерами, а не только админами и даёт нам уверенность в качестве данных, даже когда вокруг всё меняется.

А какие инструменты используете вы для контроля качества данных? Что бы вы добавили или изменили в нашем подходе? Будем рады обсудить в комментах!

***

ТГ-канал Ostrovok! Tech

Теги:
Всего голосов 15: ↑15 и ↓0+17
Комментарии6

OutBoxML: как мы построили свою ML‑платформу от архитектуры до продакшена

Если вы хоть раз выводили ML‑модель в прод, то знаете этот сценарий.

Папки final_final_v2, десятки Python‑скриптов, неотслеженные версии данных, ручной деплой на сервер, и тревожное чувство, что «где‑то что‑то точно отвалится».

Со временем даже хорошо построенный ML‑процесс превращается в хаос — набор несовместимых пайплайнов и моделей, где каждый инженер решает задачу по‑своему.

Мы столкнулись с этим тоже. Но вместо того чтобы латать процессы по частям, мы решили построить собственную ML‑платформу OutBoxML — систему, которая централизует всё: от обучения и управления фичами до продакшн‑деплоя и мониторинга качества моделей.

OutBoxML — это не концепция на слайдах, а реальный проект, который мы внедрили в продакшн, чтобы стабилизировать и масштабировать ML во всём ИТ‑контуре Страхового Дома ВСК.

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

Решение: платформа OutBoxML

Мы не остановились на обёртках вокруг сторонних инструментов — мы создали OutBoxML: платформу, способную управлять жизненным циклом моделей от разработки до стабильного продакшена.

Мы шаг за шагом описываем во всех трёх статьях, как родилась архитектура, как устроен компонент работы с признаками и как устроена надёжность при выводе моделей.

Часть 1: Библиотека OutboxML от Страхового Дома ВСК

В первой статье мы показываем конструкцию ядра OutBoxML и обоснование архитектурных подходов.

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

Мы описываем принципы маршрутизации данных, версионирования и взаимодействия между сервисами, а также как обеспечиваем воспроизводимость экспериментов.

Часть 2: Автоматизированное машинное обучение с помощью нашего Open Source фреймворка: задача о Титанике

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

К тому же обсудили как мы автоматизировали обучение и инференс моделей с помощью OutBoxML и модульную архитектура и гибкие настройки процессов.

Часть 3: Data Drift в ML Страхового Дома ВСК: от PSI‑анализа до пересборки фичей и сравнения моделей

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

  • как диагностировать дрифт с помощью PSI‑метрики;

  • как использовать SHAP‑анализ для переосмысления модели;

  • чем отличается модель «с дрифтом» от модели «без дрифта» на реальных страховых данных.

Мы показываем не теорию, а эксперимент с открытым кодом и цифрами: какие признаки пришлось исключить, как изменилась логика модели и что это дало бизнесу на практике.

Совсем скоро выйдет заключительная статья нашего первого цикла open source проекта OutBoxML!

Присоединяйтесь к нашему проекту на GitHub и в Telegram. К тому же, библиотека опубликована в pypi и доступна к установке через pip install outboxml

Пишите в комментариях, о каких аспектах автоматизации ML вам хотелось бы узнать подробнее. Удачи в реализации ваших проектов!

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

​​Про AI-ускорение рутины разработчиков, которого... НЕТ! ч.3. В предыдущих частях мы смотрели годные исследования от том, как AI влияет на результаты работы, со стороны самого разработчика (раз, два). 

Данные из innovation graph
Данные из innovation graph

А теперь быстро посмотрим на результаты труда разработчиков! Ведь бешеный прирост эффективности (которого нет) должен быть виден невооруженным взглядом.

1️⃣ Если легко завайбкодить простые приложения, то они должны наводнить сторы. Statista говорит нам, что никакого прироста нет ни в App Store, ни в Google Play. Нет всплеска ни количества новых доменных имен, ни количества игр в Стиме.

То есть даже у индихакеров нет никаких «закодил приложение за три дня, люди пользуются». Но наверняка есть «три дня вайбкодил, но давать пользоваться таким нельзя».

2️⃣ Более того, нет даже значимого прироста числа github репозиториев! А ведь с революционной технологией разработчики должны запускать сайд‑проекты намного быстрее.

Данные из innovation graph, по которому можно проанализировать даже пики ru‑релоканотов в эмигрантских лимбах 🙂 (пост).

3️⃣ То есть подавляющее большинство говорящих о 10х эффекте от вайбкодинга и кодинга с AI никогда не пробовали ни вайбкодить, ни писать код. В работе это может выглядеть так: менеджер предлагает внедрять AI кодинг инструменты (все же внедряют!) А на деле это ведет к снижению эффективности труда разрабов в компании.

4️⃣ CEO Notion недавно рассказал The Wall Street Journal, что до AI маржинальность продукта была 90%, а после добавления AI фич упала до 80%. Проще говоря, они как лидеры рынка были обязаны добавить фичи, но в итоге теряют на этом деньги (бурного прироста пользователей из-за AI нет).

5️⃣ В реальном айтишном мире написание кода никогда не было узким местом создания софтверных продуктов. И мы сегодня видим на рынке, что AI инструменты скорее дают ощущение эффективности, а не саму эффективность.

Потому что в измеряемых результатах работы программиста прирост из-за AI довольно спорный.

6️⃣ В посте про AI агентов я предложил на любую реплику AI энтузиаста просить записать скринкаст того, что у него круто работает (кстати в комментах НИКТО из энтузиастов не смог этого сделать).

А на реплики индихакеров про эффективность кодинга с AI можно просить показать, что они накодили.

Теги:
Всего голосов 6: ↑6 и ↓0+7
Комментарии2