NPU в Яндекс Станции

В Станции Миди, Дуо Макс и ТВ Станции устанавливают нейронные процессоры (NPU). О том, зачем они нужны и с какими трудностями специалисты компании столкнулись при их использовании, нашему каналу рассказал ML-разработчик Александр Ростов.

Вычислительные ресурсы Станции ограничены, а если поставить в такое небольшое устройство слишком мощный процессор, он будет сильно нагреваться. Решение — NPU, который берёт на себя расчёты, связанные с моделями. Это чип, созданный специально для работы с нейросетями и ускорения ML-задач.

Так, до внедрения нейронного процессора разработчикам приходилось делать маленькие модели голосовой активации или споттерные модели — до миллиона параметров. Благодаря NPU в Станции теперь есть модели и на десятки миллионов параметров. Это позволило существенно прибавить в качестве, а также снизить число ложных срабатываний и случаев, когда колонка не реагирует на запрос пользователя.

По сути, NPU выступает в роли верификатора, проверяя, не допустила ли ложного срабатывания модель, работающая на CPU. Кроме того, NPU позволяет уменьшить CPU-модель и тем самым снять часть нагрузки с центрального процессора. Из-за этого вся система стала работать быстрее.

NPU работает со свёрточными нейросетями. Они учатся на GPU, затем конвертируются для применения с помощью библиотеки TensorFlow Lite для работы на NPU. Чип полностью используется споттерными моделями, однако на Станции Дуо Макс он отвечает и за распознавание жестов.

При тренировке NPU-моделей возникла проблема: стандартные датасеты оказались непригодны для обучения хорошей NPU-модели. Это было связано как со спецификой работы верификатора, так и с увеличением размера модели. CPU-модель работает на всём потоке звука, и количество негативных примеров преобладает над активациями. В свою очередь, верификатор работает только на активациях CPU-модели, поэтому видит в основном позитивные примеры.

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

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

ML Underhood
3 113 просмотров · 27 реакций Открыть в Telegram · Открыть пост на сайте
Яркие истории о разработках Яндекса в 2024 году

За минувший год ML’щики Яндекса сделали много интересного, и о многом мы писали в нашем канале. Перед вами небольшая ретроспектива — предлагаем вспомнить разработки и улучшения в продуктах за 2024 год.

Библиотека YaFSDP

Блиц-интервью с руководителем службы претрейна YandexGPT Михаилом Хрущевым. Узнали много интересного о библиотеке YaFSDP, которая ускоряет обучение больших языковых моделей.

Как устроен YandexART, YandexART 1.3 и генерация видео в Шедевруме

Сразу три поста о прекрасном — об искусстве. Первый — о мультимодальной модели для генерации изображений YandexART в целом. Второй — о новой версии нейросети, основанной на латентной диффузии, что позволяет здорово экономить вычислительные ресурсы. Третий пост вышел в сентябре — аккурат под костры рябин. В публикации речь идет об улучшенной генерации видео в Шедевруме. Рассказали, как она устроена и как обучали модель.

Как работает Нейро

Весной Яндекс запустил сервис для поиска ответов на вопросы, заданные на естественном языке — Нейро. Под капотом у него, разумеется, LLM. А как модель себя проявляет — читайте в этом кулинарном посте с сакраментальным вопросом: «А какие же щи без капусты?»

Алиса на казахском языке, локальный ASR в Яндекс Станции и эхоподавление

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

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

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

OmniCast в погоде

OmniCast — новая технология, принятая на вооружение Яндекс Погодой. Она позволяет точно предсказывать осадки и циклоны, используя данные как с профессиональных, так и с любительских метеостанций.

Улучшенный фотоперевод

Осенью мы обновили фотоперевод — теперь понимать зарубежные мемы, распечатанные на бумаге (бывает и такое), совсем просто. Новая модель лучше выделяет семантические блоки, а переведённый текст стал больше похож на оригинальный благодаря алгоритму затирания. О том, что и как ещё изменилось — рассказываем в посте.

ML Underhood
2 940 просмотров · 22 реакций Открыть в Telegram · Открыть пост на сайте
🎄Эхоподавление у Алисы — как оно устроено и как улучшилось за год

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

Всё дело в эхоподавлении (Acoustic Echo Cancellation, AEC). Небольшая модель внутри станции разделяет входящие аудиосигналы на фрагменты, а затем отфильтровывает их с помощью фильтра Калмана. Если во фрагменте есть активационная фраза, то Алиса войдет в режим ожидания команды. Здесь помогает и шумоподавление. Оно нужно, чтобы «отрезать» от активационной фразы посторонние шумы — например, голоса родни или стенания Ипполита из «Иронии судьбы» из телевизора.

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

Во-первых, у Алисы появились быстрые команды. Благодаря им не нужно обращаться к ассистенту по имени, чтобы переключить или выключить песню. Внедрение этой возможности потребовало перебора параметров AEС, ведь нужно было сделать так, чтобы Алиса реагировала не только на своё имя, но и на обособленные команды вроде «тише» или «следующая». Работа над быстрыми командами помогла сделать систему эхоподавления в целом более эффективной.

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

Ещё одно интересное нововведение — бета-датасет. Раньше у Яндекса был доступ только к «лабораторным» данным, записанным в специальной студии. Они не отражали реальную ситуацию полностью, ведь эхо и реверберация звука в лабораториях всегда примерно одни и те же. Новый датасет даёт модели возможность учиться на реальных случаях во всём их многообразии.

Датасет начали разрабатывать ещё в прошлом году, но внедрили в 2024-м. Этот набор собран из данных, полученных от бета-тестеров, у которых Станция логирует всё, что происходит за несколько секунд до фразы активации. Эти секунды отрезаются от записи и складываются с чистыми активациями, записанными в лабораторных условиях. Так получаются синтетические данные, которых легко можно получить очень много.

