Обновить
76.01

Data Engineering *

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

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

В ClickHouse одна плоская таблица лучше, чем несколько соединенных таблиц

Время на прочтение4 мин
Охват и читатели7.1K

Данная статья о том, что в системе ClickHouse использование одной плоской таблицы (включая денормализованные таблицы) вместо нескольких таблиц, объединённых с помощью JOIN-операций, значительно повышает скорость выполнения запросов

Читать далее

Код устареет, принципы — останутся: подборка книг для мидлов и сеньоров в Data Science

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели5.2K

Привет! Меня зовут Марк Паненко, и я Chief Data Science в Ozon Банке. Сегодня я хочу поговорить не о моделях или фреймворках, а о том, что останется с вами — даже когда Python 3 сменится на Python 4, а PyTorch уступит место новым инструментам. О принципах — ну и о книгах, которые научат видеть их за строками кода.

Это вторая часть книжной подборки — в первой книги для джунов.

Читать далее

Трансформация платформы данных: от пары кубов до хранилища > 30 Тб и 1000 ETL-процессов

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели4.1K

Привет, Хабр! Меня зовут Наталья Горлова, я архитектор данных. Несколько лет назад мы в CDEK поняли, что продукты, на которых работало хранилище, перестали нас устраивать: не устраивала гибкость разработки и скорость поставки данных. C тех пор произошло множество изменений, которыми хочется поделиться с сообществом.

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

Читать далее

Обучение моделей timm. Связка с fastai

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели372

Разберемся как обучать модели timm с использованием Fastai! Покажу как я решил эту задачу с примером кода и объяснениями.

Читать далее

Dagster: новый стандарт для ETL в 2025?

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели5K

Мы живем в век данных и data-driven подхода. Есть продуктовые компании, где даже минимальные изменения в продукте обязаны пройти A/B-тест перед релизом (который из-за этого может и не состояться). С бумом данных и AI произошел и бум ETL (Extract, Transform, Load) инструментов. Сейчас, в 2024 году, выбор действительно впечатляет, даже если ограничиться только open source-решениями:

Читать далее

В закладки: 12 материалов про EDA и статистический анализ данных

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели4.4K

Привет! Это команда Яндекс Практикума. Эксперты курса «Специалист по Data Science» поделились 12 статьями, которые помогут ближе познакомиться с разведочным анализом и основами статистики, — рассказываем о них и делимся ссылками.

Читать далее

Порядок работы с устареванием ML моделей. Шаг 2: Создание надежных и долговечных моделей

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели817

Еще на этапе создания модели следует проделать работу направленную на замедление ее устаревания.

Реализацию процесса работы с устареванием моделей в ML можно разделить на 4 шага.

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

Мы пройдем полный путь создания модели и работы над замедлением ее устаревания.

Читать далее

Red Teaming для LLM: Полное пошаговое руководство по Red Teaming больших языковых моделей

Время на прочтение18 мин
Охват и читатели1.5K

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

Читать далее

Русские тексты. Работа с текстами. Предварительная обработка русских текстовых данных

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели2.7K

Предварительная обработка текстовых данных: ключевые этапы и методы

Текстовые данные — один из самых сложных типов данных для анализа из-за их неструктурированной природы и высокой вариативности. Чтобы превратить "сырой" текст в информацию, пригодную для машинного обучения или лингвистического анализа, требуется предварительная обработка. Этот процесс включает стандартизацию, очистку и преобразование текста, что повышает качество моделей NLP (Natural Language Processing). Рассмотрим основные этапы и методы.

Читать далее

Автоматизация разведочного анализа данных (EDA) с помощью Python

Уровень сложностиСложный
Время на прочтение19 мин
Охват и читатели5.1K

Всем привет! Меня зовут Константин Некрасов, я работаю дата-сайентистом в Газпромбанке. Хочу рассказать про инструмент, который серьезно упростил мою повседневную работу с данными, и поделиться им.

