Градиентное погружение
4.61K subscribers
179 photos
11 videos
10 files
164 links
Обсуждаем новости, рассказываем про ML с кодом и колабом, выигрываем соревы 🏆

Контакты: @Cene655, @Cucu_LaPraline
Download Telegram
Tender Hack: Нижний Новгород

😎 За 3 дня заняли 1️⃣ место

👉 Проходил в оффлайн формате, кормили вкусно, в самом начале вручили мерч. Отмечу, что этот хак был не про то как "сделать презентацию и выиграть", а про то как сделать действительно рабочее решение. Только топ 5 команд по тех части проходили на финальную защиту.

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

Наш аналог озон'а для поставщиков умеет:
1) Семантический поиск
2) Частичная мультиязычность (ru-en)
3) Лексический поиск (лемматизация)
4) Поиск с учетом характеристик
5) Поиск сопутствующих товаров
6) Автодополнение
7) Автокоррекция
8) Транслитерация
9) Анализ рынка

Как решали?
Взяли LABSE (дистиллированную на ru-en) из-за того, что она лучше чем rubert-tiny v1/2 работает с токенами на английском, а это зачастую названия продуктов. В ходе тестирования заметили, что модель все ещё помнит что tea-чай, laptop-ноутбук, т.е. получили адаптацию под английский без тренировки под него.

К выдачи нейронки добавляли BM25, поиск который применяют в системах Lucene, Sphinx, помогло исправлять краевые случаи когда модель плохо работала.

Выдачу алгоритмов ранжировали, для этого применяли:
1) Схожесть строк jaro-winkler
2) Максимальная последовательная схожесть КПГЗ кодов.
3) Количество общих характеристик

Для сопутствующих товаров учитывали, что при применении нейронок у нас получится ситуация, когда для "ноутбук asus" в рекомендации попадет "ноутбук hp", а это не то что нам надо.

Починили тем, что выводили все результаты != кпгз товара, для которого искались сопутки. Вдобавок к этому у нас была история закупок на портале поставщиков, смогли вытащить информацию что, с чем покупают. Это значительно улучшило качество выдачи.

Презентация
Репозиторий
🔥29👍633👎1
System Design

Как инструмент повышения квалификации.

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

Курс состоит из 4-х основных тем: сбор требований, модульный дизайн, повышение отзывчивости, хранение данных. В каждой присутствуют лекции, временами вставки из практики Бабушкина и конспекты с заданиями.

Авторы рекомендуют курс для middle, senior, team lead. Сложность в течение курса растет, с каждым уроком прибавляются термины вплоть до дизайна полноценного сервиса. Схемы, таблички, всё по фэншую.

Могу выделить:
1) Ёмкие конспекты, удобно когда нет времени.
2) Разделение знаний для интервью и практики.
3) Два типа заданий: тестовые и с развернутым ответом.
4) Поэтапный разбор популярных сервисов: такси, мессенджеров, облачных хранилищ.

Для себя я открыл новые алгоритмы по типу quadtree, geohash, wildcard matching (неточный поиск). Узнал про CAP и PACELC теоремы распределенных систем и главное, наконец-то понял зачем (в каких случаях) использовать ту или иную БД.

Если вы хотите расширить свои знания в области высоконагруженных систем и структурировать существующие, то стоит обратить внимание на этот курс: новый поток стартует 7 ноября.
👍18👎10
Kaggle Accelerator

Ещё неделю назад заметил новую фичу на Kaggle, помимо конфигураций P100 (16 гб), TPU v3-8, теперь доступны T4×2 (15 + 15 гб видеопамяти).

P100 они не заменят и будут уступать, но позволят:

1) При должном желании (сложно) запускать 2 эксперимента вместо одного, при этом недельная квота GPU (30-40 часов) общая для T4×2 и P100, а это дополнительные гпу часы.

2) Ускорить инференс/обучение (в некоторых случаях).

3) Тюнить параметры параллельно.

4) Запускать большие модели (до 30 гб).
Кажется что это самый большой плюс.
Да, все ещё неудобно, но лучше чем zero-offload.

Training using 2 T4 with Pytorch DataParallel
Single-Machine Model Parallel Best Practices
👍23
Forwarded from Awesome DL
Title: Probabilistic embeddings

Идея probabilistic embeddings заключается в том, что вместо стандартных эмбеддингов, которые отображают точку в точку, предлагается отображать точку в некоторое распределение. В чем плюсы использовать такого подхода?

- Мы расширяем пространство возможных решений (можно сказать, что детерминированный вектор это вектор нормального распределения, но с нулевой дисперсией).
- Дисперсия может использоваться как мера уверенности, а подсчет расстояний между распределениями более устойчив, так как случайный неуверенный объект попавший в окрестность другого объекта не будет считаться слишком близким.
- Использования вероятностных лоссо делает модель более устойчивой к шуму.

Отдельно хочется выделить эффективность probabilistic embeddings при построений представлений, учитывающих различные модальности. В этом случае одной картинке может сопоставляться несколько текстовых описаний и наоборот. "Трамвай на улице" может иметь несколько различных картиночных представлений.

Links: https://arxiv.org/pdf/2202.06768.pdf | https://arxiv.org/pdf/2101.05068.pdf
Video: https://www.youtube.com/watch?v=J_DaqSLEcVk
Code: https://github.com/naver-ai/pcme
👍314
Интерпретируемость моделей

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

Необходимость интерпретируемости возникает из-за неполноты формализации проблемы, потому что предсказание лишь частично решает исходную проблему.

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

@gradientdip
👍10
Интересно, что интерпретируемость можно разделить на внутреннею и внешнюю. Внутренняя - веса модели, сводная статистика за цикл обучения. Внешняя - анализ объектов на входе и выходе после обучения.

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

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

