ML Underhood
3.39K subscribers
206 photos
27 videos
102 links
Рассказываем, чем живёт ML в Яндексе, и обсуждаем важные новости индустрии.

Вопросы и предложения > @yandex_ml_brand
Download Telegram
От PyTorch к MONAI: опыт команды Yandex Cloud и ШАДа в медицинском AI

Разбираем интересный кейс из области медицины. В проекте по распознаванию редкой патологии spina bifida на УЗИ команда ML-инженеров из Школы анализа данных и Yandex Cloud приняла неожиданное решение. За неделю до релиза они полностью переписали пайплайн на MONAI — библиотеке для медицинского AI от NVIDIA. Дмитрий Сошников, выступивший ментором проектной команды, рассказал, почему стандартных инструментов PyTorch оказалось недостаточно, как MONAI упростила работу и какие модели команда планирует выложить в опенсорс.

Для обучения нейросети инженеры использовали датасет из 6 тысяч обезличенных УЗИ-снимков беременных женщин. Данные собрали и разметили специалисты НМИЦ имени Кулакова. Команда Yandex Cloud и студенты ШАДа построили архитектуру решения, включающую несколько нейросетей для поиска и классификации патологий. С помощью датасета студенты обучили модели и создали веб-интерфейс для врачей. Проект реализовали на платформе Yandex Cloud с использованием инструмента машинного обучения полного цикла Yandex DataSphere.

Выше можно сравнить два снимка (слева — без патологии, справа — с вероятностью патологии 83%) и получить представление о том, как сложно увидеть различия невооружённым глазом.


Изначально проект написали на «голом» PyTorch без специализированных медицинских библиотек. Пайплайн состоял из стандартных этапов:

— предобработки изображений;
— детекции области интереса с помощью нейросети YOLO;
— фильтрации снимков по качеству;
— поиска признаков патологии на хороших изображениях.

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

Переписывание всех частей пайплайна заняло неделю: сначала перенесли загрузку данных, затем — аугментации, потом — обучение и валидацию моделей. Особенно полезной оказалась аугментация для ухудшения качества снимков, которая имитировала реальные особенности УЗИ-аппаратов. Также пригодились готовые функции потерь для борьбы с дисбалансом классов и стандартные медицинские метрики. Кроме того, в MONAI есть встроенные инструменты интерпретации моделей, такие как Grad-CAM, что особенно важно для медицины: сегодня интерпретируемость моделей обязательна по этическим нормам.

Переход дал прирост сразу по нескольким направлениям. В первую очередь, улучшилось качество моделей — за счёт более разнообразных и реалистичных аугментаций. То же ухудшение изображений дало прирост точности на 2–3 процентных пункта. Также сократился объём кода и повысилась его читаемость: любые действия можно отследить через документацию MONAI, а не разбираться в кастомных скриптах.

Команда планирует выложить обученные модели в опенсорс в рамках MONAI Model Zoo — библиотеки предобученных моделей для медицины. Сейчас в разделе нет решений для ультразвука, и команда хочет закрыть этот пробел. Также разработчики готовят пайплайн для сбора новых данных, их разметки и дообучения моделей, чтобы специалисты НМИЦ Кулакова могли сами обновлять решение в будущем. Благодаря этому наработки можно будет использовать и в других медицинских задачах.

В заключение ещё раз напомним, что проект реализовывали выпускники ШАДа. Набор в Школу анализа данных Яндекса открыт до 5 мая. Если хочется своими руками создавать проекты, которые меняют индустрию и мир, — самое время подать заявку.

В подготовке поста участвовали: главный разработчик проекта Владимир Корсунов и руководитель проекта со стороны Yandex Cloud Евгений Попов.

ML Underhood
❤‍🔥22👍15😇6
Вот-вот стартует конференция ICLR 2025, и ML-инженеры из Яндекса, которые будут освещать мероприятие для вас, уже высадились в Сингапуре. Следите за новостями!
🔥305😁2
Крутые постеры с конференции ICLR 2025

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

TempMe: Video Temporal Token Merging for Efficient Text-Video Retrieval

