Как стать автором
Поиск
Написать публикацию
Обновить
75

Data Engineering *

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

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

Polars — «убийца Pandas» на максималках

Уровень сложностиПростой
Время на прочтение35 мин
Количество просмотров190

Всем привет! Меня зовут Александр Андреев, я инженер данных. Сегодня я хочу рассказать вам о библиотеке Polars - потенциальной замене Pandas, любимой у большинства дата-инженеров и дата-саентистов библиотеки для работы с данными.

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

Читать далее

Новости

Разработка Pipes Counting: от идеи до публикации

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров115

Pipes Counting — технический разбор (мобильная разработка + ML)

Приветствуем вас, дорогие читатели! В этой статье мы, ученики 10 класса из школы "Летово", хотим поделиться своим опытом разработки мобильного приложения PipesCounting, созданного для автоматизированного подсчета труб в пачке. За 6 месяцев мы прошли путь от идеи и до публикации приложения, в том числе сбор и расширение датасета, обучение моделей и сборки приложения. Здесь мы хотим поделиться нашим опытом и трудностями с которыми мы столкнулись, чтобы облегчить процесс для тех, кто будет заниматься чем-то похожим, рассказать о возможных подходах и предупредить о сложностях.

С приложением PipesCounting мы заняли второе место в престижном международном конкурсе AI Challenge в категории “Металлургия”, а также постели с ним международную конференцию AI Journey. 

Читать далее

Self-service аналитика для… Excel?

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров158

Одним из самых распространенных инструментов для внедрения аналитики является BI инструменты – Tableau, Superset, Datalens и многие другие, десятки их. Это отличные инструменты, но какие бы крутые и сложные визуализации традиционно у каждого из таких инструментов одной из важнейших фич является «Экспорт в Excel» - пользователям нужны выгрузки, детальные данные и т.д. На одном из проектов я обсуждал с заказчиком перспективы развития BI в компании – что уже сделано, что делаем дальше и менеджер задал коварный вопрос: «Артём, дашборды это конечно здорово, но можно ли сделать так, чтобы данные загружались к нам сразу в Excel, причем автоматически». И вот что вы придумали...

Читать далее

Готовим данные для LLM: открытые инструменты для нормализации, очистки и не только

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

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

Но самостоятельно вывести модель в полноценное продакшн-использование не так просто. К тому же для разных сценариев нужно тестировать разные модели. Это требует больших усилий. Чтобы уменьшить порог входа в эту технологию, мы создали собственную платформу — MWS GPT. Под капотом — наша инфраструктура с GPU.

О том, как тестировать разные LLM в MWS GPT и запускать ИИ-агентов без кода скоро расскажем на вебинаре — присоединяйтесь.

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

Сегодня делимся подборкой систем контроля качества ML-датасетов, проектом для автоматической категоризации и системой контроля версий для наборов данных.

Читать далее

GEPA вместо RL: как рефлексивная эволюция промптов обгоняет обучение с подкреплением

Время на прочтение31 мин
Количество просмотров365

Большие языковые модели (LLM) всё чаще адаптируются к downstream-задачам с помощью методов RL, таких как Group Relative Policy Optimization (GRPO), которые нередко требуют тысячи прогонов для освоения новых задач. Мы утверждаем, что интерпретируемая природа языка может предоставлять LLM куда более богатую обучающую среду по сравнению с policy gradient’ами, основанными на разреженных скалярных наградах.

Чтобы проверить эту гипотезу, мы представляем GEPA (Genetic-Pareto) — оптимизатор промптов, который системно использует natural language reflection для извлечения высокоуровневых правил из trial-and-error процесса. Для любой AI-системы, содержащей один или несколько промптов LLM, GEPA сэмплирует траектории на уровне системы (например, рассуждения, вызовы инструментов и их выводы) и анализирует их на естественном языке, чтобы диагностировать проблемы, предлагать и тестировать обновления промптов, а также объединять комплементарные инсайты с границы Парето собственных попыток.

Благодаря такому дизайну GEPA нередко превращает даже несколько прогонов в существенный прирост качества. На четырёх задачах GEPA в среднем превосходит GRPO на 10% и до 20% максимум, при этом используя до 35× меньше прогонов. GEPA также опережает ведущий оптимизатор промптов MIPROv2 более чем на 10% на двух LLM и демонстрирует обнадёживающие результаты как стратегия поиска на этапе инференса для задач оптимизации кода.

Читать далее

Автоматизируем подготовку промтов для GPT: Python-функция для детального описания DataFrame

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

Привет, меня зовут Виталий. Автор телеграмм канала «Детектив данных» про смену профессии и мой вкат в «аналитику» после 30 лет. И да, я уже наверное года полтора использую помощь нейросети при написании кода на Питоне.

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

Будто при допросе вместо описания преступника, следователь внимательно изучает все родинки у допрашиваемого лица. И у адвоката.

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

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

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

Смотрим функцию, сохраняем

Что стоит за дистрибуцией Greenplum?

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров859