Но как же нам оценивать саму интерпретацию? Можно выдать группе и оценить изменения (профессионалы или непрофессионалы), либо оценивать на уровне функционала задачи без участия человека (корреляция между численным значением интерпретируемости и других важных параметров).

Интерпретация обладает свойствами:
выразительность, прозрачность (черный ящик), переносимость (специфика метода), вычислительная сложность.

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

@gradientdip

Более подробные разборы конкретных кейсов, алгоритмов и статей по теме можно найти в книге (советую к прочтению):

Molnar, C. (2022). Interpretable Machine Learning
👍233🔥1
🔥 Первая модель для генерации картинок для 100+ языков

Представляю вам модель Кандинский 2.0, над которой мы в Сбере много работали. Весь код и веса модели в опенсурсе!

Принцип её работы - латентная диффузия. Мы взяли мультиязычный CLIP и mt5-small, сделав из них ансамбль.

Вы можете проверить её прямо в браузере без какой-либо регистрации! На ваш выбор: генерация картинок или inpainting.

@gradientdip

статья на хабр
гитхаб
🔥34👍10🎉3😐3🤨2❤‍🔥1🤩1💯1🏆1
Forwarded from Complete AI
Всем привет!

Мой первый пост в канале начинается в самый разгар конференции AIJ🎉

Сегодня 24.11.2022 года - второй день конференции AI Journey, к которой наши команды готовились весь год. У меня будет доклад в секции «Science&Business» в 16.00 (мск).

Расскажу про «Технологии компьютерного зрения в задачах высококачественного синтеза мультимедийного контента». Будут детали про две наших ключевых модели генерации изображений за 2022 год: Kandinsky и Kandinsky 2.0 (кстати, официальный пресс-релиз состоялся вчера - пресс-релиз, Хабр, GitHub, платформа fusionbrain).

Залетайте на прямую трансляцию на сайте AIJ - будет очень интересно!👨‍💻

Буду рад ответить на вопросы по докладу!🎉

P.S. Кстати, на платформе fusionbrain можно поиграть с новым Кандинским в режимах генерации и inpainting/outpainting.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥2🤡2😁1
Kandinsky2.0

Теперь можно попробовать в HF Spaces.
Один запрос - 4 фотки. Бегом пробовать -> тык

@gradientdip
🔥21🌚5🤡2👍1🐳1
10 месяцев

Именно столько мы шли к цифре в 2к подписчиков. Чудесный день, не иначе. Спасибо всем тем кто помогал нам репостами.

Пройдя рубеж в 1к, мы обещали "радовать постами", что же, самое время собрать обратную связь.

Расскажите, что нравится или не нравится в нашем контенте, что стояло бы улучшить.

Вы также можете задавать свои вопросы к нам в комментариях, мы постараемся ответить.
🔥38🎉14👍74🐳1
Forwarded from Я у мамы аналитик (Stas Valuev)
Нашел прикольную штуку для создания дата-пайплайнов прямо из интерфейса JupyterLab - Elyra.

Причем интересно, что собирать их можно не только из готового кода, но еще и из самих ноутбуков, а также каких-то базовых действий над элементами (скачать, сгруппировать, разделить, соединить файлы и тому подобное).
А еще можно пробросить выполнение пайплайна в оркестраторы вроде Airflow или даже (прости, господи) Kubeflow.

Кажется перспективной штукой, буду подробнее изучать.

В статье ниже можно посмотреть как это выглядит в интерфейсе.

🔗Ссылка

#инструменты
👍33🤡10🔥1😁1
Самое полезное что есть у трансформера как у архитектры - устойчивость, оч сложно сделать так чтобы градиенты взорвались или на инференсе он разошёлся, поэтому 8бит обучение и инференс, вполне себе рабочая схема(скоро выйдет 4бит инференс, но его пока карты не поддерживают)

Ноутбук сборник всяких хаков

Автор: @kaggling
🔥25🤔1
Бац и вот теперь я frontend

Сейчас я нахожусь на хакатоне по разработке приложений для вк.

За ночь сделали обучающее приложение на тему ML. Есть тесты и теоретическая информация по основным разделам как классического МО, так и DL.

Потыкать приложение можно -> тут

Баги, отзывы, комментарии под постом

UPD: всем спасибо за переходы
🔥24🤡15👎9👍1🤔1
Forwarded from Complete AI (Andrey Kuznetsov)
🔥 Scalable Diffusion Models with Transformers

Вчера вышла интересная работа от ребят из UC Berkeley и NY University про комбинацию диффузии и трансформеров (Diffusion Transformers или DiT).

Ребята заменяют U-Net на трансформер и работают с патчами в латентном пространстве. DiT-XL/2 превосходит все class-conditional диффузионные модели на ImageNet 512x512 и 256x256 бенчмарках и достигает FID=2.27 для низкого разрешения. Более вычислительно тяжёлые DiT позволяют генерировать сэмплы очень высокого качества.

статья
гитхаб
колаб
👍25🤔6🍌1
Forwarded from Градиент обреченный (Sergei Averkiev)
🔺 TAPE

Подъехал первый бенчмарк для оценки моделей во few-shot на русском языке (!) от SberDevices.

〰️ Что это?

Сейчас большие языковые модели все чаще используют, добавляя в затравку один или несколько примеров (few-shot). TAPE позволяет оценить, насколько хорошо модель работает в таком режиме.

〰️ Устойчивость к шуму

В датасете шесть задач (RuOpenBookQA, RuWorldTree, MultiQ, CheGeKa, Ethics, Winograd) + можно оценить насколько модель устойчива к зашумлению и атакам (опечатки, эмодзи, перестановки слов и т.д.).

👉 Хабр | GitHub | HF
🔥15👍2