Обновить
77.96

Data Engineering *

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

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

Sapiens: фундаментальная CV-модель для задач с людьми

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

Почти две недели назад из недр одной из самых прорывных AI лабораторий мира вышла новая классная модель (а точнее — семейство моделей) компьютерного зрения, но данная новость в русскоязычном интернете прошла будто бы без энтузиазма. А зря — штука довольно хороша.

Итак, у нас есть семейство моделей, которое из коробки поможет решить «четыре фундаментальные задачи человека в CV» (цитата авторов) и давайте посмотрим, что же там есть есть и как это работает.

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

Читать далее

5 способов оптимизации функций в Python

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

Всегда полезно уметь ускорить выполнение кода на python, особенно если мы имеем дело с большими объемами данных или часто вызываемыми функциями. 

В этой статье мы рассмотрим 5 простых, но эффективных способов оптимизации функций в Python, которые помогут вам сделать ваш код быстрее и эффективнее.

Ускорить свой код!

Агрегация данных для аналитики продаж с помощью DataSphere Jobs и Airflow SDK

Время на прочтение9 мин
Охват и читатели705

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

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

Читать далее

DuckDB. Колоночная OLAP СУБД в кармане

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

Привет, меня зовут Антон, я старший инженер в департаменте аналитических решений ЮMoney. В компании мы используем технологию MSSQL OLAP-кубов SSAS, которая хорошо себя зарекомендовала — она сравнительно легко развёртывается и достаточно производительная. Но есть ряд минусов: Microsoft прекратил развивать её примерно в прошлом десятилетии, технология требует производительных серверов, ну и, конечно, вопрос зависимости от иностранного вендора тоже стоит остро. Поэтому, посматривая по сторонам в поисках альтернативы, я решил попробовать недавно появившуюся технологию DuckDB. Особых надежд не было, но хотелось понять, на каком она уровне по сравнению с привычными для меня инструментами. 

Читать далее

Рецензия на книгу “Базовая математика для искусственного интеллекта”

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

Сегодня обзор новой книги по математическому аппарату ИИ — для всех вовлеченных в анализ данных и построение ML/DL моделей. «Базовая математика для искусственного интеллекта» (Essential Math for AI: Next‑Level Mathematics for Efficient and Successful AI Systems) от издательства O'Reilly Media, в переводе от БХВ Петербург — это фолиант на 600 стр. для дата-сайентистов всех уровней. Полезность книги — в обширном материале по мат.аппарату ИИ, собранном в одном месте.

Читать далее

Streaming 101 (Основы потоковой обработки)

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

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

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

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

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

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

Как тот, кто работал над крупно‑масштабной системой потоковой обработки в Google на протяжении последний пяти с лишним лет (MillWheel, Cloud Dataflow), я, мягко говоря, в восторге от сложившихся тенденций. Я все также заинтересован в том, чтобы люди понимали, что именно системы потоковой обработки в состоянии выполнять, и как их использовать наилучшим образом, в частности, закрыв нехватку знаний, оставшуюся между существующими системами пакетной обработки и потоковыми. С этой целью замечательные ребята из O»Reilly пригласили меня предоставить письменную версию моего доклада «Say Goodbye to Batch» с конференции Strata + Hadoop World London 2015.

Читать далее

Топ 5 продвинутых инструментов Data Science. Изучи за выходные и будешь выделяться

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

Привет, чемпионы! Сегодня рассмотрим, как облегчить себе жизнь, применяя 5 инструментов в своих проектах. Эти инструменты улучшат ваш код, сделают ваш pipeline более стабильным и позволят не писать один код по 10 раз. Круто? Погнали!

Изучать новое!

Отправка уведомлений по таймеру в Apache Flink

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

Привет, Хабр! На связи Александр Бобряков, техлид в команде МТС Аналитики. В предыдущих постах я рассказал, как собрать первое приложение Flink со Spring, реализовав пайплайн дедупликации сообщений Kafka-to-Kafka. В этом примере погружусь в использование таймеров в Flink, а в следующих статьях расскажу, как работать с более сложными состояниями, эволюционировать их схему и покрыть это все тестами.