Если вы когда-нибудь занимались машинным обучением, то знаете — перед тем как строить модель, нужно как следует изучить свои данные. Этот этап называется EDA (Exploratory Data Analysis), или разведочный анализ данных (РАД). Он критически важен — именно здесь мы находим скрытые закономерности, выдвигаем первые гипотезы и понимаем, как лучше обработать данные для будущей модели.

Но EDA отнимает у дата-сайентистов кучу времени, которое можно потратить на что-то другое и не менее важное: придумать новые признаки, поэкспериментировать с разными алгоритмами или настроить гиперпараметры для более высокой точности модели.

Чтобы облегчить задачу, я разработал класс EDAProcessor, который автоматизирует ключевые этапы EDA: от базовой статистики и визуализации распределений до углубленного анализа корреляций, выбросов и временных зависимостей. Результаты анализа сохраняются в виде наглядных графиков и подробной excel-таблицы, где на разных листах представлены все важные статистические показатели и закономерности в данных.

Сразу оговорюсь — я не изобретаю здесь новых статистических методов, не претендую на научную новизну в области математической статистики, а мое решение не универсально. Каждый набор данных уникален, и полностью автоматизировать его анализ невозможно — всегда нужен опытный взгляд аналитика. Но базовые, наиболее часто используемые методы EDA этот инструмент берет на себя, ускоряя начальный этап работы с данными. Я попытался собрать в скрипт наиболее общие концепции EDA, которые используются в подавляющем большинстве случаев на первоначальной стадии разработки ML-модели.

Сам скрипт вот тут, а под катом я расскажу, как он работает и что делает.

Читать дальше

Методы построения RAG систем

Уровень сложностиПростой
Время на прочтение20 мин
Охват и читатели5.7K

Процесс Retrieval-Augmented Generation (RAG) представляет собой довольно сложную систему, состоящую из множества компонентов. Вопрос о том, как определить существующие методы RAG и их оптимальные варианты реализации этапов обработки информации для выявления лучших практик. В настоящий момент остается наиболее актуальным. В этой статье я хочу поделиться своим опытом относительно реализации подходов и практик в области RAG систем, который реализует систематический подход к решению этой проблемы.

Читать далее

Поднимаем потоковый сервис Kafka на Python

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.3K

Всем привет, меня зовут Евгений Мунин. Я Senior ML Engineer в Ad Tech в платформе ставок для рекламы. В этой статье мы познакомимся с Apache Kafka. Мы напишем демо пример Kafka Consumer'а на Python и запустим его в облачном сервисе Confluent Cloud.

Читать далее

Как собрать ETL-процессы в Apache Airflow и перестать страдать

Время на прочтение10 мин
Охват и читатели5.2K

Оркестрация процессов в Apache Airflow — мощный инструмент для управления данными. Но как внедрить его так, чтобы процессы стали прозрачными, гибкими и удобными для команд? Как организовать ETL-пайплайны, чтобы они легко масштабировались и адаптировались под нужды аналитиков, ML-инженеров и других специалистов?

Меня зовут Любовь Марисева, я инженер дата-платформы в Циан. Мы разрабатываем десятки ETL-процессов, обеспечиваем данными разные команды и постоянно ищем способы сделать работу с Airflow эффективнее. В этой статье я расскажу, как мы решили ключевые проблемы, сделали расчёты более управляемыми и упростили взаимодействие между командами.

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

Читать далее

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

Оценка систем больших языковых моделей (LLM): метрики, проблемы и лучшие практики

Время на прочтение19 мин
Охват и читатели1.7K

В последнее время разработка и развертывание больших языковых моделей (LLM) стали ключевыми в формировании интеллектуальных приложений в различных областях. Но реализация этого потенциала требует строгого и систематического процесса оценки. Прежде чем углубляться в метрики и вызовы, связанные с оценкой LLM-систем, стоит задуматься: не сводится ли ваш процесс оценки к бесконечному циклу запуска LLM-приложений на наборе промптов, ручному анализу выходных данных и субъективной оценке их качества? Если да, то пора осознать, что оценка — это не разовая процедура, а многоэтапный итеративный процесс, оказывающий значительное влияние на производительность и жизненный цикл вашей LLM-системы. С развитием LLMOps (расширения MLOps, адаптированного для больших языковых моделей) интеграция процессов CI/CE/CD (непрерывная интеграция, непрерывная оценка и непрерывное развертывание) становится неотъемлемой частью управления жизненным циклом LLM-приложений.

