Pull to refresh
2
0
Send message

Новые инструменты для работы c ML-моделями и обзор MLOps от CERN

Level of difficultyMedium
Reading time7 min
Views4.6K

Привет всем, кто работает с ML-моделями и занимается аналитикой данных! В новом дайджесте для вас много интересных обзоров по инструментам — как говорится, ни ClearML и Airflow едиными. Рынок решений стремительно развивается, и наши подборки помогут вам держать руку на пульсе. Еще больше полезных текстов по DataOps и MLOps публикуем в Telegram-сообществе «MLечный путь».

Как вам, кстати, ренессансная GPU на обложке, которую сгенерила нейросеть для блога Andreesen and Horowitz? Что тут сказать — просто поделитесь промтом.
Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments1

Миссия выполнима: как Smart Engines обучила нейросеть распознавать все страницы паспорта РФ и находить подделки

Level of difficultyEasy
Reading time8 min
Views15K

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

Читать далее
Total votes 19: ↑17 and ↓2+20
Comments54

Slovo и русский жестовый язык

Level of difficultyMedium
Reading time10 min
Views6.7K

Всем привет! В этой статье мы расскажем о непростой задаче распознавания русского жестового языка (РЖЯ) для слабослышащих. Насколько нам известно, в открытом доступе не существует универсального набора данных для распознавания РЖЯ. Поэтому мы решили выложить небольшую часть нашего датасета в открытый доступ. В статье мы затронем основные особенности РЖЯ, поговорим о проблемах и сложностях самого языка, и процессе его сбора и разметки. Расскажем, где искали экспертов и как нам в итоге удалось собрать самый большой и разнородный жестовый датасет для РЖЯ. В конце статьи представим набор предобученных нейронных сетей и небольшое приложение, демонстрирующее распознавание жестового языка. Часть датасета и веса моделей мы выложили в открытый доступ — все ссылки вы можете найти в конце статьи или в нашем репозитории.

Интересно?
Total votes 32: ↑32 and ↓0+32
Comments6

Исчерпывающее руководство по различным типам API

Level of difficultyEasy
Reading time8 min
Views33K

API (Application Programming Interface, программный интерфейс приложения), является жизненно важным компонентом в современном ландшафте разработки программного обеспечения, обеспечивая строительные блоки для взаимодействия приложений друг с другом. В этой статье рассмотрим пять основных типов API: REST, SOAP, WebSocket, gRPC и GraphQL, чтобы получить более четкое представление об их функциях, особенностях и идеальных сценариях использования.

Читать далее
Total votes 15: ↑14 and ↓1+15
Comments2

Пишем на Python как на Rust

Level of difficultyMedium
Reading time17 min
Views31K

Я начал программировать на Rust несколько лет назад, и это постепенно изменило мой подход к разработке программ на других языках программирования, особенно на Python. До того, как я начал использовать Rust, я обычно писал код на Python очень динамично, без подсказок типов, повсюду передавая и возвращая словари и время от времени возвращаясь к интерфейсам со «строковой типизацией». Однако, испытав на себе строгость системы типов Rust и заметив все проблемы, которые она предотвращает, я внезапно стал сильно беспокоиться всякий раз, когда возвращался к Python и не получал тех же гарантий.

Читать далее
Total votes 88: ↑83 and ↓5+94
Comments42

Уровни английского языка: детальный разбор критериев в 2023

Level of difficultyEasy
Reading time10 min
Views56K

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

Читать далее
Total votes 16: ↑13 and ↓3+13
Comments4

Код-ревью: cookbook от Google

Level of difficultyEasy
Reading time16 min
Views12K

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

От автора перевода: в Google вместо PR (Pull Request) принято использовать аббревиатуру CL (ChangeList — список изменений). Остальные термины, на мой взгляд, понятны и без пояснений. Чтобы разбавить кучу текста, в качестве разделителей разделов использованы генерации на тему "код-ревью от разных мультипликаторов" от нейросети Kandinsky.

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

Дифференцируемый нейронный компьютер, нейронная машина Тьюринга (подробное изучение)

Level of difficultyMedium
Reading time7 min
Views3.8K

Данная статья является аннотацией к монографии "Анализ и визуализация нейронных сетей с внешней памятью" (LSTM, нейронная машина Тьюринга, дифференцируемый нейронный компьютер).

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

Реализация функции потерь Triplet Loss в Python (функция тройных потерь)

Level of difficultyMedium
Reading time9 min
Views8K

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

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

Всегда говори «нет»: как принять и полюбить отказы, используя их для своего развития

Reading time7 min
Views16K

Каждый из нас хоть раз в жизни получал отказ. Слышать «нет» так неприятно, что мы сами стараемся реже отказывать другим. В результате — лишние обязанности на работе или нереализованные возможности. Мы попросили сотрудников Selectel поделиться своими историями, как они столкнулись с отказом, но повернули ситуацию в свою пользу.

На текст нас вдохновила книга «А я тебя «нет»», из который мы также взяли несколько полезных рекомендаций. Сохраняйте статью в закладки и делитесь в комментариях своими историями судьбоносных отказов.
Читать дальше →
Total votes 48: ↑46 and ↓2+53
Comments20

Все DETRы мира: выкидываем и возвращаем энкоры. Часть 1

Level of difficultyHard
Reading time22 min
Views4.7K

Материал для ТГ-канала “Варим ML”