При этом здесь активационная фраза не так важна, ведь первостепенное значение играет именно эхо. Поэтому для разных записей бета-тестеров можно использовать одну и ту же запись активации из лаборатории. Разница в объёмах датасетов значительная: если лабораторный состоит из примерно 5 тысяч записей, то бета-датасет — из порядка 50 тысяч. На получившемся наборе и перебирали гиперпараметры модели, что дало значительный прирост качества.

Вот так работает эхоподавление в Яндекс Станции. Напоследок, поздравляем вас с наступающим Новым годом! А команда ML Underhood уходит на каникулы, чтобы в январе вернуться с новыми интересными историями из мира машинного обучения.

ML Underhood
2 731 просмотров · 47 реакций Открыть в Telegram · Открыть пост на сайте
Как модель перевода от Яндекса вошла в топ-5 на конкурсе в рамках конференции WMT

В последний год у Яндекса появилась хорошая LLM для перевода. А насколько хорошая мы решили проверить на соревнованиях, которые прошли в рамках девятой Конференции по машинному переводу (WMT). По итогам модель Яндекса заняла пятое место из 14.

Речь идёт о модели, которая сейчас доступна всем в видеопереводе. Почему именно она? Всё дело в условиях соревнований. Для перевода там давали документы с HTML-структурой, поэтому и модели-участники должны были поддерживать её. У части документов была озвучка, которой позволяли воспользоваться — то есть сперва распознать речь, а уже затем перевести её.

Организаторы стремились к тому, чтобы на конкурсные тексты невозможно было заранее обучить модель. Это значит, что использовали весьма редкие документы.

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

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

Вероятно, что модель Яндекса — самая маленькая из тех, кому удалось попасть в топ-5. Остальные конкурсанты представляют собой большие мультилингвальные LLM. Наша же ориентирована на пару языков русский и английский.

Победителя определяли с помощью оценки человеком. Однако для отбора конкурсантов использовали LLM-as-a-Judge-метрику — MetricX от Google.

ML Underhood
2 591 просмотров · 27 реакций Открыть в Telegram · Открыть пост на сайте
Суцкевер на NeurIPS: хайлайты

Доклад Ильи Суцкевера на NeurIPS уже разобрали на цитаты. Больше всего обсуждают идеи о росте агентности, конце претрейна и закона масштабирования. Нам удалось послушать доклад на конференции — делимся моментами, которые показались важными.

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

Конец scaling law
Больше не работает scaling law, который до сих пор точно предсказывал рост качества моделей при увеличении данных и вычислений. Но это не значит, что прогресс остановится: как с законом Мура, новые этапы развития технологий откроют другие способы оптимизации.

Будущее за агентами (умными)
Сейчас модели чаще всего повторяют то, что уже видели на этапе обучения. Агенты же смогут самостоятельно анализировать ситуацию и придумывать новые стратегии. Точного рецепта для создания таких агентов пока нет, но Илья уверен, что это вопрос времени.

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

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

В конце доклада Илья сказал: “All kinds of stuff is possible” — уже распечатали и повесили этот слайд в офисе.

ML Underhood

#YaNeurIPS
2 630 просмотров · 26 реакций Открыть в Telegram · Открыть пост на сайте
Ещё немного атмосферных фото и видео

Команда Яндекса: встреча у стенда со статьёй.
Наша первая статья (PV-Tuning: Beyond Straight-Through Estimation for Extreme LLM Compression).
Аншлаг на докладе Fei-Fei Li (From Seeing to Doing: Ascending the Ladder of Visual Intelligence).
Масштабы и пространства конференции.
Новогодний робот на стенде Booster Robotics.

ML Underhood

#YaNeurIPS
1 743 просмотров · 23 реакций Открыть в Telegram · Открыть пост на сайте
Атмосфера NeurIPS: стенды участников

На конференции представлены стенды как гигантов, так и малоизвестных компаний. Показываем те, которые привлекли наше внимание.

Amazon — основной акцент сделали на демонстрации технологий: посетители могут увидеть и попробовать решения в действии.

Alibaba Cloud — представляют себя как полнофункциональную платформу для инженеров.

Writer — фокус на оптимизации рабочих процессов для корпоративных клиентов.

Lambda — продвигают Private Cloud, представлены физические серверные стойки и оборудование.

Meta AI* — показывают Llama и демо других своих продуктов.

*Meta признана экстремистской организацией, а Facebook и Instagram запрещены на территории РФ

ML Underhood

#YaNeurIPS
1 612 просмотров · 20 реакций Открыть в Telegram · Открыть пост на сайте
Удаление облаков, трекинг антилоп и другие кейсы с NeurIPS

Продолжаем следить за NeurIPS 2024. Сегодня на связи Алексей Друца, Director, Technology Adoption at Yandex Cloud. Делимся его заметками о туториалах и статьях второго дня конференции.

Первым привлёк внимание туториал Evaluating Large Language Models — Principles, Approaches, and Applications о базовых подходах к оценке LLM. Особенно полезно ознакомиться тем, кто сталкивается с острым желанием контрагентов решить все проблемы за счёт получения модели идеального качества. Мы-то с вами знаем, что копать надо ещё и в сторону продуктовых метрик. Подробнее об этом туториале — в канале Душный NLP.

Туториал Opening the Language Model Pipeline: A Tutorial on Data Preparation, Model Training, and Adaptation от ребят из Ai2. Базовый обзор того, как готовится LLM, из каких этапов состоит пайплайн её построения. Подробно описано, как работать с данными для обучения, обрабатывать, вычищать, принимать решения по ним. Разбираются этапы предобучения и постобучения.

А ещё — несколько статей с увлекательными и местами неожиданными кейсами.

