Pull to refresh
-1
0
Дмитрий Кравчук @dishkakrauch

Tech Data Lead

Send message

Различия между Docker, containerd, CRI-O и runc

Reading time5 min
Views75K

Появление Docker привело к взрывному росту популярности контейнеров, но с тех пор появились и другие инструменты. К сожалению, разобраться в них может быть совсем непросто. Но мы попробуем! И если вы считаете себя единственным, кто всего этого пока не понимает, не волнуйтесь... Это не так!

Читать далее
Total votes 47: ↑47 and ↓0+47
Comments4

Что такое MLOps? Самый подробный текст про работу с ML-системами, который вы найдете в интернете

Reading time25 min
Views27K


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

Сохраняйте текст в закладки, потому что на данный момент это, возможно, самое полное описание MLOps на русском языке (и не перевод очередной англоязычной статьи!). Подарим мерч Selectel тому, кто пришлет ссылку на более развернутое описание концепции в комментариях.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments13

Применение моделей CatBoost внутри ClickHouse. Лекция Яндекса

Reading time8 min
Views14K
В каких ситуациях удобно применять предобученные модели машинного обучения внутри ClickHouse? Почему для такой задачи лучше всего подходит метод CatBoost? Не так давно мы провели встречу, посвящённую одновременному использованию этих двух опенсорс-технологий. На встрече выступил разработчик Николай Кочетов — его лекцией мы и решили с вами поделиться. Николай разбирает описанную задачу на примере алгоритма предсказания вероятности покупки.


— Сначала о том, как устроен ClickHouse. ClickHouse — это аналитическая распределенная СУБД. Она столбцовая и с открытым исходным кодом. Самое интересное слово здесь — «столбцовая». Что оно значит?
Total votes 26: ↑25 and ↓1+24
Comments6

Обзор типов индексов Oracle, MySQL, PostgreSQL, MS SQL

Reading time6 min
Views199K
В одном из комментариев здесь была просьба рассказать подробнее об индексах, и так как, в рунете практически нет сводных данных о поддерживаемых индексах различных СУБД, в данном обзоре я рассмотрю, какие типы индексов поддерживаются в наиболее популярных СУБД
Взглянем?
Total votes 99: ↑96 and ↓3+93
Comments41

А нам все «вертикально» — СУБД Vertica

Reading time8 min
Views50K
Привет! Меня зовут Сергей, я работаю главным инженером в Сбертехе. В ИТ-сфере я примерно 10 лет, из которых 6 занимаюсь базами данных, ETL-процессами, DWH и всем, что связано с данными. В этом материале я расскажу о Vertica — аналитической и по-настоящему колоночной СУБД, которая эффективно сжимает, хранит, быстро отдает данные и отлично подходит в качестве big data решения.


Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments15

Визуализируя нейронный машинный перевод (seq2seq модели с механизмом внимания)

Reading time5 min
Views46K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)" автора Jay Alammar.


Sequence-to-sequence модели (seq2seq) – это модели глубокого обучения, достигшие больших успехов в таких задачах, как машинный перевод, суммаризация текста, аннотация изображений и др. Так, например, в конце 2016 года подобная модель была встроена в Google Translate. Основы же seq2seq моделей были заложены еще в 2014 году с выходом двух статей — Sutskever et al., 2014, Cho et al., 2014.


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


Sequence-to-sequence модель – это модель, принимающая на вход последовательность элементов (слов, букв, признаков изображения и т.д.) и возвращающая другую последовательность элементов. Обученная модель работает следующим образом:


Total votes 10: ↑9 and ↓1+13
Comments2

Как автоматизировать администрирование Hadoop, чтобы не было мучительно больно

Reading time9 min
Views4.4K

Привет, Хабр! Меня зовут Александр Черемухин, я тимлид администраторов Hadoop в Big Data МТС. Мы прошли довольно длинный эволюционный путь в автоматизации администрирования и хотелось бы им поделиться с сообществом. Возможно наш опыт пригодится и другим специалистам, работающим с Hadoop.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments9

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки (Backpropagation)

Reading time19 min
Views296K
Тема нейронных сетей была уже ни раз освещена на хабре, однако сегодня я бы хотел познакомить читателей с алгоритмом обучения многослойной нейронной сети методом обратного распространения ошибки и привести реализацию данного метода.
Читать дальше →
Total votes 34: ↑22 and ↓12+10
Comments29

Attention для чайников и реализация в Keras

Reading time9 min
Views33K

О статьях по искусственному интеллекту на русском языке


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

Читать дальше →
Total votes 30: ↑24 and ↓6+18
Comments15

Чудесный мир Word Embeddings: какие они бывают и зачем нужны?