Я - большой фанат задачи детекции, она мне нравится по всем критериям. Она самая интересная концептуально - одновременно нужно и искать объекты, и определять их тип. Классификация целых изображений скучновата и не так часто применима на практике (по крайней мере в медицине), а сегментация мне кажется нудноватой - ну их, эти конкретные пиксели. Ещё статьи про детекцию - самые интересные для меня в техническом плане. Мне нравится разбираться в разных видах архитектур - anchor-based и anchor-free, one-stage и multi-stage, а ещё я очень люблю разные крутые идеи, которые улучшают тот или иной компонент детекционного пайплайна - например, PISA для умного взвешивания разных сэмплов в лоссе, Precise RoIPooling и Deformable RoIPooling для более точного и хитрого пулинга фичей, D2Det для декаплинга задач локализации и классификации, SoftNMS для замены традиционного NMS.

В 2020 году вышла крутая статья про новую архитектуру для детекции - DETR. Она меня очень вдохновила, и я тут же бросился впиливать её в проект Маммография (ММГ), тем более что код был с виду очень простой. После недели мучений я не смог выжать ничего адекватного - обучалось ужасно, долго и предиктило в основном фигню. Возможно, я где-то набаговал, но возиться дольше не хотелось.

Тем не менее, все три года идея всё-таки впилить DETR преследовала меня по пятам, тем более что за это время вышло несколько десятков статей, тем или иным образом улучшающим оригинальную архитектуру. И вот, в один прекрасный день я зачем-то решил прочитать вообще все статьи про DETRы, а заодно попробовать несколько вариаций в ММГ. Задача оказалась слегка сложнее, чем я ожидал…

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

Паттерны проектирования для систем машинного обучения. Часть 1

Reading time9 min
Views5.5K

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

Читать далее
Total votes 6: ↑5 and ↓1+5
Comments0

Нейросеть, что это такое и как создать свою? Детальная инструкция

Reading time21 min
Views45K

В поисковых системах ежедневно растет количество запросов, что такое нейросеть (далее — НС). Прежде всего это связано с растущим интересом к технологиям на базе искусственного интеллекта (далее — ИИ). Многие из нас даже не подозревают, что мы практически ежедневно используем модели глубокого обучения. Запросы Siri или взаимодействие с чат-ботами в мессенджерах — один из ярких примеров использования НС. 

Мало кто из нас знает, что нейронки существуют уже 80 лет. Первая НС была представлена в 1943 году Уорреном Маккалоу и Уолтером Питтсом. В ее основе лежала пороговая логика для построения вычислительных моделей. Но с годами подходы к реализации нейронных сетей изменились, как и технологии, которые используются для их разработки. Углубимся в основы НС и разберемся с ключевыми вопросами. 

Читать далее
Total votes 25: ↑18 and ↓7+17
Comments1

Введение в Clickhouse движок AggregatingMergeTree

Level of difficultyEasy
Reading time11 min
Views12K

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

В интернете существуют много однотипных статей иллюстрирующих базовое использование материализованных представлений (далее - матвью) на движке AggregatingMergeTree, но если ваша задача выходит за рамки “1 нода, 1 метрика, 1 параметр агрегации” эти статьи вам мало чем помогут. Я посчитал, что моим коллегам может пригодиться своего рода гайд о том, как пользоваться данными представлениями для более сложных задач.

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

В рамках моей задачи хранилище данных (далее - DWH) реализовано в виде реплицированного кластера состоящего из 3 нод, данные на ноды распределяются равномерно в соответствии с ключом сортировки таблиц. Существует исходная таблица source, которая содержит столбцы id, timecode_1, metric_data - данные представляют собой временной ряд утилизации ресурсов с гранулярностью 1 минута. Данные поступают блоками каждые 2 минуты.

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

Реализация функции потерь в Python

Reading time4 min
Views15K

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

Существует несколько способов вычислить эту разницу. В этом материале мы рассмотрим некоторые из наиболее распространенных функций потерь.

Ниже будут рассмотрены следующие четыре функции потерь.

Читать далее
Total votes 15: ↑6 and ↓9+3
Comments8

Как построить систему геоаналитики с применением ML

Reading time10 min
Views5.6K


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

Статья подготовлена на основе вебинара команд VK Predict и VK Cloud. 
Читать дальше →
Total votes 16: ↑15 and ↓1+22
Comments1

Поймай меня, если сможешь: руководство по обработке исключений в Python

Level of difficultyMedium
Reading time8 min
Views37K

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

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

Особенности асинхронности в Python

Level of difficultyMedium
Reading time8 min
Views15K

Привет, Хабр! Меня зовут Николай Нагорный, я работаю в Росбанке над платформой Advisors’ Axiom. В этом посте я подробно расскажу о важной фиче, которая появилась в Python 3.5 — асинхронности. Затрону основные концепции и инструменты, приведу примеры кода. Пост будет полезен новичкам для понимания основ асинхронности и, может, даже опытным разработчикам в поиске новых идей и подходов.

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

Jija python async framework

Level of difficultyEasy
Reading time2 min
Views3.9K

Jija - это асинхронный Python фреймворк, который разрабатывается для облегчения создания асинхронных веб-приложений. Фреймворк предоставляет удобный интерфейс для обработки запросов и формирования ответов, а также поддерживает работу с базами данных и созданием документации.

При создании jija я думал об удобстве использования сборщика приложения джанги и лёгкости и асинхронности fastapi.

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

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

Убираем JavaScript. Как при помощи htmx красиво использовать HTML и уменьшить объем кода

Reading time6 min
Views51K

htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, альтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборки.

Читать далее
Total votes 16: ↑11 and ↓5+10
Comments24

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Junior
Linux
OOP
Python
SQL
Git