To Believe or Not to Believe Your LLM: IterativePrompting for Estimating Epistemic Uncertainty
Авторы предложили метрику для оценки уровня неопределённости LLM и того, насколько ей можно доверять. Метод основан на итеративных промптах без привлечения внешних данных.

AllClear: A Comprehensive Dataset and Benchmark for Cloud Removal in Satellite Imagery
Кейс с датасетом об удалении облаков со спутниковых снимков. Исследователи определяют, что происходит под облаком, за счёт данных в других диапазонах спектра. Потенциально полезная вещь для тех, кто занимается картами. Облака — те что на небе, а не вычислительные.

SPIQA: A dataset for multimodal question answering on scientific papers
Датасет по мультимодальным вопросам и ответам из научных статей. Пример работы со сложными текстами, специфической терминологией и задачей поиска ответа. Особенность датасета — наличие картинок и таблиц (которые часто встречаются в научных статьях), а главное — вопросов и ответов по их содержанию. Прогнав несколько моделей и разных вариаций промтов, делают вывод, что использование полного текста статьи и приемов Chain-of-Thoughts приводит к значительно более высокому перформансу модели на датасете.

BuckTales: A multi-UAV dataset for multi-object tracking and re-identification of wild antelopes
Авторы с помощью дронов и искусственного интеллекта создали набор данных для изучения диких антилоп. Он позволяет отслеживать движения множества животных одновременно и распознавать каждую особь в сложных условиях дикой природы.


Контент с NeurIPS продолжает залетать прямиком в вашу ленту. Будем на связи!

ML Underhood

#YaNeurIPS
1 670 просмотров · 20 реакций Открыть в Telegram · Открыть пост на сайте
Первый день NeurIPS: интересные доклады и немного инсайтов

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

Понравился доклад от Waymo: AI for Autonomous Driving at Scale. Они обзорно рассказали про свой стек: используют трансформеры, пытаются создать собственную Foundation-модель для автономных машин и интегрируют VLM для разметки. Докладчик, правда, больше «лицо» проекта, а за подробностями отсылает к команде.

Интересный туториал Opening the Language Model Pipeline: A Tutorial on Data Preparation, Model Training, and Adaptation — с практическими советами по обучению LLM. Любопытно, что некоторые их выводы сходятся с нашими: например, 10k примеров для SFT (Supervised Fine-Tuning) и 100k для обучения с подкреплением по вознаграждению (Reward) оказались разумными цифрами.

А ещё пообщалась на экспо с исследователями из разных компаний и собрала немного любопытного:

⚪️Ресёрчер из Facebook поделился, что компания всё активнее вкладывается в обучение с подкреплением (RL). Считают, что задача претрейна уже решена, и теперь важно оптимизировать последовательность обучения (RS, DPO, PPO). Используют синтетику, меняя инстракты: например, из диалога о физике «делают» диалог о биологии.

⚪️А вот Google, как оказалось, по-прежнему ориентированы на улучшение результатов через претрейн. Говорят, что их новая модель не уступает на некоторых бенчмарках o1 как раз благодаря качественному предобучению.


Продолжаем следить за NeurIPS, будем делиться самым интересным.

ML Underhood

#YaNeurIPS
1 547 просмотров · 37 реакций Открыть в Telegram · Открыть пост на сайте
NeurIPS 2024 в Ванкувере: первые цифры и впечатления

Вчера стартовала NeurIPS, одна из самых крупных и значимых конференций по машинному обучению. Для затравки — несколько интересных цифр:

16 500 зарегистрированных участников (рекорд для конференции)
4 037 статей основной секции
460 статей по датасетам и бенчмаркам

А вот и впечатления первого дня.

Костя Лахман:
Бесконечная очередь на регистрацию, которая, не останавливаясь, идёт змейкой. Кажется, на самом деле, это лента Мёбиуса, и нас обманывают.


Катя Серажим:
Если говорить про тренды, было уже два доклада с упоминанием специализированных Foundation Models: для автономного транспорта и e-commerce.


Настя Беззубцева:
В Exhibition Area крайне оживлённо. Провела там около двух часов — успела обойти только треть стендов и пообщаться с некоторыми участниками. Например, спросила у HR Tesla, дают ли они имена своим роботам — к сожалению, нет.


В следующих постах продолжим делиться инсайтами и трендами!

ML Underhood

#YaNeurIPS
1 682 просмотров · 33 реакций Открыть в Telegram · Открыть пост на сайте
iCD — метод быстрого редактирования изображений

Мы уже рассказывали о восьми статьях, которые Yandex Research представит на конференции NeurIPS. Сегодня подробнее остановимся на одной из них, посвящённой методу инвертируемой дистилляции (Invertible Consistency Distillation, iCD).

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

iCD призван решить этот недостаток. Суть метода заключается в создании двунаправленных моделей: одна из них кодирует изображения в латентное пространство, другая — декодирует их обратно. Таким образом, можно довольно быстро отредактировать картинку. Скажем, добавить на фотографию какой-нибудь объект или заменить собаку на медведя или енота.

Чтобы улучшить соответствие между текстовым запросом и сгенерированным изображением используют технику Dynamic Classifier-Free Guidance (Dynamic CFG). На начальных этапах преобразования, когда уровень шума высок, CFG не работает, что способствует разнообразию генераций. На поздних этапах CFG работает, обеспечивая более точное соответствие текстовому промпту.

Благодаря всему этому, редактирование изображения с использованием метода iCD занимает всего 7–8 шагов инференса.

ML Underhood
2 091 просмотров · 21 реакций Открыть в Telegram · Открыть пост на сайте
PPO для YandexGPT 4 Lite

Недавно инженеры Яндекса использовали онлайн-обучение с подкреплением для YandexGPT 4 Lite. На файнтюне этой модели использовались как DPO, так и PPO. Павел Темирчев, один из разработчиков команды алаймента Яндекса, рассказал нам, как внедряли эти методы.

