Современная волна ИИ хайпа началась с вполне конкретного события: победы ИИ над чемпионом мира в игре в Го. Это вызвало шквал интереса к обучению с подкреплением и привело к запуску работ над созданием ИИ для других более сложных игр (Starcraft, Dota и.т.п.). Однако, с появлением трансформеров, фокус сместился на генеративные модели. Каждый месяц выходит новая модель вроде ChatGPT, поражающая своими возможностями и собирает на себе всё внимание. Однако, и в этих условиях, исследования ИИ с помощью игр продолжается. Каждая новая игра это упрощенная среда, все более сложная и близкая к реальному миру (обычно). В этой статье сделан обзор успехов и прогресса в этом направлении в 2022 году. С важным исключением, сюда включены только работы на настоящих играх (настольных и видеоиграх), но не на играх, созданных специально для тестирования ИИ агентов.
Третья жизнь пет-проекта по распознаванию рукописных цифр
В этом блогпосте я поделюсь историей о том, как я обновлял свой старенький пет-проект по распознаванию цифр, как делал разметку для него, и почему модель предсказывает 12 классов, хотя цифр всего 10.
Вот ссылка на само приложение, если хочется интерактива сразу.
Трекинг множества объектов без разметки или как следить за пузырьками во время пенной флотации
Привет, Хабр! Меня зовут Клоков Алексей, сегодня поговорим об алгоритмах компьютерного зрения, обработке видеопотока и методах трекинга множества объектов без разметки (unsupervised multiple object tracking) на примере пузырьков. Методичка будет полезна как опытным специалистам, перед которыми стоит похожая задача, так и начинающим энтузиастам. На основе черновика этого текста и экспериментов получилось опубликовать научную статью в Journal of Mineral and Material Science.
В тексте вы найдете:
— описание домена данных и технологического процесса флотации;
— подход к cегментации множества подобных объектов;
— существующие методы трекинга без разметки;
— подход к одновременному сопровождению множества подобных объектов;
— сравнение качества работы алгоритмов и много демонстраций
13 хаков для перемены карьеры: как поменять карьеру в декрете и не сойти с ума
Поворот карьеры – штука, в общем, банальная. Почти каждый меняет карьеру несколько раз за жизнь. Но первый раз такой тревожный, что часто вызывает море опасений. Здесь я расставила по полочкам свои приемы и ключевые изменения привычек, которые помогли мне поменять сферу.
Что я бы хотел знать про ML System Design раньше
Около года назад я начал проходить собеседования в разные компании на позицию Machine Learning Engineer. Одним из этапов в каждой компании было проектирование ML системы. В данной статье я делюсь опытом и ресурсами, которые помогли мне пройти собеседования. В том числе в команду MLE Ленты, в которой сейчас тружусь.
Практический Metric learning
В этом посте мы поговорим о задаче metric learning, подходах к её решению, и разберём их на практике, используя open-source проект OpenMetricLearning. В качестве бонуса покажем, как с помощью простых эвристик можно догнать текущие SotA модели.
Запуск ML скриптов в облаке с помощью dstack. Бонус – про запуск open-source проектов
Привет! На прошлой неделе мы выложили на GitHub утилиту для запуска ML скриптов в AWS.
В этом посте я бы хотел рассказать, об этой утилите, а также с какими трудностями мы столкнулись при ее разработке. Во второй части статьи, я бы хотел поделиться нашим опытом запуска open-source проекта, и чему этот опыт научил.
Статья может быть интересна тем, кто имеет отношение к машинному обучению, тем кто разрабатывает собственные утилиты для разработчиков, и, наконец, тем, кто занимается разработкой open-source проектов.
Распознавание речи, генерация субтитров и изучение языков при помощи Whisper
Есть ряд платных решений по переводу речи в текст (Automatic Speech Recognition). Сравнительно малыми усилиями можно сделать свое решение, — обучить на целевых данных end2end модель (например, из фреймворка NeMo от NVIDIA) или гибридную модель типа kaldi. Сверху понадобится добавить расстановку пунктуации и денормализацию для улучшения читаемости ("где мои семнадцать лет" → "Где мои 17 лет?").
Модель заслуживает внимания так как умеет делать очень много "из коробки". Давайте разберемся подробнее как она устроена и научимся ей пользоваться.
Недавно в открытый доступ была выложена мультиязычная модель whisper от OpenAI. Попробовал ее large вариант на нескольких языках и расшифровал 30 выпусков "Своей игры". Результат понравился, но есть нюансы. Модель транскрибирует тексты вместе с пунктуацией и капитализацией, расставляет временные метки, умеет генерировать субтитры и определять язык. Языков в обучающем датасете порядка ста. Чтобы прикинуть по качеству, нужно посмотреть на их распределение — данных на 100 часов и более было лишь для 30 языков, более 1000 ч. — для 16, ~10 000 часов — у 5 языков, включая русский.
Новый запуск курса Natural Language Processing
Уже в среду мы делаем новый запуск курса по обработке естественного языка от ODS и Huawei. Ссылка на курс вот. В этом запуске дополнительно расскажу про то, как устроены Github Copilot и OpenAI Codex, ну и в целом про NLP4Code.
Data Science Pet Projects. FAQ
Привет! Меня зовут Клоков Алексей, сегодня поговорим о пет-проектах по анализу данных. Идея написать эту статью родилась после многочисленных вопросов о личных проектах в сообществе Open Data Science (ODS). Это третья статья на Хабре, до этого был разбор алгоритма SVM и анонс крутого NLP курса от ребят из DeepPavlov. В этой статье вы найдете идеи для новых петов и другие полезности. Итак, разберем частые вопросы и дадим определение пет-проекта:
- Зачем делать пет-проекты?
- Из каких этапов может состоять разработка пет-проекта?
- Как выбрать тему и найти данные?
- Где найти вычислительные ресурсы?
- Как завернуть работающие алгоритмы в минимальный прод?
- Как оформить презентабельный вид проекта?
- Как и зачем искать коллабораторов?
- Когда проходит ODS pet project хакатон?
- Где посмотреть примеры пет-проектов и истории участников ODS?
Эй-Яй, крипта, MLOps и командный пет-проджект
В этой статье я расскажу, как мы командой пилили пет-проджект в рамках курса ODS по MLOps. Покажу не только финальный результат, но и немного расскажу про процесс работы, какие были сложности, как организовывали эффективную работу в команде. Может оказаться полезным для тех, кто хочет окунуться в Machine Learning и сделать свой пет-проджект, но пока чего-то не хватало. Также будет полезно тем, кто уже работает в области Data Science, но пока не окунулся в атмосферу DS, нет крутых коллег и разгвооров про фреймворки у кофемашины, а опыт командной работы именно в области DS получить хочется.
Сразу про то, что получилось на выходе: https://cryptobarometer.org/
Как мы заняли 1-е место в задаче Matching в соревновании Data Fusion Contest 2022, или как нейронка обогнала бустинг
На платформе ODS.ai прошло соревнование по машинному обучению Data Fusion Contest 2022 от банка ВТБ.
Мы, команда Лаборатории ИИ Сбера и Института искусственного интеллекта AIRI, приняли решение поучаствовать в контесте, когда увидели, что тема соревнования сильно пересекалась с нашими исследованиями. Мы заняли первое место на private leaderboard в основной задаче Matching. Здесь я хотел бы описать решение, которое у нас получилось.
В рамках соревнования предлагались: датасет, содержащий транзакции, совершенные клиентами ВТБ по банковским картам, кликстрим (данные о посещении web-страниц) клиентов Ростелекома и разметка соответствия между клиентами из этих двух организаций. Соответствие устанавливается если два клиента – это один и тот же человек. Все данные были обезличены, а сами датасеты синтезированы на основе реальных данных таким образом, чтобы сохранить информацию о поведении пользователей.
В программу мероприятия входило пять задач разной сложности с разным призовым фондом. Мы решили сосредоточится на главной задаче Matching, как на самой сложной и самой интересной.
DIY. Книги для всех, даром
Upd. 11.06.2022 Многие заинтересовались генерацией изображений нейросетями. Вот Colab (интерактивная среда для запуска кода) для рисования картинок в стиле pixel art по текстовому описанию. Просто запускайте, ближе к концу увидете ячейку для ввода текста. Примеры картинок из Colab'а в комментариях.
Два года назад я начал делать небольшой проект, связанный с обработкой текстов на иностранных языках. Он постепенно развивался и стал использоваться лингвистами в НКРЯ, а энтузиасты сохранения малых языков используют его для расширения своих параллельных корпусов.
Сегодня же я расскажу как при помощи него создать полноценную параллельную книгу на разных языках. Книга будет красиво сверстана в PDF, иметь содержание, обложку и две выровненные по смыслу колонки текста. Такие книги служат отличным подспорьем при изучении иностранного языка. Найти их, однако, не так просто, и скорее всего это будут книги для детей или избранная классика. Полный пример готовой книги можно посмотреть здесь. Под капотом у приложения NLP модели, поддерживаемых языков более ста.
Проект открытый и любой может в нем поучаствовать. Во многом благодаря сообществу и вашему участию он за несколько лет дошел до сегодняшнего дня. В общем штука годная, давайте уже посмотрим, что к чему.
Причинно-следственный анализ в машинном обучении: итоги 2021 г
Недавно мы поговорили о том, что такое causal inference или причинно-следственный анализ, и почему он стал так важен для развития машинного обучения. А в этой статье - под катом - хотелось бы рассказать о трендах в развитии Causal Inference в ML в 2021 г.
Система распознавания шрифта Брайля. Читаем написанное белым по белому
В 2018 году мы взяли из детдома в семью слепую девочку Анжелу. Тогда я думал, что это чисто семейное обстоятельство, никак не связанное с моей профессией разработчика систем компьютерного зрения. Но благодаря дочери через два года появилась программа и интернет-сервис для распознавания текстов, написанных шрифтом Брайля - Angelina Braille Reader.
Сейчас этот сервис используют сотни людей и в России, и за ее пределами. Тема оказалась хайповой, сюжет о программе даже показали в федеральных новостях на ТВ. Но что важнее - за свою многолетнюю карьеру в ИТ ни в одном проекте я не получал столько искренних благодарностей от пользователей.
Ниже расскажу о том, как делалась эта разработка и с какими трудностями пришлось столкнуться. Более развернутое описание приведено в публикациях [1,2].
Возможно, кто-то захочет внести в проект свой вклад.
Интерпретируемость в машинном обучении: итоги 2021 г
В 2021-2022 годах уже ни для кого не секрет, что понимать логику работы моделей машинного обучения важно и нужно. Иначе можно насобирать множество проблем: от того, что модель не будет принята конечным пользователем, потому что непонятна, до того, что она будет работать неправильно, а поймем мы это уже слишком поздно.
Для интерпретируемости в машинном обучении устоялись термины Interpretable ML и Explainable AI (XAI). Объединяет их одно - стремление сделать модели машинного обучения понятными для конечного пользователя.
Под катом поговорим о том, что интересного произошло в интерпретируемости в 2021 г.
Причинно-следственный анализ в машинном обучении
Что появилось первым: курица или яйцо?
Статистики давно уже нашли ответ на этот вопрос.
Причем несколько раз.
И каждый раз ответ был разным.
А если серьезно, то для машинного обучения становятся все более актуальными вопросы причинно-следственного анализа (causal inference) - когда главной целью моделирования является не прогноз и его качество, а то, как мы можем принимать решения на основе нашего алгоритма. И как это повлияет на мир, в котором эта модель будет действовать. Сделает ли модель его лучше, чем он был? Или наоборот.
Под катом я расскажу о причинно-следственном анализе, его ключевых методах и применении в машинном обучении. В следующей статье побеседуем о ключевых трендах в развитии методов причинно-следственного анализа в машинном обучении в 2020-2021 гг.
Нюансы распознавания речи. Восстанавливаем пунктуацию, числа и заглавные буквы
В задачах распознаваниях речи при переводе аудио в текст есть дополнительные этапы, делающие этот текст более человекочитаемым. Например, предложение "привет хабр сегодня мы сделаем двадцать шесть моделей по распознаванию голоса" будет выглядеть лучше в таком виде: "Привет, хабр. Сегодня мы сделаем 26 моделей по распознаванию голоса". Другими словами, сегодня мы поговорим про то, как автоматически восстановить пунктуацию и капитализацию (сделать нужные буквы заглавными). Также упомянем денормализацию текста (при этом числа обретут свою цифровую форму обратно, эту задачу еще называют inverse text normalization).
Пунктуация и капитализация
Чистый AutoML для “грязных” данных: как и зачем автоматизировать предобработку таблиц в машинном обучении
Обработка табличных данных средствами Python для использования в моделях машинного обучения - что может быть банальнее. Казалось бы. Иногда табличные данные бывают настолько "грязными", что их вычистка занимает гораздо больше времени, чем подготовка самой модели. Так зачем это делать самому, если с этим не хуже справится AutoML...
Проблемы современного машинного обучения
Во многих популярных курсах машинного и глубокого обучения вас научат классифицировать собак и кошек, предсказывать цены на недвижимость, покажут еще десятки задач, в которых машинное обучение, вроде как, отлично работает. Но вам расскажут намного меньше (или вообще ничего) о тех случаях, когда ML-модели не работают так, как ожидалось.
Частой проблемой в машинном обучении является неспособность ML-моделей корректно работать на большем разнообразии примеров, чем те, что встречались при обучении. Здесь идет речь не просто о других примерах (например, тестовых), а о других типах примеров. Например, сеть обучалась на изображениях коровы, в которых чаще всего корова был на фоне травы, а при тестировании требуется корректное распознавание коровы на любом фоне. Почему ML-модели часто не справляются с такой задачей и что с этим делать – мы рассмотрим далее. Работа над этой проблемой важна не только для решения практических задач, но и в целом для дальнейшего развития ИИ.