Авторы предлагают хитро дообучить Clip для ускорения поиска по видео. Результаты:

— в 1,5-3 раза снижается количество вычислений для инференса, в зависимости от базового метода;
— качество ранжирования в сером плюсе

Приёмы:

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

LeanVec: Searching vectors faster by making them fit

Авторы предлагают решение для ускорения процедуры поиска. Идея очень понятная и, возможно, много где реализована.

Собираем выборку запрос-документ, вычисляем матрицы A и B, преобразующие данные в меньшую размерность.
2. На этапе построения базы вычисляем Bx — получаем базу документов меньшей размерности и строим ANN (quant).
В процессе поиска делаем Aq, на основе которой из графа ищем ближайшие документы, а после уточняем кандидатов на этапе реранкинга по оригинальным векторам.

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

Странно, что авторы не сравнили своё решение с подходом, использующимся при обучении многих SOTA-эмбеддингов: Matryoshka Representation Learning. В таком случае в модель уже встроены низкие размерности и не нужно ничего дополнительно обучать. По словам авторов, SOTA-библиотека от Intel, в которую они встроились, всё еще имеет всего 150 звезд на Github, так что теоретически идеи хорошие, а вот использовать ли их на практике — об этом стоит 10 раз подумать и самому оценить.

DeLLMa: Decision Making Under Uncertainty with Large Language Models

Авторы учат LLM принимать решения в условиях неопределённости. Они предлагают ввести лист состояний мира, который можно вывести из контекста и к которому, попарно для каждого state-action выводится функция полезности.

Постеры заметили Кирилл Никоров, Алексей Спасёнов, Александр Воронцов

#YaICLR

ML Underhood
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍1🔥1
⚡️Внимание!

Обнаружен лучший постер второго дня ICLR 2025!
28😁8👍4🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
Танцуем в предвкушении, как этот милый робот-пёс

Уже завтра на полях ICLR два постера от команды Yandex Research!