Proximal Policy Optimization (PPO) — метод, который предполагает применение размеченных асессорами данных для обучения reward-модели. Это итеративный и весьма трудоёмкий процесс. Сложность, в частности, заключается в том, что модель должна прямо во время обучения генерировать ответы. Кроме того, необходимо хранить в памяти GPU не только обучаемую, но и ряд вспомогательных моделей. Например, value-модель, которая содержит информацию о наградах и используется в алгоритме как бейзлайн.

Важной частью внедрения PPO для обучения YandexGPT 4 Lite стало создание правильной инфраструктуры — от этого зависит примерно 50% успеха. Кроме того, была проведена большая работа с обучающим множеством. Инженеры перебрали разные варианты того, на чём можно обучать модель.

Также было важно не дать модели переобучиться под reward-модель. Для этого существует практика штрафа, который накладывается, если обучаемая модель слишком далеко ушла от SFT. В Яндексе попробовали применить разные варианты штрафов, чтобы выбрать наиболее подходящий.

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

На алайменте YandexGPT 4 Lite проводили сперва онлайн RL — PPO, а затем DPO. Комбинация методов позволила получить хорошие результаты, которые превосходят полученные от каждого метода отдельно.

Делитесь своими мыслями о PPO и DPO в комментариях!

ML Underhood
2 562 просмотров · 23 реакций Открыть в Telegram · Открыть пост на сайте
Что везём на NeurIPS — часть 2

В продолжение предыдущего поста — ещё четыре статьи, которые Yandex Research представит на конференции.

Invertible Consistency Distillation for Text-Guided Image Editing in Around 7 Steps

Авторы стремятся к тому, чтобы научить дистиллированные модели text-to-image-диффузии способности эффективно редактировать реальные изображения. Исследователи представляют инвертируемую дистилляцию (invertible Consistency Distillation, iCD). Она позволяет добиться качественного редактирования всего за 7–8 шагов инференса.

Rethinking Optimal Transport in Offline Reinforcement Learning

Обычно в офлайн-обучении с подкреплением данные предоставляются разными экспертами, и некоторые из них могут быть неоптимальными. Чтобы получить эффективную политику, необходимо «сшить» наилучшие действия из набора данных. Для решения этой задачи авторы переосмыслили офлайн-обучение с подкреплением как задачу оптимального транспорта. На основе этого представили алгоритм, направленный на нахождение политики, которая сопоставляет состояния с частичным распределением наилучших действий экспертов для каждого заданного состояния.

The Iterative Optimal Brain Surgeon: Faster Sparse Recovery by Leveraging Second-Order Information

В статье авторы объединяют два известных подхода получения точных разреженных сетей — Iterative Hard Thresholding (IHT) и Optimal Brain Surgeon (OBS) — в единую сущность Iterative Optimal Surgeon, наследующую сильные стороны обоих подходов с теоретическими гарантиями. Эффективность предложенного алгоритма валидируется на моделях для задач компьютерного зрения и больших языковых моделях.

Lower Bounds and Optimal Algorithms for Non-Smooth Convex Decentralized Optimization over Time-Varying Networks

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

ML Underhood
2 867 просмотров · 23 реакций Открыть в Telegram · Открыть пост на сайте
Что везём на NeurIPS — часть 1

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

SpecExec: Massively Parallel Speculative Decoding for Interactive LLM Inference on Consumer Devices

SpecExec — простой метод параллельного декодирования, оптимизированный для работы с более крупными драфтовыми моделями, что позволяет генерировать до 20 токенов за итерацию целевой модели. Он берёт наиболее вероятные продолжения токенов из черновой модели и создаёт кэш в форме дерева для целевой модели, которое затем проверяется за один проход. Метод особенно полезен для значительного ускорения генерации при использовании больших языковых моделей в режиме офлодинга, где показывает ускорение до 15–20x. Подробнее о SpecExec вы можете почитать в этом посте.

PV-Tuning: Beyond Straight-Through Estimation for Extreme LLM Compression

Статья о сжатии больших языковых моделей, таких как LLaMA 3 и Mistral. Авторы предлагают новый метод — PV-Tuning, который позволяет дообучать уже сжатые (квантованные) веса нейросети, чтобы лучше исправлять ошибки квантизации. Это особенно важно при экстремальном сжатии в 1–2 бита на параметр, когда обычные методы квантования полностью ломают модель. За счёт более эффективного (и теоретически обоснованного) дообучения дискретных квантованных весов PV-Tuning позволяет достичь оптимума по Парето, например, для моделей семейства LLaMA-2 при 2 битах на параметр — то есть, это первое 2-битное сжатие таких моделей, которое имеет смысл на практике. Подробнее о методе читайте в этом посте.

Sequoia: Scalable, Robust, and Hardware-aware Speculative Decoding

Sequoia — алгоритм спекулятивного декодирования, использующий оптимизированные статические асимметричные деревья для спекуляции. Значительно превосходит методы с симметричными деревьями, показывая ускорение в диапазоне 2–4х для Llama-подобных моделей и до 10x с использованием офлодинга.

Challenges of Generating Structurally Diverse Graphs

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

ML Underhood
2 554 просмотров · 25 реакций Открыть в Telegram · Открыть пост на сайте
Хотите знать ещё больше об ML?

Собрали каналы о машинном обучении — хорошие, разные и от инженеров из Яндекса.

🔥 Душный NLP — здесь специалисты из Яндекса разбирают статьи о новых моделях и методах их обучения.

👍 Рекомендательная — канал о рекомендательных системах, где освещают тенденций и обсуждают новости.

👀 CV Time — канал о компьютерном зрении и самых интересных технологиях, связанных с ним.

🖍 ML Underhood — вы находитесь здесь рассказываем о закулисье ML и личном опыте инженеров.