Весь разбираемый исходный код есть в репозитории AlexanderBobryakov/flink-spring. В master-ветке представлен итоговый проект по всей серии. Эта статья соответствует релизной ветке с названием release/7_Trigger_Flink_Job.

Это восьмой материал из моей серии про Apache Flink. По мере выхода новых ссылки на них будут появляться ниже.

Читать далее

Жизнь после SAP: импортозамещение платформы данных

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

Последние пару лет не перестает сходить с первого плана вопрос импортозамещения софта ушедших вендоров. Мы занимаемся данными, поэтому и делимся опытом импортозамещения платформ данных у наших enterprise заказчиков.

Если попробовать классифицировать причины импортозамещения, то это могут быть снижение вендорских рисков, требования Минцифры, сложность и стоимость закупки сертифицированного «железа» под импортные платформы и так далее.

Кстати, далеко не на последнем месте запрос команд разработки и поддержки на реализацию проектов на российском и open source технологическом стеке. Российский рынок вакансий на западном проприетарном вендорском ПО постепенно сужается, так как сейчас спрос российских компаний на такой софт стремится к нулю и такие системы постепенно превращаются в Legacy.

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

Разделим проблему на две части – подходящий апробированный технологический стек с формированием команды и сатисфакция бизнес-пользователей.

Читать далее

Как небольшой команде переехать на ClickHouse: на какие грабли мы наступили и о каких фишках не знали

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

Привет, Хабр!

Меня зовут Петр. Я работаю инженером по данным в Okko и обожаю ClickHouse. 

Примерно в середине прошлого года мы начали переезжать с PostgreSQL на ClickHouse. Одной из главных причин переезда была низкая производительность: среднее время аналитического запроса составляло около минуты. Сейчас, после переезда, среднее время запроса в аналитическом кластере — около 2 с. И это не предел.

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

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

В этой статье не будет объяснений почему для переезда мы выбрали именно этот инструмент. Не будет и глубокой теории о его внутреннем устройстве. Отметим лишь: в правильных руках ClickHouse — одна из самых быстрых колоночных СУБД для OLAP запросов.

Читать далее

Страх и ненависть в телевизоре: как 3 разработчика взяли целую кучу нейросетей и научили их находить буквально ВСЁ

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

У нас было 4 нейросети, 2 опенсорсных датасета, 8 000 неразмеченных изображений, 5 333 аугментаций, 392 класса и 4 аккаунта на Roboflow. Не то, чтобы все это было категорически необходимо на проекте, но если уж начал анализировать телевизионное вещание, то к делу надо подходить серьезно. Единственное, что меня беспокоило — это Tesseract.

Читать далее

Оптимизируем Shuffle в Spark

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

Привет, Хабр! Меня зовут Сергей Смирнов, я аналитик в продукте CVM в X5 Tech. Я занимаюсь разработкой инструмента анализа A/B экспериментов. Мы ежедневно считаем десятки метрик для сотен экспериментов на десятки миллионов клиентов –- это терабайты данных, поэтому наш инструмент разработан на Spark.

В последнее время мы заметили, что существенную часть времени работы наших Spark-приложений занимает обмен данными (Shuffle) между исполнителями. В этой статье я расскажу о том, какие оптимизации помогли нам избавиться от самых тяжёлых операций Shuffle. Речь пойдёт не только о BroadcastJoin, но и о двух других неочевидных методах – предварительное репартицирование и бакетирование.

Читать далее

О чём узнают дата-инженеры на SmartData 2024: инструменты, БД, DataOps и немножко космоса

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

Какими инструментами пользуются российские дата-инженеры в 2024-м? Как в реальности сравнить производительность Postgres и распределённых баз данных? Как строить RAG-системы, дающие нейросетям доступ к данным, которых не было в обучающей выборке? И как развивается сейчас космическая индустрия?

В сентябре мы проведём конференцию по дата-инжинирингу SmartData 2024. Сейчас её программа уже составлена полностью, и представляем её Хабру.