Что известно про Greenplum?
Это MPP система на базе PostgreSQL, которая нужна, чтобы работать с большими объемами данных и делать OLAP. Отлично, но лично меня не устраивает это поверхностное знание, хочется узнать, что внутри. Какие алгоритмы использует Greenplum в своих процессах. Я хочу начать с дистрибуции, и приглашаю вас с собой в это путешествие.

Что внутри?

Humans-in-the-loop vs synthetic data: за что идёт борьба на рынке AaaS

Время на прочтение8 мин
Количество просмотров248

Scale зарабатывает более $750 млн в год на продаже данных для RLHF. Кто собирается их потеснить?

Scale AI — стартап, ранее известный своими контрактами на разметку данных для беспилотных автомобилей и военных проектов, приближается к годовому обороту в $1 млрд благодаря своим дата-сервисам, используемым в техниках вроде reinforcement learning from human feedback (RLHF). Я давно слышал слухи об их масштабах, о том, что они работают буквально со всеми крупными AI-лабораториями — от Meta до OpenAI, но увидеть подтверждение этого в публичных отчетах ощущается совсем иначе.

Читать далее

Dagster или Airflow: что выбрать для оркестрации в DWH-проектах?

Время на прочтение14 мин
Количество просмотров4.9K

Рассказываем, какие задачи решают оркестраторы в проектах внедрения корпоративных хранилищ данных. Выясняем, в чем разница между инструментами, и почему Dagster становится все популярнее в DWH-проектах, чем Airflow.

Читать далее

RocksDB-стейт в стриминге: как ловить потерянные события и дубликаты

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров823

В стриминговых пайплайнах всё чаще приходится иметь дело не только с бесконечным потоком данных, но и с состоянием, которое нужно хранить и восстанавливать без потерь. С выходом Spark 3.2 у разработчиков появилась возможность подключать RocksDB в качестве state store — и это открывает новые горизонты для работы с большими объёмами данных. В статье разбираем, как использовать этот подход на практике: от борьбы с дубликатами и пропущенными событиями до тонкостей конфигурации и устойчивости стриминга.

Читать далее

Вывести EdTech из кризиса: сыграет ли ставка на AI

Время на прочтение10 мин
Количество просмотров4.7K

Привет, Хабр! Наверняка вы помните успех онлайн-школ во время пандемии — тогда каждый или кого-то учил, или чему-то учился. Однако за пять лет технологии шагнули вперед, а EdTech остался на том же уровне — и это привело к упадку. Зачем платить за курс, если нейросеть может научить чему угодно бесплатно (хоть к качеству обучения и возникают очевидные вопросики)? 

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

Читать далее

Скорость, стратегия и алгоритмы: будущее Формулы-1 в эпоху AI

Время на прочтение5 мин
Количество просмотров322

Формула-1 всегда была местом пересечения инженерии и инноваций. В последние годы эта область инноваций расширилась за счёт внедрения искусственного интеллекта и машинного обучения.

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

Читать далее

«Таргетинг Портал»: как мы сделали рекламные кампании проще и эффективнее

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров408

Привет, Habr! Меня зовут Катя, я продакт-менеджер BigData в «Группе Лента» и отвечаю за развитие цифровых продуктов в направлении монетизации данных. В статье расскажу, как нам удалось уйти от Excel-файлов и ручного согласования сегментов к автоматизированному порталу, с помощью которого рекламные агентства теперь сами собирают нужные им сегменты и выгружают их в MyTarget.

Читать далее

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

Обзор UDTF в PySpark

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров886

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

Сегодня разберём фичу из PySpark — UDTF. Если раньше мы писали UDF и UDAF, то UDTF — это про функцию, которая запускается в секции FROM запроса и возвращает как бы несколько строк для каждой входной записи. Звучит круто.

UDTFs пригодятся, когда на один входной объект нужно получить множество выходных строк. Простой пример: у нас есть строка текста и мы хотим разделить её на слова так, чтобы каждое слово вышло отдельной строкой. Со стандартным UDF такое не сделать (он возвращает одно значение, например конкатенацию или длину). Но UDTF может делать цикл yield внутри и выдавать сколько угодно строк. Итак, приступим к делу.

Читать далее

Ivory — удобный инструмент для работы с кластерами PostgreSQL

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

Ivory — это бесплатный open-source инструмент с веб-интерфейсом, созданный для управления кластерами PostgreSQL, которые работают под контролем Patroni. Если раньше для таких задач приходилось использовать командную строку или Patroni API, то с Ivory всё можно делать через удобный браузерный интерфейс.

Цель проекта — упростить жизнь администраторам баз данных (DBA) и разработчикам:

Читать далее

Скрытая угроза: как LLM заражают друг друга предубеждениями через «безобидные» данные

Время на прочтение6 мин
Количество просмотров1K

tl;dr. Мы изучаем сублиминальное обучение — неожиданное явление, при котором языковые модели перенимают свойства из данных, сгенерированных другой моделью, даже если эти данные семантически никак не связаны с передаваемыми свойствами. Например, «студент» начинает предпочитать сов, если его обучить на последовательностях чисел, сгенерированных «учителем», который предпочитает сов. Тот же феномен способен передавать misalignment через данные, которые выглядят абсолютно безобидными. Этот эффект проявляется только в том случае, если учитель и студент основаны на одной и той же базовой модели.

