Pull to refresh
0
0
Send message

Операции машинного обучения (MLOps) для начинающих: полное внедрение проекта

Level of difficultyMedium
Reading time21 min
Views3.4K

Разработка, развёртывание и поддержка моделей машинного обучения в продакшене может быть сложной и трудоёмкой задачей. Здесь на помощь приходит Machine Learning Operations (MLOps) — набор практик, который автоматизирует управление ML-процессами и упрощает развёртывание моделей. В этой статье я расскажу о некоторых основных практиках и инструментах MLOps на примере реализации проекта от начала до конца. Это поможет вам эффективнее управлять ML-проектами, начиная с разработки и заканчивая мониторингом в продакшене.

Прочитав эту статью, вы узнаете, как:

— Использовать DVC для версионирования данных.
— Отслеживать логи, артефакты и регистрировать версии моделей с помощью MLflow.
— Развернуть модель с помощью FastAPI, Docker и AWS ECS.
— Отслеживать модель в продакшене с помощью Evidently AI.

Читать далее
Total votes 17: ↑17 and ↓0+22
Comments1

Многопоточность и Thread Pool в C++

Level of difficultyEasy
Reading time18 min
Views40K

Привет, Хабр! Я неожиданно созрел для написания первой статьи тут. За время работы в сфере IT у меня появилась своя собственная библиотека на языке C++, которая медленно, но верно обрастает различными полезными модулями. Не все включаемые в нее модули написаны мною с нуля, но я всегда стараюсь так или иначе адаптировать их под свои нужды. Сегодня у меня появилось непреодолимое желание поделиться с вами некоторыми фрагментами моей библиотеки.

Читать далее
Total votes 7: ↑5 and ↓2+6
Comments14

Как я адаптировал v2rayN для России или российские источники geo файлов для v2ray/sing-box/etc

Level of difficultyEasy
Reading time5 min
Views26K

Сегодня был выпущен мажорный релиз v2rayN v7.0, а вместе с ним и моя серия коммитов, которые добавляют поддержку пресета "Россия".

Для его работы так же был создан российский источник geo файлов для v2ray/sing-box/etc.

Читать далее
Total votes 37: ↑37 and ↓0+41
Comments62

Big Data от А до Я. Часть 2: Hadoop

Reading time9 min
Views231K
Привет, Хабр! В предыдущей статье мы рассмотрели парадигму параллельных вычислений MapReduce. В этой статье мы перейдём от теории к практике и рассмотрим Hadoop – мощный инструментарий для работы с большими данными от Apache foundation.

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


Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments8

Строим ETL-конвейер для машинного обучения с помощью Kafka, Clickhouse и Go

Reading time16 min
Views4.5K

В этой статье я поделюсь с вами своим опытом использования Golang, Kafka и Clickhouse на примере простого ETL-конвейера для параллельной передачи JSON-данных в базу данных с последующим прогнозированием температуры на основе машинного обучения.

Читать далее
Total votes 8: ↑7 and ↓1+9
Comments3

Как у нейросетей работает внимание? Статья про self-attention и cross-attention

Level of difficultyMedium
Reading time5 min
Views1.9K

Удивительно, как нейросети похожи на нас. У них тоже есть внимание, и на примере коня на ракете я расскажу, как оно работает!

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments0

Почти все, что вы хотели бы знать про Docker

Level of difficultyEasy
Reading time11 min
Views61K

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

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

Читать далее
Total votes 65: ↑60 and ↓5+65
Comments57

Как мы собираем данные для обучения Kandinsky

Level of difficultyHard
Reading time14 min
Views2.8K

Всем привет! Наша команда в Sber AI занимается генеративными моделями и сегодня мы расскажем про очень важный этап разработки моделей для генерации фотореалистичных изображений и видео — процесс сбора и фильтрации данных. Про этот этап очень редко подробно рассказывают разработчики и исследователи таких известных генеративных моделей как DALL-E 3, Stable Diffusion, MidJourney или SORA. Генеративные модели уже многих впечатлили своими возможностями создавать максимально реалистичные изображения и видеоролики, а качественные данные — далеко не последняя причина, по которой такого качества генераций удалось достичь.

Читать далее
Total votes 18: ↑17 and ↓1+20
Comments0

Введение в lock-free программирование

Reading time8 min
Views57K
image

