Как стать автором
Обновить
2
0
Виктор Андрийчук @vandriichuk

Data Engineer | Python Software Engineer

Отправить сообщение

RAG (Retrieval Augmented Generation) — простое и понятное объяснение

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

Краткое и понятное описание подхода RAG (Retrieval Augmented Generation) при работе с большими языковыми моделями.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии27

CRDT: Conflict-free Replicated Data Types

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

Как считать хиты страницы google.com? А как хранить счётчик лайков очень популярных пользователей? В этой статье предлагается рассмотреть решение этих задач с помощью CRDT (Conflict-free Replicated Data Types, что по-русски переводится примерно как Бесконфликтные реплицированные типы данных), а в более общем случае — задачи синхронизации реплик в распределённой системе с несколькими ведущими узлами.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии14

Многорукие бандиты в задаче ритейла

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

В настоящее время набирают популярность модели Reinforcement Learning для решения прикладных задач бизнеса. В этой статье мы рассмотрим подмножество этих моделей, а именно многоруких бандитов (multi-armed bandits). Также мы:

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

Читать далее
Всего голосов 12: ↑10 и ↓2+8
Комментарии5

LlamaIndex: создаем чат-бота без боли и страданий. Часть 3

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

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

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии11

LlamaIndex: создаем чат-бота без боли и страданий. Часть 2

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

Продолжаем изучать фреймворк для создания AI-ботов. В этой части узнаем про тонкости индексирования собственной базы документов.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии9

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

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

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

Заинтригованы? Добро пожаловать в мир аналитики больших данных.

Читать далее
Всего голосов 42: ↑38 и ↓4+34
Комментарии2

Как мы пришли к созданию своего BI решения на NLP для получения отчетов прямо в мессенджер

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

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

Про BI вспоминают, когда аудиторы запрашивают детализированные данные для подготовки ежеквартальной/ годовой/ другой отчетности акционерам и топ-менеджменту. Причем очень часто business intelligence системы используются, чтобы сформировать итоговый Excel или PowerPoint. В лучшем случае BI могут применять аналитики для подготовки планов продаж или закупок. Топ-менеджеры, к сожалению, не пользуются BI практически никогда.

Мы придумали, как решить эту проблему и сделать принятие data-driven решений в компании намного проще.

Читать далее
Всего голосов 7: ↑5 и ↓2+3
Комментарии4

Метрики качества ранжирования

Время на прочтение7 мин
Количество просмотров101K
В процессе подготовки задачи для вступительного испытания на летнюю школу GoTo, мы обнаружили, что на русском языке практически отсутствует качественное описание основных метрик ранжирования (задача касалась частного случая задачи ранжирования — построения рекомендательного алгоритма). Мы в E-Contenta активно используем различные метрики ранжирования, поэтому решили исправить это недоразуменее, написав эту статью.

Метрики качества ранжирования


Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии3

Пузырьковая сортировка и все-все-все

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

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

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

image: пузырьки

Сделать первый шаг в изучении сортировок
Всего голосов 116: ↑104 и ↓12+92
Комментарии35

Разработка платформы управления данными. Доклад Яндекса

Время на прочтение25 мин
Количество просмотров9.7K
Яндекс Go разрабатывает платформу управления данными (DMP) как сервис для офлайн- и near real-time-обработки данных. Я постарался рассказать, какая мотивация нужна для создания собственного ETL-инструмента, как ETL и Data Warehouse превратить в DMP, какие проблемы возникают в процессе разработки и как мы их решаем.

— Меня зовут Владимир Верстов, я руковожу разработкой DMP в Яндекс Go — той частью, которая относится к платформе. Не контентной частью, а универсальными инструментами, которые мы переиспользуем, чтобы удобным образом выстроить внутри Такси, Еды и Лавки потоки данных и другие процессы, связанные с дата-инжинирингом. Чтобы сделать сущность, позволяющую дата-инженерам, аналитикам и разработчикам бэкенда коммуницировать на уровне данных и процессов.

Начать рассказ проще всего с вопроса, что вообще такое DMP, потому что каждый под этим может понимать что-то свое: нет устоявшихся паттернов. Расскажу, как мы вообще пришли к текущему состоянию, покажу несколько примеров использования нашей платформы для Greenplum, для Spark, и постараюсь успеть подвести итоги.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии1

Зачем Data-инженеру Spark

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

Привет, Хабр, меня зовут Дима. В последние пару лет занимаюсь аналитикой, отвечаю за данные в Почте Mail.ru. Развиваю аналитическое хранилище данных и инструменты для работы с ними. Мы плотно работаем со стеком Hadoop, Hive, Spark, Clickhouse и Kafka. Я хочу остановиться на некоторых аспектах работы с данными в Spark: как мы храним петабайты информации и как выполняем запросы к ним?

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

Читать далее
Всего голосов 38: ↑37 и ↓1+36
Комментарии2