Исследование проведено в рамках программы Anthropic Fellows. Эта статья также опубликована в блоге Anthropic Alignment Science.

Читать далее

ML — курсы vs реальность: Где же обещанные цветочки и единороги?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5.4K

Привет, хабр! 👋

Позвольте представиться: я - Настя, Data Scientist и TeamLead в одной вполне себе серьезной компании (когда чистишь данные в 3 ночи, чувствуешь себя совсем не серьезно, но это детали). Веду свой скромный телеграм-канальчик, где делюсь болью, радостью и абсурдом нашей необъятной профессии. И вот сегодня хочу вынести на ваш суд тему, которая не дает спать спокойно не только мне, но и многим моим коллегам.

Помните тот трепетный момент, когда вы только начинали свой путь в Data Science? Я — очень хорошо. Картинка была радужной: ты — повелитель нейросетей, твои модели творят магию, а бизнес-задачи падают к ногам, поверженные точностью в 99.9% (ну или хотя бы 97%).

Курсы, будь то знаменитые онлайн-платформы или университетские программы, учат нас прекрасному: бустинги, метрики, градиентный спуск, SVM, k-means, сверточные слои... Это наш фундамент, наш джентельменский набор. И да, именно за этим набором охотятся 90% рекрутеров на собеседованиях. Создается стойкое ощущение, что я и интервьюер одновременно загуглили «Топ-50 вопросов на DS собеседовании» и теперь ритуально их отрабатываем. Ну, must have, что уж тут.

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

Читать и обсудить...

Как мы мигрировали на новый шардированный кластер ClickHouse

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров4.8K

Всем привет! Меня зовут Мурад Арфанян, я разработчик информационных систем в Ozon Tech. Наша команда работает с данными жизненного цикла товаров в логистике. Объём продаж растет стремительными темпами и нешардированный ClickHouse уже не справляется с постоянно увеличивающимися потоками данных. Чтобы решить эту задачу, мы построили шардированный кластер, преодолев на пути несколько интересных технических вызовов. В этой статье я расскажу о нашем опыте и решениях, которые помогли масштабировать систему и обеспечить стабильную работу при росте нагрузки.

Читать далее

Умный вайб-кодинг или семь раз отмерь, один раз сгенерь

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

Помните старую поговорку про семь раз отмерь? В мире AI-кодинга она обрела новый смысл.

Сегодня расскажу о практике AI-Driven разработки (AIDD), которую мы у себя в команде ежедневно применяем для разработки ИИ-решений. Она успешно зарекомендовала себя в различных проектах и задачах — будь то стартапы или легаси, приложения на Python, Java или даже 1C.

Разбирать методику будем в AI редакторе Cursor, но повторить ее вы сможете в любом кодовом ассистенте. Поехали...

Читать далее

Как строить умных AI-агентов: уроки Context Engineering от Manus

Время на прочтение9 мин
Количество просмотров6.1K

В самом начале проекта Manus перед нашей командой встал ключевой вопрос: обучать ли end-to-end агентную модель, используя open-source foundation-модели, или же строить агента поверх возможностей in-context learning у frontier models?

В моё первое десятилетие в NLP у нас и выбора-то такого не было. В далёкие времена BERT (да, прошло уже семь лет) модели приходилось fine-tune'ить и тестировать, прежде чем они могли переноситься на новую задачу. Этот процесс часто занимал недели на одну итерацию, даже при том, что тогдашние модели были крошечными по сравнению с сегодняшними LLM. Для быстроразвивающихся приложений, особенно на этапе до PMF, такие медленные циклы обратной связи — смертный приговор. Это был горький урок из моего прошлого стартапа, где я обучал модели с нуля для open information extraction и семантического поиска. А потом появились GPT-3 и Flan-T5, и мои внутренние модели стали не актуальны буквально за ночь. Ирония в том, что именно эти модели положили начало in-context learning — и открыли совершенно новый путь развития.

Из этого болезненного опыта выбор был очевиден: Manus делает ставку на context engineering. Это позволяет выпускать улучшения за часы, а не за недели, и держит наш продукт ортогональным по отношению к базовым моделям: если прогресс моделей — это прилив, то мы хотим, чтобы Manus был лодкой, а не сваей, вбитой в морское дно.

Тем не менее context engineering оказался далеко не тривиальным делом. Это экспериментальная наука — и мы перестраивали наш агентный фреймворк четыре раза, каждый раз находя более удачный способ формировать контекст. Мы с любовью называем этот ручной процесс перебора архитектур, подбора промптов и эмпирических догадок «Stochastic Graduate Descent». Это не изящно, но работает.

В этом посте я делюсь локальными оптимумами, к которым мы пришли через собственный «SGD». Если вы создаете своего AI-агента, надеюсь, эти принципы помогут вам сойтись к решению быстрее.

Читать далее
1
23 ...