В этом посте мы хотели бы еще раз поднять тему программирования без блокировок, сперва дав ему определение, а затем выделить из всего многообразия информации несколько ключевых положений. Мы покажем, как эти положения соотносятся между собой, с помощью блок-схем, а потом мы немного коснемся деталей. Минимальное требование к разработчику, постигающему lock-free, — умение писать правильный многопоточный код, используя мьютексы или другие высокоуровневые объекты синхронизации, например, семафоры или события.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments17

Домашний веб-сервер для чайников

Reading time14 min
Views283K

Привет, Хабр! Относительно недавно после пары лет перерыва в айти, потраченных на изучение японского языка, мне пришлось срочно обновлять свои знания на работе. Ну знаете, искать возможности исполнить все хотелки начальника, как и положено эникею. Меня ждало много увлекательных открытий, но при этом, как водится, и немало боли и борьбы с непонятками. Docker, контейнеры, реверс DNS и реверс прокси, получение TLS сертификатов. В какой-то момент я наконец дошёл до удобного решения, которым я теперь хочу поделиться.

В своё время домашний сервер очень облегчил бы мне понимание Docker’а, да и удобство работы с ним неслабо бы повысил. Поэтому возникла идея написать эту статью, после прочтения которой любой человек даже с поверхностными знаниями в информационных технологиях сможет поставить себе постоянно доступный домашний сервер на базе Docker Swarm с удобной веб-мордой, простым получением TLS-сертификатов и Heroku-подобным функционалом (для чего будем использовать PaaS CapRover). 

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

Читать далее
Total votes 24: ↑22 and ↓2+23
Comments29

Интуитивное понимание пространств и ядер в машинном обучении: Часть 1

Level of difficultyHard
Reading time9 min
Views9.2K

При изучении темы ядер (kernel) в ML/DS программы вузов, роадмэпы и видео на YouTube обычно рассматривают её через призму SVM, не говоря уже о всеми любимых курсах:). Казалось бы, это неплохо: вот тебе краткое объяснение и модель, которая использует ядра. Но, увы, в этих областях желательно понимать многие процессы интуитивно, так сказать — «тяжело в учении, легко в бою». К тому же, эта тема нечто большее, чем просто метод; она позволяет связать многие вещи в машинном обучении в единую картину через пространство, что я и хочу показать в этой статье.

Читать далее
Total votes 20: ↑18 and ↓2+20
Comments12

Игровые паттерны программирования: Game Loop

Level of difficultyEasy
Reading time19 min
Views7.9K

Это перевод одной из глав книги Game programming patterns Роберта Найстрома. Так как книга по сути состоит из подробного описания шаблонов проектирования, каждая глава может рассматриваться как самостоятельная статья, чем я и воспользовался и перевел, как мне кажется, статью с самым важным паттерном в игростроении — Game loop.

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

Микросети: настройка коммутации

Level of difficultyMedium
Reading time7 min
Views15K

Привет, читатель!

У меня в квартире есть множество вещей, которым требуется постоянный доступ к локальной сети и интернету. Планируя ремонт, я учел подключение приставок, телевизоров и ПК по кабелю для стабильности. Однако такой вариант ограничивается возможностями маршрутизатора, который в лучшем случае имеет до десяти портов. Мне же их нужно не менее 11, а для некоторых устройств необходимо POE. Кроме того, для надежного соединения ноутбуков, телефонов и портативных приставок стандартом стали Wi-Fi зоны 5 ГГц.

Чтобы это все реализовать, я подключил и настроил коммутатор и точку доступа, которые когда-то покупал для экспериментов. В статье привожу описание настроек. Это решение легко масштабировать на небольшую компанию. Нужно лишь добавить несколько коммутаторов уровня агрегации и доступа, а также точки доступа для покрытия всей территории.
Читать дальше →
Total votes 41: ↑41 and ↓0+53
Comments19

Разбираемся в ROC и AUC

Level of difficultyEasy
Reading time6 min
Views18K

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

В машинном обучение очень важны метрики оценки эффективности моделей. Среди таких метрик есть: кривые ROC и показатель AUC. Они позволяют оценивать бинарные классификаторы.

В этой статье мы как раз и разберем их.

Читать далее
Total votes 9: ↑8 and ↓1+11
Comments1

Генеративные 3D-модели

Level of difficultyMedium
Reading time15 min
Views11K

Салют, Хабр! На связи Игорь Пасечник — технический лид направления XR RnD SberDevices. Сегодня я хочу рассказать про одно из наших направлений исследований — разработку генеративных моделей для 3D-контента. 