Читать далее

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

Делаем своего AI стилиста на python

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

Привет, чемпионы!

AI решение, которые я разберу в этой статье - после запуска в телеграм привлекло почти органически внимание 70 000 новых пользователей за месяц, а всего было произведено 400 000 генераций. Разбираю, как реализовал сама ML модель. Погнали!

Переодеть коллег

Стань мастером эффективности: открой для себя волшебный инструмент для массовой генерации кода и файлов

Время на прочтение3 мин
Охват и читатели897

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

Читать далее

Инфраструктура для data engineer Kafka

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

В этой статье я хочу показать как можно использовать Kafka в дата-инженерии и как её "пощупать".

Рекомендуется всем кто не знает что такое Kafka.

Читать далее

Data Lineage из топора

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


Статья навеяна удачной реализацией Data Lineage «на коленке». Рассматривается случай, когда в окружающем корпоративном ландшафте Apache Atlas, Datahub или Amundsen еще не подвезли (и неизвестно, будет ли, и если будет, то когда) — а посмотреть от таблицы назад к источниками или вперед к потребителям от конкретной таблицы хочется прямо сейчас. Условия, в которых это удалось сделать, могут не повториться в других случаях, но сам кейс наверняка будет интересен.
Разные самопальные data lineages

Три столпа функционального программирования в Rust: map, filter и fold

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

Представьте себе вот такую картину: вы сидите дома, и вокруг вас мирно мурлыкают котики. Но вдруг, что-то пошло не по плану: один начал ловить лазерный указатель, другой карабкается на шторы, третий — нагло укладывается на вашу клавиатуру. Ну, вы поняли, полный хаос. И тут возникает вопрос: как навести порядок в этом котячьем хаосе? Как упорядочить этот бесконечный поток пушистых данных?

Вот тут-то и приходит на помощь наш добрый друг — Rust, а точнее его функции map, filter и fold. Они помогают не только приручить самых неугомонных data-котиков, но и сделать это без компромиссов по производительности.

Читать далее

Spider — всё! Новый движок Polars: прорыв в скорости работы FineBI 6.1

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

Всем привет! На связи Business Intelligence GlowByte. Сегодня хотим поговорить о производительности системы бизнес-аналитики FineBI. Пару месяцев назад в нашем регулярном мероприятии FineTalks участвовали коллеги из ID360 и смотрели “под капот” FineBI 6.1. Хотим поделиться их инсайтами. Возможно, после сегодняшнего небольшого  “разбора” движка платформы вам тоже она понадобится. 🙂 Обращайтесь!

Читать далее

Как дообучать LLM с помощью Supervised Fine-Tuning

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

Обычно большие языковые модели (large language model, LLM) обучают в несколько этапов, включающих предварительное обучение и множество этапов fine-tuning (см. ниже). Предварительное обучение — это дорогостоящий процесс (например, требующий многих сотен тысяч долларов на вычислительные ресурсы), однако fine-tuning модели LLM (или контекстное обучение) по сравнению с этим гораздо дешевле (например, сотни долларов или даже меньше). Учитывая широкую доступность и бесплатность (даже для коммерческого использования) предварительно обученных LLM (например, MPT, Falcon или LLAMA-2), мы можем создавать большой спектр мощных приложений благодаря fine-tuning моделей под нужные задачи.


Этапы обучения LLM

На текущем этапе исследований ИИ одним из самых широко применяемых видов fine-tuning моделей LLM стал supervised fine-tuning (SFT). При этой методике курируемый датасет высококачественных выходных данных LLM применяется для непосредственного fine-tuning модели. SFT прост и дёшев в использовании, это полезный инструмент выравнивания языковых моделей, ставший популярным даже за пределами исследовательского сообщества опенсорсных LLM. В этой статье мы вкратце расскажем о принципах SFT, рассмотрим исследования по этой теме и приведём примеры того, как практикующие специалисты могут с лёгкостью пользоваться SFT, написав всего несколько строк кода на Python.
Читать дальше →