Итеративный характер оценки включает в себя несколько ключевых компонентов. Во-первых, необходимо постоянно обновлять и улучшать тестовый датасет. Во-вторых, важно выбирать и внедрять метрики оценки, наиболее подходящие для конкретного сценария использования. Наконец, надежная инфраструктура оценки позволяет проводить тестирование в реальном времени на протяжении всего жизненного цикла LLM-приложения. Крайне важно признать значимость оценки как непрерывного и динамического процесса. Это компас, помогающий разработчикам и исследователям совершенствовать и оптимизировать LLM для повышения производительности и практического применения.

Читать далее

Цикл статей о Greenplum. Часть 3. Оптимизация

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели2.4K

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

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

Освежить память о содержании предыдущих статей можно здесь и здесь.

В данной статье мы совместно с @omoskvinрасскажем о том, что влияет на оптимальность выполнения запросов, как отслеживать различные проблемы и, конечно же, как с ними справляться. 

Читать далее

Академия Arenadata: How to ADS.NiFi. Концепция потокового программирования в NiFi

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели782

Добрый день. Меня зовут Иван Клименко, я архитектор в департаменте поддержки продаж компании Arenadata. Основное направление моей работы — продукт Arenadata Streaming (ADS), масштабируемая и отказоустойчивая система для потоковой обработки данных в режиме реального времени, предназначенная для корпоративного использования и построенная на базе Apache Kafka и Apache NiFi.

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

Читать далее

Как я объединил перевод и суммаризацию текстов, и что из этого вышло

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели1.3K

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

Однако при ближайшем рассмотрении эти задачи имеют много общего...

Читать далее

Применение технологии RAG при построении интегрированных систем для цифровых продуктов: детальный разбор

Время на прочтение8 мин
Охват и читатели2.3K

В 2024 году популярными словами и постоянной темой для обсуждения в IT были большие языковые модели (LLM), обработка естественного языка (NLP), искусственный интеллект и создание ценностей. Однако вкатиться в эту экосистему без подготовки может быть довольно сложно. Давайте начнём с того, что рассмотрим понятие генерации с дополненной выборкой (Retrieval Augmented Generation, RAG), чтобы лучше понять эту технологию и возможность её использования в наших цифровых продуктах.

Читать далее

Apache Flink: использование и автоматическая проверка собственного сериализатора состояния

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели829

Привет, Хабр! На связи Александр Бобряков, техлид команды МТС Аналитики. Это мой финальный пост про Apache Flink. В предыдущих частях мы рассматривали процессы сериализации данных, написали кастомный сериализатор, а также покрыли его тестами. В них проверялась поддержка эволюции схемы состояния. Для этого мы реализовали много удобных абстракций, связанных с перезагрузкой Flink MiniCluster, компиляцией тестовых java-классов, использованием их в classpath кластера и так далее.

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

Весь разбираемый исходный код можно найти в репозитории AlexanderBobryakov/flink-spring. В master-ветке представлен итоговый проект по всей серии. Данная статья соответствует релизной ветке с названием release/11_JacksonEvolvingState. По мере выхода новых материалов на Хабре ссылки на них будут появляться ниже.

Список моих постов про Flink:

Читать далее

Менеджер данных: как новая роль изменила подход к работе с ML

Время на прочтение10 мин
Охват и читатели2.8K

Меня зовут Вера Романцова, я работаю в 2ГИС в команде компьютерного зрения. Мы создаём ML-модели и сервисы, которые автоматизируют работу с картами и данными. 

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

В этой статье я расскажу:

🌚 Кто такой менеджер данных и чем он занимается.

🦾 Как эта роль помогла нашей команде ML-инженеров.

🔜 Когда такой специалист может понадобиться вам.

🔎 Как найти подходящего кандидата на эту позицию.

Читать далее