Подписывайтесь, чтобы всегда быть в курсе трендов мира ML!
3 360 просмотров · 27 реакций Открыть в Telegram · Открыть пост на сайте
Улучшенный фотоперевод от Яндекса

Яндекс обновил функцию фотоперевода — новая версия уже доступна в Браузере и Переводчике. Коротко расскажем, как всё устроено с точки зрения ML.

В вебе, а также в приложениях для iOS и Android, в Яндекс Переводчике применяется transformer-based модель перевода, которая получила рост качества в 10%. А в Яндекс Браузере и Умной камере используется модель перевода на основе YandexGPT. По метрике оценки качества её перевод улучшился до 79 баллов из 100. Человек по той же метрике получает 85 баллов.

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

А ещё инженеры из Яндекса реализовали алгоритм затирания оригинального текста, чтобы фон выглядел так же, как и в оригинале. Для реализации затирания использовали алгоритм PatchMatch, а для повышения контраста — APCA (Advanced Perceptual Contrast Algorithm). Также применили Yandex Sans Text Cond с Medium начертанием и добавили контрастную полупрозрачную обводку вокруг букв. В результате чего сильно выросли все метрики по аспектам визуализации (читаемость, подбор фона, размер шрифта).

А что в итоге? Обновлённый фотоперевод обошёл Google Lens в качестве (50% против 39%), читаемости (90/100 против 86/100), соответствии размера текста (91/100 против 79/100) и подбора фона (88/100 против 43/100).

Такой вот новый фотоперевод. Делитесь в комментариях мнением о нём!

ML Underhood
2 751 просмотров · 40 реакций Открыть в Telegram · Открыть пост на сайте
Интересное с ECCV 2024

29 сентября в Милане стартовала конференция ECCV 2024, которая собрала ведущих специалистов в области компьютерного зрения — в том числе, и от Яндекса. Мы не могли обойти такое громкое событие стороной, и будем освещать его с самых разных сторон. Но прежде всего расскажем о самых интересных докладах первого дня мероприятия. К делу!

Synthetic to Authentic: Transferring Realism to 3D Face Renderings for Boosting Face Recognition

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

DPA-Net: Structured 3D Abstraction from Sparse Views via Differentiable Primitive Assembly

Современные text-to-3D и image-to-3D-модели не очень хорошо понимают физику — они рисуют неправильные тени и формы объектов. Исследователи предлагают разные подходы к решению этой проблемы: например, использование диффузии и технологий рендера вроде NeRF или 3D Gaussian Splatting. Автор же представленной работы утверждает, что для понимания физики требуется строить сетку с 3D моделированием (противопоставление rendering и modeling) через примитивы.

Воркшоп Knowledge as Association

Дэвид Бау из Северо-Восточного университета предполагает, что модели содержат в себе две сущности. Первая — Knowledge — отражает знания. Они находятся в весах модели. Вторая — Memory — это то, что модель может вспомнить в процессе генерации при определённых входных данных. Memory содержится в активациях.

Доклады бережно отбирали Дарья Виноградова, Александр Устюжанин и Сергей Кастрюлин.

CV Time

#YaECCV
2 556 просмотров · 15 реакций Открыть в Telegram · Открыть пост на сайте
Друзья, если вы ещё не подписаны на наш новый канал о компьютерном зрении — CV Time — сейчас самое время! Там всё самое актуальное и интересное с только что завершившейся конференции ECCV 2024. Один из постов ⬇️
2 027 просмотров · 9 реакций Открыть в Telegram · Открыть пост на сайте
Генерация видео в Шедевруме

Яндекс запустил новую диффузионную end-to-end-модель преобразования текста в видео в приложении Шедеврум. Расскажем, как она работает и чем отличается от прошлого подхода.

Как было раньше и как стало сейчас

Шедеврум и прежде умел создавать видео по текстовому запросу. Для этого использовалась технология Deforum. Она работает по принципу создания видео из отдельных изображений кадр за кадром. Каждый следующий получается из предыдущего с помощью эвристик — они добавляют движение камеры. При таком подходе согласованность кадров недостаточная.

В новом подходе используется end-to-end-text2video-модель. На вход она получает текст, в котором могут быть указаны субъект, объект и описание действия. Модель сама учитывает связь между кадрами, из-за чего получается более согласованный результат.

Этапы генерации видео

Генерация базовых кадров. На этом этапе создаётся видео с низкой частотой кадров и разрешением. Из нормального распределения сэмплируются зашумлённые кадры, которые впоследствии постепенно преобразуются в связное видео.

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

Повышение разрешения. Модель работает в латентном пространстве, поэтому для повышения разрешения сгенерированные латенты подаются в декодер VAE. В него для большей согласованности фреймов добавили motion-блоки.

Обучение

Процесс обучения модели text2video начинается с адаптации уже существующей text2image-модели. Чтобы не обучать её с нуля, что требует большого количества разнообразных данных, разработчики решили дообучить проверенную модель для генерации изображений, добавив в неё временные блоки (motion-блоки) для работы с видео. Чтобы снизить нагрузку на память и ускорить обучение, использовались техники mixed precision и torch.FSDP.

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

Более подробно об устройстве и модели и её создании — читайте в статье на Хабре. А здесь в комментариях делитесь своими впечатлениями!

ML Underhood
9 656 просмотров · 40 реакций Открыть в Telegram · Открыть пост на сайте
Технологии машинного обучения на службе метеорологии

У Яндекс Погоды новая технология — OmniCast. Она использует данные с профессиональных метеостанций и любительских метеодатчиков, комбинируя их с нейросетями и алгоритмами для повышения точности. Подробнее об этой технологии вы можете почитать в статье на Хабре, а здесь мы расскажем главное.

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

Для обработки огромного объема данных в реальном времени система использует технологию распределённых вычислений MapReduce. Она способна обновлять прогнозы каждые пять минут, обрабатывая более 100 000 новых измерений. Для дальнейшего улучшения прогноза команда OmniCast применила нейросети.