Современные методы генерации 2D-контента, такие, как 2D-диффузионные модели (Kandinsky 3.0, SDXL), уже достигли впечатляющих результатов и несколько лет являются неотъемлемой частью современности, генеративные видео модели также активно развиваются. Кульминацией развития таких подходов, вероятно, станет представленная не так давно модель Sora. Тем не менее большинство из этих моделей до сих пор испытывают проблемы при генерации консистентных 3D-сцен и объектов.

С другой стороны стороны, существует конвенциональная 3D-графика, а также огромная индустрия и множество прикладных областей, включая игры, XR, дизайн, архитектуру, маркетинг, 3D-проектирование, где используются пайплайны на основе 3D-графики и производится контент на их основе. Методы создания 3D-моделей, такие, как ручное моделирование, 3D-сканирование и фотограмметрия, могут быть трудоёмкими, дорогостоящими и требующими специальных навыков. 3D-продакшн в общем виде использует множество инструментов для создания и рендеринга тяжелой фотореалистичной графики, адаптация генеративных 3D-пайплайнов под такие подходы достаточно тяжела из-за множества инструментов, которые такие пайплайны должны поддерживать. Также адаптация больших латентных генеративных 2D-моделей вроде SORA для прикладных задач фотореалистичной графики может стать альтернативой классическми пайплайнам на основе физического моделирования. Тем не менее, на текущий момент пайплайны работы с графикой, использующие базовый набор примитивов, включая меши, PBR-текстуры, простые модели освещения, закрывают множество прикладных задач и также могут быть востребованы у массового пользователя в случае их демократизации.

Читать далее
Total votes 37: ↑36 and ↓1+54
Comments15

Бесплатные ресурсы для инди-разработчиков

Reading time6 min
Views18K
image

Я изучаю гейм-дизайн и разработку игр. Когда я начала создавать свою первую игрушку (гифка оттуда) по мотивам мультсериала «We Bare Bears», то подолгу зависала, чтобы отрисовать фон, кнопочку, анимацию разрушения блока и пр. Часть артов я, по итогу, не использовала, а время на них тратила много.

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

Updated: я тут немножко подумала, и создала канал в Telegram: GameDEVils, буду там делиться материалами (про геймдизайн, разработку и историю игр), которые слишком короткие, чтобы положить в статью на Хабре.
Читать дальше →
Total votes 46: ↑45 and ↓1+53
Comments14

Создаем изометрические уровни игры с помощью Stable Diffusion

Level of difficultyEasy
Reading time5 min
Views23K

Всем привет. Сегодня я покажу вам, как можно создавать 2.5D уровни в изометрии с помощью быстрого прототипирования техникой grayboxing, и генеративного искусственного интеллекта, а именно Stable Diffusion. Практически весь процесс, описываемый в статье, довольно легко автоматизируется.

Если интересно, добро пожаловать под кат.

Читать далее
Total votes 75: ↑75 and ↓0+84
Comments27

Градиентный бустинг. Реализация с нуля на Python и разбор особенностей его модификаций (XGBoost, CatBoost, LightGBM)

Level of difficultyHard
Reading time28 min
Views15K

На сегодняшний день градиентный бустинг (gradient boosting machine) является одним из основных production-решений при работе с табличными, неоднородными данными, поскольку обладает высокой производительностью и точностью, а если быть точнее, то его модификации, речь о которых пойдёт чуть позже.

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

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

Компилятор за выходные: синтаксические деревья

Level of difficultyMedium
Reading time11 min
Views27K

Вам когда-нибудь приходилось задаваться вопросом, как работает компилятор, но так руки и не дошли разобраться? Тогда этот текст для вас. Мне тоже не доводилось заглядывать под капот, но тут так случилось, что мне нужно прочитать курс лекций о компиляторах местным третьекурсникам. Кто встречался с некомпетентными преподавателями? Здравствуйте, это я :)

Итак, чтобы самому разобраться в теме, я собираюсь написать транслятор с эзотерического языка программирования wend (сокращение от week-end), который я только что сам придумал, в обычный ассемблер. Задача уложиться в несколько сотен строк питоновского кода. Основной репозиторий живёт на гитхабе (не забудьте заглянуть в мой профиль и посмотреть другие tiny* репозитории).

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

Вороной, Манхэттен, рандом

Level of difficultyEasy
Reading time34 min
Views19K

Это история про то, как не довести дело до конца, но получить уйму опыта, и вообще ни разу не обломаться.

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

Осторожно, очень много картинок!

Читать далее
Total votes 160: ↑160 and ↓0+160
Comments53
1

Information

Rating
Does not participate
Registered
Activity