SQL миграции в Postgres. Часть 1

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

Как обновить значение атрибута для всех записей таблицы? Как добавить первичный или уникальный ключ в таблицу? Как разбить таблицу на две? Как ... 

Если приложение может быть недоступно какое-то время для проведения миграций, то ответы на эти вопросы не представляют сложности. А что делать, если миграции нужно проводить на горячую – не останавливая базу данных и не мешая другим с ней работать?

На эти и другие вопросы, возникающие при проведении миграций схемы и данных в PostgreSQL, постараемся дать ответы в виде практических советов.
Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии17

Идеальный препроцессинговый пайплайн для NLP-моделей

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

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

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

Использование нейросетей для вашей рекомендательной системы

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

Глубокое обучение (Deep learning. DL) - это современное решение многих проблем машинного обучения, таких как компьютерное зрение или недостатки естественного языка, и превосходит альтернативные методы. Последние тенденции включают применение методов DL в рекомендательных системах. Многие крупные компании, такие как AirBnB, Facebook, Google, Home Depot, LinkedIn и Pinterest, делятся своим опытом использования DL для рекомендательных систем.

Недавно NVIDIA и команда RAPIDS.AI выиграли три соревнования с использованием DL: ACM RecSys2021 Challenge, SIGIR eCom Data Challenge и ACM WSDM2021 Booking.com Challenge.

Область рекомендательных систем сложна. В этом посте я сосредоточусь на архитектуре нейронной сети и ее компонентах, таких как эмбеддинг и полностью связанные слои, рекуррентные ячейки нейронной сети (LSTM или GRU) и блоки трансформеров. Я расскажу о популярных сетевых архитектурах, таких как Wide и Deep от Google и Deep Learning Recommender Model (DLRM) от Facebook.

Читать далее
Всего голосов 10: ↑8 и ↓2+6
Комментарии0

Реализация двустороннего A* на двух потоках

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

На Хабре можно найти немало статей, посвящённых оптимизациям поиска кратчайшего пути на графе. Я расскажу ещё про еще один подход. Речь пойдёт о распараллеливании алгоритма A* и исполнении его на двух потоках, а также о сложностях, с которыми я столкнулся при реализации, и их преодолении.

Читать далее
Всего голосов 56: ↑56 и ↓0+56
Комментарии35

Метод генерации столбцов для решения задач математической оптимизации большой размерности

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

Теперь к истокам задачи: часто, чтобы математическая модель была применима в реальном секторе, необходимо использовать очень много ограничений и большое количество переменных. Задачи, возникающие в бизнесе в реальных условиях, требуют использования моделей с большим количеством ограничений и большим количеством переменных.  Временами задача в лоб может и не решиться, поэтому были придуманы различные трюки. Один из них - метод « генерации столбцов» (Column generation).

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии8

Алгоритмы балансировки нагрузок

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

Рано или поздно веб-приложения перерастают среду одного сервера. Компаниям требуется увеличить или их доступность, или масштабируемость, или и то, и другое. Чтобы сделать это, они развёртывают своё приложение на нескольких серверах и ставят перед ним балансировщик нагрузок для распределения входящих запросов. Чтобы справляться с нагрузками, большим компаниям могут потребоваться тысячи серверов, на которых запущено веб-приложение.

В этом посте мы рассмотрим способы, которыми один балансировщик нагрузок может распределять HTTP-запросы на множество серверов. Мы начнём снизу и проделаем весь путь вверх до современных алгоритмов балансировки нагрузок.
Читать дальше →
Всего голосов 107: ↑106 и ↓1+105
Комментарии16

Bag of tricks для разметки текстовых данных: Часть 2. Удаление дубликатов

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

Привет! Меня зовут Ирина Кротова, я NLP-исследователь из компании MTS AI. В этой статье из цикла про разметку данных я расскажу об ещё одном способе собирать данные более качественно и экономить на разметке — фильтрации похожих друг на друга текстов.

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

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

Ультимативная дорожная карта для изучения SQL и баз данных в 2023 году + источники для знаний

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

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

Читать далее
Всего голосов 17: ↑14 и ↓3+11
Комментарии12

Без А/B результат XЗ, или Как построить высоконагруженную платформу А/B-тестов

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

Один из важных вопросов как в нашей жизни, так и в бизнесе, и в IT — вопрос эффективности. Эффективно ли мы планируем наше время, те ли задачи решает бизнес, тот ли код мы оптимизируем? Чтобы ответить на эти вопросы, результат должен обладать главным критерием измеримостью. Измеримость результата новых фич для бизнеса и IT обеспечивает платформа А/B-тестов. О том, как её можно построить, выдерживать большой RPS и при этом не облажаться уронить прод, я расскажу в этой статье. 

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

Читать далее
Всего голосов 108: ↑107 и ↓1+106
Комментарии7
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Зарегистрирован
Активность