C 10:00 по Сингапурскому времени можно будет ознакомиться со статьёй TabReD (Hall 3 + Hall 2B #348).

С 15:00 — пообщаться с авторами TabM (Hall 3 + Hall 2B #323).

Приходите посмотреть и познакомиться!
6🔥4👍1
Подборка постеров с ICLR 2025

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

Revisiting Nearest Neighbor for Tabular Data: A Deep Tabular Baseline Two Decades Later

Авторы улучшили NCA (непараметрический метод на основе nearest neighbour) простыми нейросетями и обогнали бустинги и TabularDL на многих задачах.

Результаты:
— На наборе задач мульти-классификации их метод оказался лучшим на 20% задач, что на 7 процентных пункта больше, чем с Топ-2 подходом (у TabR 13%)
— Для бинарной классификации и регрессии результаты, скорее, сравнимы с текущими SOTA.
— Применялись на задачах с сотнями (но не тысячами) фичей.

Приёмы:
— Отказ от LBFGS в NCA в пользу SGD для обучения проектора.
— Стохастика и по батчам, и по соседям — сэмплируются случайные группы соседей одного класса/
— Заменили линейную проекцию из NCA на нелинейную. Используют простую нейросеть (2-3 слоя, BN, ReLU)/
— От предсказания жёстких меток класса перешли к вероятностям за счёт softmax, чтобы сгладить задачу оптимизации.

AnoLLM: Large Language Models for Tabular Anomaly Detection

Ищем аномалии в табличных данных.

— Составляем из данных корпус текстов вида «фича Х равна Y, ...».
— Файнтюним.
— Оцениваем вероятность встретить значение фичи при условии значений других фичей, считаем NLL.

Достаточно маленьких моделей (130М — 1,7B).

FreDF: Learning to Forecast in Frequency Domain

Для прогноза временных рядов авторы предлагают дополнительно к предсказанной и GT-последовательностям применять FFT и считать ещё один лосс между ними. Говорят, что получается неплохо.

А на последнем изображении тот самый экстравагантный стенд. Выглядит душевно!

Постеры заметили Кирилл Никоров, Пётр Вытовтов, Константин Бабалян

#YaICLR

ML Underhood
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102🔥1
Что-то кончается, что-то начинается

Так писал Анджей Сапковский. У нас заканчивается конференция ICLR и начинается — череда подробных обзоров по следам мероприятия. А сегодня — несколько вайбовых видео и все материалы, которые мы писали об ICLR 2025:

Постеры, на которые стоит обратить внимание. Часть I.
Постеры, на которые стоит обратить внимание. Часть II.
Лучший постер второго дня с котиками.
Пляшущие роботы и статьи от команды Yandex Research.

Оставайтесь с нами! А ещё больше материалов с ICLR вы найдёте в других наших каналах:

Душный NLP
Speech Info
Рекомендательная
CV Time

#YaICLR

ML Underhood
👍42🔥2
В Яндекс Браузере запустилась новая версия синхронного перевода видео. А мы в канале Speech Info кратко рассказали, как она работает.
Forwarded from Speech Info
Синхронный перевод видео в Яндекс Браузере

Перевод видео в Яндекс Браузере появился ещё в 2021 году. Сегодня компания представляет новую версию этой технологии, способную сохранять тембр и интонации оригинального голоса. А сам перевод стал точнее благодаря YandexGPT. В статье на Хабре вы можете почитать все подробности о том, как устроен инструмент, а здесь расскажем коротко.

В основе технологии синтеза речи лежит модифицированная опенсорс-модель Tortoise-TTS. Сама по себе она выдаёт результаты хорошего качества, почти неотличимые от человеческой речи. Однако есть несколько проблем, которые не позволяют использовать модель в продакшене.

Одна из них связана с качеством zero-shot-синтеза, то есть генерации аудио тем же голосом, что и в аудиопромпте. Результат может быть не похожим на исходник, а при переносе тембра с английского на русский появляется акцент.

Чтобы исправить это, в Яндексе использовали фонемное представление текста и создали общий алфавит для английских и русских фонем. Благодаря этому произношение модели стало более правильным. Для моделирования тембра голоса внедрили биометрические эмбеддинги и контролировали качество речи с помощью метрики UTMOS. А проблему акцента при переводе с английского на русский решили с помощью синтетического датасета, где голос одного и того же человека представлен на двух языках.

Ещё один недостаток Tortoise-TTS — низкая скорость инференса, из-за которой модель и получила своё название. В Яндексе оптимизировали её архитектуру, уменьшили количество итераций в диффузионной модели и применили технику дистилляции знаний. Благодаря этому, генерация ответа происходит в реальном времени.

SBS-тестирование показало, что новый перевод видео в Яндекс Браузере значительно превосходит решение ElevenLabs: 62% побед против 34%. Что касается исключительно озвучивания, то есть превращения текста в речь, то здесь система Яндекса также впереди: 46% против 42%.

Speech Info
🔥12👍5🥰3
Как Алиса видит мир

Недавно Алиса научилась распознавать объекты, показанные через камеру смартфона. В основе этой фичи лежит мультимодальная нейросеть (Visual Language Model, VLM), которая уже используется в Поиске по картинкам, Умной камере и Нейроэксперте. На Хабре вышла большая статья о том, как создавали эту модель, а здесь мы кратко расскажем главное.

VLM основана на семействе YandexGPT 5. Она состоит из LLM и картиночного энкодера. VLM получает на вход изображение и произвольную текстовую инструкцию и предсказывает текст — ответ на пользовательский запрос.

Датасет для претрейна мультимодальной модели состоял из документов, содержащих изображения, текстовых документов, пар «картинка-текст» и OCR-данных. Далее в обучении шла стадия SFT, а за ней — DPO.

VLM адаптировали в Алисы. Её зрение работает в двух режимах: можно загрузить изображение в чат, а можно включить камеру и показывать ассистенту то, что вы видите. Когда Алиса получает изображение и запрос, последний отправляется в рефразер, который адаптирует вопрос для поиска в интернете. Например, если пользователь просто показывает Алисе булгур и спрашивает «Сколько варить?», рефразер превращает вопрос в «сколько варить булгур».

Далее запрос отправляется в интернет. Модель собирает всю нужную информацию и выдаёт пользователю ответ (15 минут, если что).

А более подробно о том, как устроена VLM, а также об экспериментах и трудностях, которые возникали по ходу обучения, читайте на Хабре.

ML Underhood
👍8🥰54
Как LLM помогает быстрее находить товары на складе Маркета

Часто на складских полках рядом оказываются очень похожие товары. Это приводит к тому, что при сборке заказов товары приходится долго искать: сборщик берёт не то, смотрит, кладёт обратно, продолжает искать нужное. На таких «плохих» полках, где лежат визуально похожие товары (например, шторки одного цвета, но разных моделей) шанс вытащить искомое с первого раза не самый большой. В среднем на поиск нужной позиции теряется 4 секунды. А если таких операций полмиллиона в день, масштабы становятся внушительными.

Екатерина Трофимова, менеджер продуктов в команде логистики Маркета, рассказала, как с помощью LLM получилось оптимизировать хранение товаров на складе с учётом их похожести для более быстрого поиска.

До начала эксперимента у команды не было системного признака схожести товаров — их просто складывали, как придётся. Попробовали сформулировать фановую гипотезу: если системно понимать, какие товары похожи, можно оптимизировать процесс.

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

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

Помимо LLM, пробовали использовать другие решения, например расстояние Левенштейна (метрика для измерения различий между двумя строками) — но это не сработало. В нашем случае названия товаров могут сильно различаться по форме, даже если они описывают один и тот же продукт, поэтому расстояние Левенштейна будет большим для схожих товаров. GPT справляется с задачей лучше: вектора для таких товаров близки, даже если названия выглядят совсем по-разному.

В среднем, новый подход даёт выигрыш в 2,5 секунды на поиск товара, что приводит к экономии около 2 миллионов рублей в месяц на масштабе всех фулфилментов Маркета. Точность применения метода мы субъективно оцениваем в 7 из 10 — можно было выиграть ещё 1,5 секунды, за счет более агрессивного значения схожести товаров, но чтобы не ловить упячки в духе «кастрюля схожа с вилкой, не клади их вместе», мы ограничились безопасным значением.

Проект работает в проде с июня 2024 года. Мы внедрили его на бэкенде WMS (системы управления складом), и в течение 30 дней после внедрения увидели, что эффект стабильно сохраняется.

Вся реализация решения от проверки гипотезы до внедрения в прод заняла один человеко-месяц разработки. Это подтверждает гипотезу, что не всегда нужно строить космолет — иногда можно сделать быстро, просто и полезно.

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

ML Underhood
🔥20👍85😁1🤔1
Как LLM помогают анализировать ответы в опросах

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

К счастью, LLM может помочь и здесь. Ведущий исследователь интеграции ИИ и UX в Поиске Яндекса Алексей Шипулин рассказал нашему каналу о созданном им телеграм-боте, который помогает анализировать ответы на открытые вопросы и экономит массу времени.

«Под капотом» у бота сразу несколько моделей. Первая — помощнее — читает все ответы, ищет близкие по смыслу и составляет некоторое количество категорий. Дальше в дело вступает модель послабее, которая тоже знакомится с ответами и распределяет их по созданным ранее категориям. Чтобы процесс был прозрачнее для исследователя, модель комментирует каждый ответ, объясняя, почему он попал в ту или иную группу. Тут важно ещё и то, что LLM знают не только ответы, но и вопросы — это положительно сказывается на категоризации.

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

На финальном этапе ответы распределяются по частотности. Самые редкие алгоритм предлагает не относить в отдельные категории, чтобы не размывать статистику. А делать это или нет — решает исследователь.

Весь процесс, на который человек мог бы убить целый день, занимает не более трёх минут — и на выходе получается наглядный график и таблица с ответами. Всего же с момента запуска в октябре телеграм-бот сэкономил исследователям Яндекса уже 12 лет!

ML Underhood
13👏8🔥5