Reading time19 min
Views139K

Начать стоит от печки, то есть с постановки задачи. Откуда берется сама задача word embedding?
Лирическое отступление: К сожалению, русскоязычное сообщество еще не выработало единого термина для этого понятия, поэтому мы будем использовать англоязычный.
Сам по себе embedding — это сопоставление произвольной сущности (например, узла в графе или кусочка картинки) некоторому вектору.


image

Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments23

Простое объяснение теоремы Байеса

Reading time6 min
Views109K
Подробно теорема Байеса излагается в отдельной статье. Это замечательная работа, но в ней 15 000 слов. В этом же переводе статьи от Kalid Azad кратко объясняется самая суть теоремы.

  • Результаты исследований и испытаний – это не события. Существует метод диагностики рака, а есть само событие — наличие заболевания. Алгоритм проверяет, содержит ли письмо спам, но событие (на почту действительно пришел спам) нужно рассматривать отдельно от результата его работы.
  • В результатах испытаний бывают ошибки. Часто наши методы исследований выявляют то, чего нет (ложноположительный результат), и не выявляют то, что есть (ложноотрицательный результат).
  • С помощью испытаний мы получаем вероятности определенного исхода. Мы слишком часто рассматриваем результаты испытания сами по себе и не учитываем ошибки метода.
  • Ложноположительные результаты искажают картину. Предположим, что вы пытаетесь выявить какой-то очень редкий феномен (1 случай на 1000000). Даже если ваш метод точен, вероятнее всего, его положительный результат будет на самом деле ложноположительным.
  • Работать удобнее с натуральными числами. Лучше сказать: 100 из 10000, а не 1%. При таком подходе будет меньше ошибок, особенно при умножении. Допустим, нам нужно дальше работать с этим 1%. Рассуждения в процентах неуклюжи: «в 80% случаев из 1% получили положительный исход». Гораздо легче информация воспринимается так: «в 80 случаях из 100 наблюдали положительный исход».
  • Даже в науке любой факт — это всего лишь результат применения какого-либо метода. С философской точки зрения научный эксперимент – это всего лишь испытание с вероятной ошибкой. Есть метод, выявляющий химическое вещество или какой-нибудь феномен, и есть само событие — присутствие этого феномена. Наши методы испытаний могут дать ложный результат, а любое оборудование обладает присущей ему ошибкой.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments15

Когда старый MapReduce лучше нового Tez

Reading time9 min
Views14K


Как всем известно, количество данных в мире растёт, собирать и обрабатывать поток информации становится всё сложнее. Для этого служит популярное решение Hadoop c идеей упрощения методов разработки и отладки многопоточных приложений, использующее парадигму MapReduce. Эта парадигма не всегда удачно справляется со своими задачами, и через некоторое время появляется «надстройка» над Hadoop: Apache Tez с парадигмой DAG. Под появление Tez подстраивается и HDFS-SQL-обработчик Hive. Но не всегда новое лучше старого. В большинстве случаев HiveOnTez значительно быстрее HiveOnMapReduce, но некоторые подводные камни могут сильно повлиять на производительность вашего решения. Здесь я хочу рассказать, с какими нюансами столкнулся. Надеюсь, это поможет вам ускорить ETL или другой Hadoop UseCase.
Читать дальше →
Total votes 49: ↑44 and ↓5+39
Comments0

Livy — недостающее звено цепи Hadoop Spark Airflow Python

Reading time3 min
Views7.4K

Привет всем, немного информации "из под капота" дата инженерного цеха Альфастрахования — что будоражит наши технические умы.


image


Apache Spark — замечательный инструмент, позволяющий просто и очень быстро обрабатывать большие объемы данных на достаточно скромных вычислительных ресурсах (я имею в виду кластерную обработку).


Традиционно, в процессе ad hoc обработки данных используется jupyter notebook. В комбинации со Spark-ом это позволяет нам манипулировать долго живущими дата фреймами (распределением ресурсов занимается Spark, дата фреймы "живут" где-то в кластере, время их жизни ограничено временем жизни Spark контекста).


После переноса обработки данных в Apache Airflow время жизни дата фреймов сильно сокращается — Spark контекст "живет" в пределах одного оператора Airflow. Как это обойти, зачем обходить и при чем здесь Livy — читайте под катом.

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments2

Как мы оркестрируем процессы обработки данных с помощью Apache Airflow

Reading time19 min
Views30K
Всем привет! Меня зовут Никита Василюк, я инженер по работе с данными в департаменте данных и аналитики компании Lamoda. В нашем департаменте Airflow играет роль оркестратора процессов обработки больших данных, с его помощью мы загружаем в Hadoop данные из внешних систем, обучаем ML модели, а также запускаем проверки качества данных, расчеты рекомендательных систем, различных метрик, А/Б-тестов и многое другое.