Одной из ключевых задач было устранение резких скачков температуры в прогнозах на несколько часов вперед. Для этого разработчики создали модель, основанную на двунаправленной LSTM (long short-term memory) нейросети, которая анализирует историю измерений и прогнозирует изменения температуры на ближайшие несколько часов. Это позволило значительно повысить точность прогнозов по сравнению с традиционными методами вроде ARIMA.

Все увлекательные подробности — с вычислениями и графиками — вы найдёте на Хабре. А здесь в комментариях рассказывайте, что думаете об OmniCast?

ML Underhood
2 849 просмотров · 26 реакций Открыть в Telegram · Открыть пост на сайте
Локальный ASR в Яндекс Станции

Одной из задач, с которой столкнулась служба голосового ввода Яндекса, стало создание локальной системы автоматического распознавания речи (ASR) для колонки Яндекс Миди. Решение предполагало работу системы непосредственно на устройстве, что позволило бы снизить зависимость от облачных серверов и повысить скорость обработки команд. Расскажем, с какими ограничениями и трудностями столкнулись разработчики.

Ограничения

Одним из ключевых ограничений при разработке локального ASR была необходимость эффективного использования аппаратных ресурсов колонки, таких как оперативная память (RAM) и вычислительные мощности процессора. Максимально допустимое использование памяти было ограничено до 100 Мб, что наложило серьёзные ограничения на объем данных и сложность моделей, которые могли быть использованы.

Кроме того, важным параметром производительности стал RTF (Real Time Factor) — метрика, определяющая, как быстро система обрабатывает поступающие звуковые данные. Для обеспечения плавной работы в реальном времени необходим был RTF меньше единицы: обработка одной секунды звука должна занимать менее одной секунды, чтобы избежать накопления задержек и ошибок.

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

Разработка локального ASR включала в себя внедрение End of Utterance (EOU) для определения момента завершения команды пользователя. Это позволило бы минимизировать задержки и своевременного реагировать на команды, такие как «включи свет». Без точного определения конца команды выполнение действий могло бы задерживаться или запускаться преждевременно.

Архитектура

Для создания ASR была выбрана архитектура RNN-T (Recurrent Neural Network Transducer), которая обеспечивала необходимую стриминговость — возможность обработки входящего звука без пересчета предыдущих данных. Эта архитектура позволила системе обрабатывать новые фрагменты звука, не тратя ресурсы на перерасчет уже обработанных данных, что критично для поддержания низкого RTF и минимальной задержки.

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

Сложности

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

ML Underhood
3 155 просмотров · 36 реакций Открыть в Telegram · Открыть пост на сайте
Больше впечатлений от ICML 2024 и интересных статей

Завершаем серию постов по следам конференции ICML 2024. На этот раз своими впечатлениями поделился Богдан Воронин из ML в международной рекламе Яндекса. Вот, каким он увидел мероприятие:

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

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

Что касается общего впечатления, то, показалось, что было много попыток разобраться или объяснить как работает LLM. Много попыток улучшить на копейку текущие подходы — например, доклады о DoRA и тому подобные. При этом было не так много материалов, полезных для индустрии вне сеток.

А главное, что вынес из события лично я — список статей, которые стоит почитать.


Пара интересных статей

Strategic ML: How to Learn With Data That ‘Behaves’

Как правильно строить ML и систему в случае, когда пользователи могут влиять на неё? Автор рассматривает несколько примеров, но я расскажу про самый очевидный — кредитный скоринг. Пусть модель кредитного скоринга открыта (а какую-то часть точно можно реверс-инженерить). Пользователь очень хочет, чтобы ему одобрили кредит, при этом по-честному не проходит. Как получить желаемое?

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

LCA-on-the-Line: Benchmarking Out of Distribution Generalization with Class Taxonomies

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

ML Underhood
3 311 просмотров · 24 реакций Открыть в Telegram · Открыть пост на сайте
Впечатления от ICML 2024 и несколько интересных статей

Недавно завершилась ICML 2024. На конференции побывал руководитель R&D в Геосервисах Яндекса Дмитрий Бабаев и специально для нашего канала поделился впечатлениями от события. А заодно — рассказал о нескольких интересных докладах. Итак, слово Дмитрию:

Было очень много статей из мира LLM и на связанные темы, например, RLHF. Обучение с подкреплением — всё ещё активно развивающееся направление исследований, и статей было достаточно много.

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

Зато появился новый интересный формат публикаций — position papers. В них исследователи описывают свой взгляд на важную проблему или возможные направления исследований. Думаю, что это полезный формат.


Несколько интересных статей по RL.

Stop Regressing: Training Value Functions via Classification for Scalable Deep RL

Oral-статья от авторов из DeepMind. В ней прекрасно не только название, но и содержание. Авторы развивают идеи из старых статей — например, из Improving Regression Performance with Distributional Losses — о том, что замена MSE-функции потерь на нечто, похожее на классификацию, делает обучение нейросетей более стабильным. Исследователи показывают, что такая замена очень полезна для обучения прогнозу будущих наград во многих задачах в RL-постановке.

Статья не только представляет интерес для исследователей и пользователей RL, но и наводит на мысли о том, где ещё такая модификация задачи регрессии может помочь.

WARM: On the Benefits of Weight Averaged Reward Models

Ещё одна статья от DeepMind. Авторы показывают, что для решения проблемы с хакингом наград в RLHF помогает обучить несколько моделей оценки награды и усреднить их веса. Интересно, что этот метод работает немного лучше, чем ансамбль моделей.

Learning to Model the World with Language

Oral-статья от авторов из Беркли, в том числе от таких известных исследователей как Данияр Хафнер и Питер Аббил. Интересно, что предыдущую версию этой публикации не взяли на ICLR, а на ICML она попала сразу в список oral-статей.

Авторы использовали DreamerV3 и добавили к входным наблюдениям-картинкам ещё и полезный текст. Оказалось, что агент начинает эффективно использовать текст и неявно учится связывать текстовую и картиночную информацию.

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

ML Underhood
6 313 просмотров · 26 реакций Открыть в Telegram · Открыть пост на сайте
Видеоигры из фото и другие крутые доклады с ICML 2024

Прямо сейчас проходит международная конференция по машинному обучению ICML 2024. Александр Шишеня и Сергей Овчаренко из службы компьютерного зрения Яндекса выбрали интересные доклады, которые уже представили на мероприятии.

Туториал Physics of Language Models

Прорывной доклад первых двух дней о построении AGI на LLM. Авторы обнаружили два уровня рассуждения (reasoning) для моделей. На первом LLM могут выучивать графы причинно-следственных связей для сложных задач и делать топологическую сортировку для понимания порядка вычисления в этом графе. А на втором модель заранее просчитывает все промежуточные данные для построения ответа.

Ошибки случаются, но, благодаря linear probe, LLM с вероятностью 99% сама предсказывает, где промахнется. Исправить, правда, не сможет, поэтому рекомендуется добавлять в обучающую выборку CoT-примеры с ошибками и их исправлением.

Genie: Generative Interactive Environments

Доклад от DeepMind, сотрудники которого обучили две модели на датасете из видеоигр — в основном, 2D-платформерах. Одна модель кодирует возможные действия игрока в латентное дискретное пространство, а другая — предсказывает следующие фреймы по предыдущим. В итоге Genie способна генерировать видеоигровые уровни из текстовых промтов, рисунков и фотографий. Статья получила награду Best Paper Award.

Video-LaVIT: Unified Video-Language Pre-training with Decoupled Visual-Motional Tokenization

Доклад об авторегрессионной модели, способной предсказывать текстовые токены и видео. Она обучена на next-token prediction с диффузионной моделью для генерации кадров в пиксельном пространстве и motion-векторы. С помощью DDIM-инверсии получают «шумную» версию последнего кадра и сопоставляют ее с предыдущими. Получившаяся модель умеет генерировать весьма долгие видео по промту или первому кадру.

ML Underhood
11 023 просмотров · 28 реакций Открыть в Telegram · Открыть пост на сайте
🇰🇿 Алиса на казахском языке!

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

Для обучения использовали датасет из записанных актрисой слов и выражений — всего около 25 часов аудио. По сути, то, как Алиса говорит на русском, мы воспроизвели на казахском — то есть архитектура синтеза языка у помощников схожая. Впрочем, есть нюансы, связанные с G2P — автоматической транскрибацией букв в фонемы. Она нужна, чтобы Алиса произносила слова правильно.

Работа с заимствованиями

В казахском, как и в любом другом языке, есть заимствованные слова — в частности, из арабского, фарси, английского, русского и иных языков. Часто такие слова произносятся с использованием звуков, характерных для «исходных» языков. Например, слово «факультет» звучит так же, как в русском, но в фонетической системе казахского языка нет прямых соответствий многим русским звукам. Поэтому мы дополнили фонемный словарь звуками русского языка.

Агглютинация

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

Агглютинация распространяется не только на казахские слова, но и на заимствования. Например, «компьютерлеріңізде» значит «на ваших компьютерах». Мы искали в словах интернациональные корни и пытались отделить их от исконно казахских аффиксов, потому что они произносятся по разным правилам. Если заимствованные корни были, то их транскрипция записывалась русскими фонемами, а транскрипция казахских суффиксов — казахскими.

Нормализация

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

Как текст превращается в речь

Когда предварительные этапы завершены и текст переведён в фонемы, специальная модель превращает его в спектрограмму — визуальное представление звука. Потом в дело вступает ещё одна модель, которая преобразует спектрограмму в wav-файл. Последние два этапа одинаковы для всех языков.

Вот такой получился тернистый лингвистический путь! Делитесь мыслями в комментариях :)

ML Underhood
8 276 просмотров · 63 реакций Открыть в Telegram · Открыть пост на сайте
Как мы работали над YaFSDP

Недавно запустилась библиотека YaFDP, которая ускоряет обучение больших языковых моделей. Подробнее о ней можно почитать в статье на Хабре. А сегодня руководитель группы претрейна YandexGPT Михаил Хрущев ответил на несколько наших вопросов о том, как создавалась библиотека.

Когда и как началась работа над YaFSDP?

За 2 недели до Нового года в 2023-м. К концу года стало ясно, что некоторые наши оптимизации не дают ускорения, которого мы ожидали. Я пошёл искать причины такого и нашел праздничную «ёлочку».

Ориентировались ли на существующие решения? Были ли какие-то референсы, может?

Сам алгоритм предложили в статье ZeRO: Memory Optimizations Toward Training Trillion Parameter Models. Его реализация была также представлена в фреймворке DeepSpeed. К сожалению, она не очень масштабировалась и содержала много багов. Другая реализация, FSDP, сильно лучше, но и там есть проблемы с аллокацией памяти и коммуникациями. Поэтому я начал разрабатывать свою реализацию, к которой впоследствии подключились и другие ребята из моей команды.

Какие трудности возникали во время работы?

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

Здесь труднее всего было реализовать кода, который должен исполняться сразу после backward (обратного распространения ошибки) по слою. Я неожиданно столкнулся с тем, что torch (фреймворк глубокого обучения) совсем не приспособлен для такой хитрой логики. Но решение тем не менее нашлось.

На этом на сегодня все. Рассказывайте о своём опыте работы с LLM в комментариях!

ML Underhood
5 896 просмотров · 30 реакций Открыть в Telegram · Открыть пост на сайте
Вентиляторные шрапнели в суперкомпьютерах