image

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

  • что за зверь этот Airflow, из каких компонентов состоит и как они между собой взаимодействуют
  • про основные сущности Airflow: пайплайны, которые называются DAG, Operator и еще про несколько вещей
  • как преуспеть в разработке на Airflow
  • как мы внедрили генерацию пайплайнов и так называемое «декларативное писание пайплайнов»
  • про плюсы и минусы использования Airflow
Читать дальше →
Total votes 20: ↑19 and ↓1+23
Comments8

Введение в Git Merge и Git Rebase: зачем и когда их использовать

Reading time4 min
Views342K
Часто у разработчиков возникает выбор между Merge (слияние) и Rebase (перемещение). В Гугле вы увидите разное мнение, многие советуют не использовать Rebase, так как это может вызвать серьезные проблемы. В статье я объясню, что такое слияние и перемещение, почему вы должны (или не должны) использовать их и как это сделать.

image

Git Merge и Git Rebase преследуют одну и ту же цель. Они предназначены для интеграции изменений из одной ветки в другую. Хотя конечная цель одинаковая, принципы работы разные.

Некоторые считают, что вы всегда должны использовать Rebase, другие предпочитают Merge. В этом есть свои плюсы и минусы.

Git Merge


Слияние — обычная практика для разработчиков, использующих системы контроля версий. Независимо от того, созданы ли ветки для тестирования, исправления ошибок или по другим причинам, слияние фиксирует изменения в другом месте. Слияние принимает содержимое ветки источника и объединяет их с целевой веткой. В этом процессе изменяется только целевая ветка. История исходных веток остается неизменной.
Читать дальше →
Total votes 44: ↑32 and ↓12+20
Comments18

Обзор IT-рынка облачных решений для бизнеса

Reading time6 min
Views27K
Недавно ко мне обратился руководитель небольшой недавно созданной компании с просьбой сориентировать его на современном рынке облачных вычислений (англ. cloud computing) или по-простому, облаках. Про облака вроде все слышали, знают что это модно и полезно. Но как использовать облака в ежедневной работе обычной российской компании? Когда стоит использовать облака и почему?

Суть облачных вычислений


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

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

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

Помимо возможной экономии на капитальных затратах есть и другие существенные преимущества:
Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments3

6 способов значительно ускорить pandas с помощью пары строк кода. Часть 2

Reading time6 min
Views11K
В предыдущей статье мы с вами рассмотрели несколько несложных способов ускорить Pandas через jit-компиляцию и использование нескольких ядер с помощью таких инструментов как Numba и Pandarallel. В этот раз мы поговорим о более мощных инструментах, с помощью которых можно не только ускорить pandas, но и кластеризовать его, таким образом позволив обрабатывать большие данные.



Часть 1

  • Numba
  • Multiprocessing
  • Pandarallel

Часть 2

  • Swifter
  • Modin
  • Dask
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments4

6 способов значительно ускорить pandas с помощью пары строк кода. Часть 1

Reading time5 min
Views21K
В этой статье я расскажу о шести инструментах, способных значительно ускорить ваш pandas код. Инструменты я собрал по одному принципу — простота интеграции в существующую кодовую базу. Для большинства инструментов вам достаточно установить модуль и добавить пару строк кода.


Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments9

Масштабирование ClickHouse, управление миграциями и отправка запросов из PHP в кластер

Reading time11 min
Views44K

В предыдущей статье мы поделились своим опытом внедрения и использования СУБД ClickHouse в компании СМИ2. В текущей статье мы затронем вопросы масштабирования, которые возникают с увеличением объема анализируемых данных и ростом нагрузки, когда данные уже не могут храниться и обрабатываться в рамках одного физического сервера. Также мы расскажем о разработанном нами инструменте для миграции DDL-запросов в ClickHouse-кластер.


Два шарда по две реплики


Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments0

Яндекс открывает ClickHouse

Reading time14 min
Views168K
Сегодня внутренняя разработка компании Яндекс — аналитическая СУБД ClickHouse, стала доступна каждому. Исходники опубликованы на GitHub под лицензией Apache 2.0.



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

В этой статье мы расскажем, как и для чего ClickHouse появился в Яндексе и что он умеет; сравним его с другими системами и покажем, как его поднять у себя с минимальными усилиями.
Читать дальше →
Total votes 176: ↑172 and ↓4+168
Comments204

Information

Rating
Does not participate
Location
Краснодар, Краснодарский край, Россия
Date of birth
Registered
Activity