В дата-центрах Яндекса есть собственная система стоек, где на одной плате установлено сразу несколько видеокарт, к которым подключены сервера. На этой технологии работает, например, суперкомпьютер «Галушкин».

Для охлаждения карточек используются вентиляторы на 15 тысяч оборотов в минуту. В течение долгого времени эти вентиляторы работали стабильно и без перебоев. Но спустя два года один из вентиляторов во Владимире буквально разлетелся на куски во время работы.

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

Разлетаясь, лопасти, как шрапнель, могли «ранить коллег». Получалась цепная реакция: один вентилятор, выйдя из строя, тянет за собой следующий, а тот — своего соседа и так далее. И всё это за какие-то несколько секунд! Порой мы находили обломки лопастей в коридоре, а при работе с полками приходилось надевать очки.

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

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

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

Вот такая вот необычная и неожиданная поломка. А с какими неординарными неисправностями сталкивались вы? Расскажите в комментариях!

ML Underhood
13 799 просмотров · 20 реакций Открыть в Telegram · Открыть пост на сайте
Лучшие статьи с конференции ICLR 2024

Завершилась ICLR 2024, на которой представили немало интересных статей. Мы выбрали самые любопытные и полезные из них и составили вот такой список (не ранжированный).

Making LLaMA SEE and Draw with SEED Tokenizer и Emu: Generative Pretraining in Multimodality

Вместо привычного vlm-пайплайна «изображение+текст —> текст», авторы обеих статей предлагают пайплайн «изображение+текст —> изображение+текст». Это интуитивное решение, которое даёт хороший результат. В идеале модель умеет всё то же, что и LLM, но способна также принимать и генерировать картинки.

Is ImageNet worth 1 video? Learning strong image encoders from 1 long unlabelled video

Обычно мы обучаем «картиночные» модели на большом количестве изображений, но иногда об объекте нельзя (или сложно) многое сказать по фото. Зато можно по видео! В статье рассматривают self-supervised претрейн на видео и показывают, что претрейн на одном полуторачасовом видео даёт картиночные эмбеддинги, сравнимые по качеству с обучением на всем ImageNet. Это очень интересно — особенно с учётом того, как много видео-контента уже существует и создается каждый день. Люди воспринимают все вокруг как видеопоток, а не отдельные кадры — и идея пробовать такое обучение кажется очень логичной.

A Newborn Embodied Turing Test for Comparing Object Segmentation Across Animals and Machines

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

Making Pre-trained Language Models Great on Tabular Prediction

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

Leveraging Uncertainty Estimates To Improve Classifier Performance

Статья об использовании оценки неопределённости для более точного предсказания в задачах несбалансированной бинарной классификации. Оценку неопеределённости получают с помощью model-agnostic фреймворка Posterior Networks, но и MC Dropout работает лишь немногим хуже.

Adaptive Retrieval and Scalable Indexing for k-NN Search with Cross-Encoders

Текст о проблеме нахождения топа объекта по релевантности для сценариев, когда функция релевантности задана сложно устроенной функцией (например, глубокой нейросетью). Подход авторов позволяет существенно ускорить нахождение топа без радикальной просадки в качестве по сравнению с brute force-решениями.

А какие статьи понравились вам? Рассказывайте в комментариях!

ML Underhood
1 984 просмотров · 14 реакций Открыть в Telegram · Открыть пост на сайте
Как устроена YandexART 1.3

YandexART 1.3 — наша новая версия нейросети для генерации изображений. По всем проведённым нами замерам она создаёт более качественные картинки и лучше понимает запросы — и всё благодаря переходу на технологию латентной диффузии.

Что «под капотом»

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

Теперь же YandexART работает на латентной диффузии. Вместо того, чтобы шаг за шагом улучшать изображение, нейросеть создаёт его в виде векторного представления, а затем за одно действие генерирует картинку в большом разрешении.

Это позволяет здорово экономить ресурсы. А результаты, как показывают SBS-замеры (Side-by-Side), получаются в 62% случаев лучше, чем у предыдущей версии YandexART.

На чём обучали нейросеть

Новая технология требует нового датасета. Если YandexART 1.2 обучали на 330 миллионах пар картинка-текст, то в версии 1.3 набор данных увеличился до более чем 850 миллионов пар.

При этом к стандартным описаниям в датасете добавились синтетические. Это более подробные тексты, сгенерированные нейросетями. Говоря примерами из предыдущего поста: не просто «наваристые щи», а «наваристые щи с ложечкой сметаны и душистой зеленью».

Вот так и устроена YandexART 1.3. Рассказывайте в комментариях о своих впечатлениях от новой версии нейросети!

ML Underhood
1 672 просмотров · 9 реакций Открыть в Telegram · Открыть пост на сайте
Нейро — как он работает

Недавно Яндекс запустил Нейро — сервис для поиска ответов на вопросы, заданные на естественном языке. А в основе всего лежат LLM. Кратко расскажем, как устроен сервис и в чём его особенности.

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

А вот, что происходит, если вы обратитесь за помощью к Нейро. Скорее всего, вопрос, который вы ему зададите, будет звучать «Как приготовить щи?». Рефразер переформулирует его в поисковый запрос с помощью LLM и получит 20 наиболее релевантных источников. Из них Нейро выберет 5 самых и на их основе YandexGPT 3 составит подробный ответ на естественном языке. Но дальше становится только интереснее.

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

В Нейро работают несколько моделей, обученных на разных датасетах, чтобы давать наиболее четкие и релевантные ответы. Узнать больше о том, как устроен сервис и как его разрабатывали — со всеми техническими подробностями — вы можете из статьи на Хабре. А здесь в комментариях поделитесь своими впечатлениями от Нейро!

ML Underhood
1 278 просмотров · 4 реакций Открыть в Telegram · Открыть пост на сайте