Вы попали на канал команды ML-бренда Яндекса. Здесь мы рассказываем о работе наших ML’щиков, просим их прокомментировать громкие запуски, обсуждаем актуальные новости индустрии. А ещё — делимся мемами, отвечаем на вопросы и приоткрываем завесу тайны, рассказывая о внутренней ML-кухне. Подписывайтесь и погружайтесь в тему с нами — будет интересно!
❤4
YandexART — как устроена наша модель
YandexART — нейросеть для генерации изображений и анимаций, на которой работает «Шедеврум». Недавно вышла новая версия, над которой в Яндексе проделали большую работу. В этом посте расскажем, как устроена модель.
Текущая архитектура YandexART основана на каскадной диффузии. Созданием конечного изображения занимаются три модели. Сначала GEN64 на 2.3B параметров генерирует картинку по промту в разрешении 64х64. Затем SR256 — на 700M — апскейлит изображение с учётом текста от пользователя. Потом работает SR1024 на 700М — она только увеличивает разрешение.
Датасет изначально состоял из триллиона пар «картинка–текст» — по сути, просто дампа интернета. Этот массив фильтровали в несколько этапов.
— Избавление от непристойных изображений.
— Оценка привлекательности с помощью набора данных
— Simulacra Aesthetic Captions.
— Фильтрация по размеру.
— Фильтрация по качеству.
— Фильтрация по эстетичности с использованием классификаторов, обученных на датасетах AVA, TAD66k.
— Фильтрация по сложности сцен.
— Фильтрация по монотонности фонов.
Далее фильтровали текст. За основу взяли описания на английском языке, вручную разметили случайную выборку из 4,8 тысячи текстов и дообучили на ней языковую модель на 180М.
Получилось 2,3 миллиарда пар «картинка-текст». 66 тысяч из них разметили вручную, вставляя оценку каждой по шакле от 1 до 3. На этом датасете обучили модель Sample Fidelity Classifier, а она собрала итоговый набор из 330 миллиона изображений. Для дообучения использовали 50 тысяч пар высокого качества, отобранных с помощью ML‑моделей и асессоров.
В конечном счёте YandexART выдаёт неплохие результаты. Согласно оценкам асессоров, модель оказалась примерно на уровне MidJourney v5, лучше Stable Diffusion XL в 77% случаев и лучше Kandinsky v3 — в 72%.
На этом всё. Более подробно о том, как устроена YandexART, вы можете почитать на Хабре и arxiv. А в сервисе Foundation Models можно протестировать API. Ну а здесь в комментариях делитесь своими результатами и опытом!
YandexART — нейросеть для генерации изображений и анимаций, на которой работает «Шедеврум». Недавно вышла новая версия, над которой в Яндексе проделали большую работу. В этом посте расскажем, как устроена модель.
Текущая архитектура YandexART основана на каскадной диффузии. Созданием конечного изображения занимаются три модели. Сначала GEN64 на 2.3B параметров генерирует картинку по промту в разрешении 64х64. Затем SR256 — на 700M — апскейлит изображение с учётом текста от пользователя. Потом работает SR1024 на 700М — она только увеличивает разрешение.
Датасет изначально состоял из триллиона пар «картинка–текст» — по сути, просто дампа интернета. Этот массив фильтровали в несколько этапов.
— Избавление от непристойных изображений.
— Оценка привлекательности с помощью набора данных
— Simulacra Aesthetic Captions.
— Фильтрация по размеру.
— Фильтрация по качеству.
— Фильтрация по эстетичности с использованием классификаторов, обученных на датасетах AVA, TAD66k.
— Фильтрация по сложности сцен.
— Фильтрация по монотонности фонов.
Далее фильтровали текст. За основу взяли описания на английском языке, вручную разметили случайную выборку из 4,8 тысячи текстов и дообучили на ней языковую модель на 180М.
Получилось 2,3 миллиарда пар «картинка-текст». 66 тысяч из них разметили вручную, вставляя оценку каждой по шакле от 1 до 3. На этом датасете обучили модель Sample Fidelity Classifier, а она собрала итоговый набор из 330 миллиона изображений. Для дообучения использовали 50 тысяч пар высокого качества, отобранных с помощью ML‑моделей и асессоров.
В конечном счёте YandexART выдаёт неплохие результаты. Согласно оценкам асессоров, модель оказалась примерно на уровне MidJourney v5, лучше Stable Diffusion XL в 77% случаев и лучше Kandinsky v3 — в 72%.
На этом всё. Более подробно о том, как устроена YandexART, вы можете почитать на Хабре и arxiv. А в сервисе Foundation Models можно протестировать API. Ну а здесь в комментариях делитесь своими результатами и опытом!
❤3
Нейро — как он работает
Недавно Яндекс запустил Нейро — сервис для поиска ответов на вопросы, заданные на естественном языке. А в основе всего лежат LLM. Кратко расскажем, как устроен сервис и в чём его особенности.
Предположим, вы хотите приготовить щи — рецепт простой, но тут нужна сноровка. Да ещё неплохо бы понять, из чего вообще варят суп этот суп. Вы открываете браузер, вбиваете в поисковике что-то вроде «рецепт щей» и получаете сотни ссылок на самые разные сайты. Блоги, кулинарные сообщества и порталы — всюду масса вариаций блюда, ведь каждый готовит его по-своему.
А вот, что происходит, если вы обратитесь за помощью к Нейро. Скорее всего, вопрос, который вы ему зададите, будет звучать «Как приготовить щи?». Рефразер переформулирует его в поисковый запрос с помощью LLM и получит 20 наиболее релевантных источников. Из них Нейро выберет 5 самых и на их основе YandexGPT 3 составит подробный ответ на естественном языке. Но дальше становится только интереснее.
Скажем, вы обнаружили, что дома нет капусты. В таком случае Нейро достаточно написать что-то вроде «а без капусты?» — и сервис тут же предложит подходящий вариант. Не нужно заново писать новый вопрос, ведь Нейро хранит контекст диалога с пользователем, что дает возможность задавать уточняющие вопросы. Можно даже попросить показать рецепт щей без воды.
В Нейро работают несколько моделей, обученных на разных датасетах, чтобы давать наиболее четкие и релевантные ответы. Узнать больше о том, как устроен сервис и как его разрабатывали — со всеми техническими подробностями — вы можете из статьи на Хабре. А здесь в комментариях поделитесь своими впечатлениями от Нейро!
ML Underhood
Недавно Яндекс запустил Нейро — сервис для поиска ответов на вопросы, заданные на естественном языке. А в основе всего лежат LLM. Кратко расскажем, как устроен сервис и в чём его особенности.
Предположим, вы хотите приготовить щи — рецепт простой, но тут нужна сноровка. Да ещё неплохо бы понять, из чего вообще варят суп этот суп. Вы открываете браузер, вбиваете в поисковике что-то вроде «рецепт щей» и получаете сотни ссылок на самые разные сайты. Блоги, кулинарные сообщества и порталы — всюду масса вариаций блюда, ведь каждый готовит его по-своему.
А вот, что происходит, если вы обратитесь за помощью к Нейро. Скорее всего, вопрос, который вы ему зададите, будет звучать «Как приготовить щи?». Рефразер переформулирует его в поисковый запрос с помощью LLM и получит 20 наиболее релевантных источников. Из них Нейро выберет 5 самых и на их основе YandexGPT 3 составит подробный ответ на естественном языке. Но дальше становится только интереснее.
Скажем, вы обнаружили, что дома нет капусты. В таком случае Нейро достаточно написать что-то вроде «а без капусты?» — и сервис тут же предложит подходящий вариант. Не нужно заново писать новый вопрос, ведь Нейро хранит контекст диалога с пользователем, что дает возможность задавать уточняющие вопросы. Можно даже попросить показать рецепт щей без воды.
В Нейро работают несколько моделей, обученных на разных датасетах, чтобы давать наиболее четкие и релевантные ответы. Узнать больше о том, как устроен сервис и как его разрабатывали — со всеми техническими подробностями — вы можете из статьи на Хабре. А здесь в комментариях поделитесь своими впечатлениями от Нейро!
ML Underhood
🔥4
Как устроена 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
YandexART 1.3 — наша новая версия нейросети для генерации изображений. По всем проведённым нами замерам она создаёт более качественные картинки и лучше понимает запросы — и всё благодаря переходу на технологию латентной диффузии.
Что «под капотом»
Прежде архитектура YandexART была основана на каскадной диффузии — об этой технологии мы уже рассказывали в другом посте. Если коротко, то суть её заключается в улучшении изображения по мере увеличения разрешения.
Теперь же YandexART работает на латентной диффузии. Вместо того, чтобы шаг за шагом улучшать изображение, нейросеть создаёт его в виде векторного представления, а затем за одно действие генерирует картинку в большом разрешении.
Это позволяет здорово экономить ресурсы. А результаты, как показывают SBS-замеры (Side-by-Side), получаются в 62% случаев лучше, чем у предыдущей версии YandexART.
На чём обучали нейросеть
Новая технология требует нового датасета. Если YandexART 1.2 обучали на 330 миллионах пар картинка-текст, то в версии 1.3 набор данных увеличился до более чем 850 миллионов пар.
При этом к стандартным описаниям в датасете добавились синтетические. Это более подробные тексты, сгенерированные нейросетями. Говоря примерами из предыдущего поста: не просто «наваристые щи», а «наваристые щи с ложечкой сметаны и душистой зеленью».
Вот так и устроена YandexART 1.3. Рассказывайте в комментариях о своих впечатлениях от новой версии нейросети!
ML Underhood
👍4❤3🥰2
Лучшие статьи с конференции 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
Завершилась 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
🔥8👍5🎉1
Вентиляторные шрапнели в суперкомпьютерах
В дата-центрах Яндекса есть собственная система стоек, где на одной плате установлено сразу несколько видеокарт, к которым подключены сервера. На этой технологии работает, например, суперкомпьютер «Галушкин».
Для охлаждения карточек используются вентиляторы на 15 тысяч оборотов в минуту. В течение долгого времени эти вентиляторы работали стабильно и без перебоев. Но спустя два года один из вентиляторов во Владимире буквально разлетелся на куски во время работы.
Мы не придали этому большого значения. Вентиляторов много, они долго служили верой и правдой, поэтому единичный случай нас не насторожил. Но позже вентиляторы начали выходить из строя один за другим — абсолютно случайным образом. Предугадать уничтожение очередного устройства было невозможно.
Разлетаясь, лопасти, как шрапнель, могли «ранить коллег». Получалась цепная реакция: один вентилятор, выйдя из строя, тянет за собой следующий, а тот — своего соседа и так далее. И всё это за какие-то несколько секунд! Порой мы находили обломки лопастей в коридоре, а при работе с полками приходилось надевать очки.
Мы принялись искать причину неисправности. Изучали кабельные стяжки, разбирали вентиляторы, проводили замеры, выдвигали и проверяли самые безумные гипотезы. Мы подключили к поискам и нашу команду RnD.
Выяснилось, что пластик, из которого сделаны вентиляторы, не такой надёжный, как нам казалось. Если на 10 тысячах оборотах в минуту он показывает себя неплохо, то уже на 15 тысячах начинает деградировать, появляются микротрещины.
Единственным решением стала замена вентиляторов. А так как выяснить наверняка, какие устройства подверглись деградации и предугадать разрушение невозможно, менять пришлось все.
Вот такая вот необычная и неожиданная поломка. А с какими неординарными неисправностями сталкивались вы? Расскажите в комментариях!
ML Underhood
В дата-центрах Яндекса есть собственная система стоек, где на одной плате установлено сразу несколько видеокарт, к которым подключены сервера. На этой технологии работает, например, суперкомпьютер «Галушкин».
Для охлаждения карточек используются вентиляторы на 15 тысяч оборотов в минуту. В течение долгого времени эти вентиляторы работали стабильно и без перебоев. Но спустя два года один из вентиляторов во Владимире буквально разлетелся на куски во время работы.
Мы не придали этому большого значения. Вентиляторов много, они долго служили верой и правдой, поэтому единичный случай нас не насторожил. Но позже вентиляторы начали выходить из строя один за другим — абсолютно случайным образом. Предугадать уничтожение очередного устройства было невозможно.
Разлетаясь, лопасти, как шрапнель, могли «ранить коллег». Получалась цепная реакция: один вентилятор, выйдя из строя, тянет за собой следующий, а тот — своего соседа и так далее. И всё это за какие-то несколько секунд! Порой мы находили обломки лопастей в коридоре, а при работе с полками приходилось надевать очки.
Мы принялись искать причину неисправности. Изучали кабельные стяжки, разбирали вентиляторы, проводили замеры, выдвигали и проверяли самые безумные гипотезы. Мы подключили к поискам и нашу команду RnD.
Выяснилось, что пластик, из которого сделаны вентиляторы, не такой надёжный, как нам казалось. Если на 10 тысячах оборотах в минуту он показывает себя неплохо, то уже на 15 тысячах начинает деградировать, появляются микротрещины.
Единственным решением стала замена вентиляторов. А так как выяснить наверняка, какие устройства подверглись деградации и предугадать разрушение невозможно, менять пришлось все.
Вот такая вот необычная и неожиданная поломка. А с какими неординарными неисправностями сталкивались вы? Расскажите в комментариях!
ML Underhood
👍9🔥8❤🔥2😱1
Как мы работали над YaFSDP
Недавно запустилась библиотека YaFDP, которая ускоряет обучение больших языковых моделей. Подробнее о ней можно почитать в статье на Хабре. А сегодня руководитель группы претрейна YandexGPT Михаил Хрущев ответил на несколько наших вопросов о том, как создавалась библиотека.
Когда и как началась работа над YaFSDP?
За 2 недели до Нового года в 2023-м. К концу года стало ясно, что некоторые наши оптимизации не дают ускорения, которого мы ожидали. Я пошёл искать причины такого и нашел праздничную «ёлочку».
Ориентировались ли на существующие решения? Были ли какие-то референсы, может?
Сам алгоритм предложили в статье ZeRO: Memory Optimizations Toward Training Trillion Parameter Models. Его реализация была также представлена в фреймворке DeepSpeed. К сожалению, она не очень масштабировалась и содержала много багов. Другая реализация, FSDP, сильно лучше, но и там есть проблемы с аллокацией памяти и коммуникациями. Поэтому я начал разрабатывать свою реализацию, к которой впоследствии подключились и другие ребята из моей команды.
Какие трудности возникали во время работы?
Было несколько технических трудностей. Вообще, от начала реализации до выкатки в обучение прошло чуть более месяца — разработка была более или менее гладкой. Самым сложным было продумать идею реализации, на это потребовалось больше месяца.
Здесь труднее всего было реализовать кода, который должен исполняться сразу после backward (обратного распространения ошибки) по слою. Я неожиданно столкнулся с тем, что torch (фреймворк глубокого обучения) совсем не приспособлен для такой хитрой логики. Но решение тем не менее нашлось.
На этом на сегодня все. Рассказывайте о своём опыте работы с LLM в комментариях!
ML Underhood
Недавно запустилась библиотека YaFDP, которая ускоряет обучение больших языковых моделей. Подробнее о ней можно почитать в статье на Хабре. А сегодня руководитель группы претрейна YandexGPT Михаил Хрущев ответил на несколько наших вопросов о том, как создавалась библиотека.
Когда и как началась работа над YaFSDP?
За 2 недели до Нового года в 2023-м. К концу года стало ясно, что некоторые наши оптимизации не дают ускорения, которого мы ожидали. Я пошёл искать причины такого и нашел праздничную «ёлочку».
Ориентировались ли на существующие решения? Были ли какие-то референсы, может?
Сам алгоритм предложили в статье ZeRO: Memory Optimizations Toward Training Trillion Parameter Models. Его реализация была также представлена в фреймворке DeepSpeed. К сожалению, она не очень масштабировалась и содержала много багов. Другая реализация, FSDP, сильно лучше, но и там есть проблемы с аллокацией памяти и коммуникациями. Поэтому я начал разрабатывать свою реализацию, к которой впоследствии подключились и другие ребята из моей команды.
Какие трудности возникали во время работы?
Было несколько технических трудностей. Вообще, от начала реализации до выкатки в обучение прошло чуть более месяца — разработка была более или менее гладкой. Самым сложным было продумать идею реализации, на это потребовалось больше месяца.
Здесь труднее всего было реализовать кода, который должен исполняться сразу после backward (обратного распространения ошибки) по слою. Я неожиданно столкнулся с тем, что torch (фреймворк глубокого обучения) совсем не приспособлен для такой хитрой логики. Но решение тем не менее нашлось.
На этом на сегодня все. Рассказывайте о своём опыте работы с LLM в комментариях!
ML Underhood
🔥15👍10❤4🆒1
🇰🇿 Алиса на казахском языке!
Недавно Алиса заговорила на казахском. Это большое событие для нас, поэтому сегодня расскажем, как мы обучали Алису, с какими трудностями столкнулись и как устроен синтез речи у помощника.
Для обучения использовали датасет из записанных актрисой слов и выражений — всего около 25 часов аудио. По сути, то, как Алиса говорит на русском, мы воспроизвели на казахском — то есть архитектура синтеза языка у помощников схожая. Впрочем, есть нюансы, связанные с G2P — автоматической транскрибацией букв в фонемы. Она нужна, чтобы Алиса произносила слова правильно.
Работа с заимствованиями
В казахском, как и в любом другом языке, есть заимствованные слова — в частности, из арабского, фарси, английского, русского и иных языков. Часто такие слова произносятся с использованием звуков, характерных для «исходных» языков. Например, слово «факультет» звучит так же, как в русском, но в фонетической системе казахского языка нет прямых соответствий многим русским звукам. Поэтому мы дополнили фонемный словарь звуками русского языка.
Агглютинация
Важная особенность казахского и некоторых других языков — агглютинация — тип словоизменения с помощью последовательного присоединения к неизменяемым корню или основе грамматически однозначных аффиксов. Классический пример: фраза «от наших писателей» на казахском — «жазушыларымыздан». «Жазушы» здесь — «писатель», «лар» — формант множественного числа, «ымыз» — «наш» и так далее.
Агглютинация распространяется не только на казахские слова, но и на заимствования. Например, «компьютерлеріңізде» значит «на ваших компьютерах». Мы искали в словах интернациональные корни и пытались отделить их от исконно казахских аффиксов, потому что они произносятся по разным правилам. Если заимствованные корни были, то их транскрипция записывалась русскими фонемами, а транскрипция казахских суффиксов — казахскими.
Нормализация
Ещё один этап на пути к голосовому ответу — нормализация текста, что особенно важно для корректного произношения числительных. Алиса должна понимать, что перед ней время или номер дома и произносить цифры правильно в соответствии с контекстом. Чтобы достичь этого, мы брали тексты с числами, записанными словами, переводили их в цифры, и учили трансформер преобразовывать их обратно в слова.
Как текст превращается в речь
Когда предварительные этапы завершены и текст переведён в фонемы, специальная модель превращает его в спектрограмму — визуальное представление звука. Потом в дело вступает ещё одна модель, которая преобразует спектрограмму в wav-файл. Последние два этапа одинаковы для всех языков.
Вот такой получился тернистый лингвистический путь! Делитесь мыслями в комментариях :)
ML Underhood
Недавно Алиса заговорила на казахском. Это большое событие для нас, поэтому сегодня расскажем, как мы обучали Алису, с какими трудностями столкнулись и как устроен синтез речи у помощника.
Для обучения использовали датасет из записанных актрисой слов и выражений — всего около 25 часов аудио. По сути, то, как Алиса говорит на русском, мы воспроизвели на казахском — то есть архитектура синтеза языка у помощников схожая. Впрочем, есть нюансы, связанные с G2P — автоматической транскрибацией букв в фонемы. Она нужна, чтобы Алиса произносила слова правильно.
Работа с заимствованиями
В казахском, как и в любом другом языке, есть заимствованные слова — в частности, из арабского, фарси, английского, русского и иных языков. Часто такие слова произносятся с использованием звуков, характерных для «исходных» языков. Например, слово «факультет» звучит так же, как в русском, но в фонетической системе казахского языка нет прямых соответствий многим русским звукам. Поэтому мы дополнили фонемный словарь звуками русского языка.
Агглютинация
Важная особенность казахского и некоторых других языков — агглютинация — тип словоизменения с помощью последовательного присоединения к неизменяемым корню или основе грамматически однозначных аффиксов. Классический пример: фраза «от наших писателей» на казахском — «жазушыларымыздан». «Жазушы» здесь — «писатель», «лар» — формант множественного числа, «ымыз» — «наш» и так далее.
Агглютинация распространяется не только на казахские слова, но и на заимствования. Например, «компьютерлеріңізде» значит «на ваших компьютерах». Мы искали в словах интернациональные корни и пытались отделить их от исконно казахских аффиксов, потому что они произносятся по разным правилам. Если заимствованные корни были, то их транскрипция записывалась русскими фонемами, а транскрипция казахских суффиксов — казахскими.
Нормализация
Ещё один этап на пути к голосовому ответу — нормализация текста, что особенно важно для корректного произношения числительных. Алиса должна понимать, что перед ней время или номер дома и произносить цифры правильно в соответствии с контекстом. Чтобы достичь этого, мы брали тексты с числами, записанными словами, переводили их в цифры, и учили трансформер преобразовывать их обратно в слова.
Как текст превращается в речь
Когда предварительные этапы завершены и текст переведён в фонемы, специальная модель превращает его в спектрограмму — визуальное представление звука. Потом в дело вступает ещё одна модель, которая преобразует спектрограмму в wav-файл. Последние два этапа одинаковы для всех языков.
Вот такой получился тернистый лингвистический путь! Делитесь мыслями в комментариях :)
ML Underhood
Reddit
From the languagelearning community on Reddit: An example of Turkish language's agglutination (xpost /r/turkey)
Explore this post and more from the languagelearning community
🔥43❤9🥰6👍1👎1🤮1🤡1💯1
Видеоигры из фото и другие крутые доклады с 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
Прямо сейчас проходит международная конференция по машинному обучению 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
👍15🔥8❤5
Впечатления от ICML 2024 и несколько интересных статей
Недавно завершилась ICML 2024. На конференции побывал руководитель R&D в Геосервисах Яндекса Дмитрий Бабаев и специально для нашего канала поделился впечатлениями от события. А заодно — рассказал о нескольких интересных докладах. Итак, слово Дмитрию:
Несколько интересных статей по 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
Недавно завершилась 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
👍11❤9🔥6
Больше впечатлений от ICML 2024 и интересных статей
Завершаем серию постов по следам конференции ICML 2024. На этот раз своими впечатлениями поделился Богдан Воронин из ML в международной рекламе Яндекса. Вот, каким он увидел мероприятие:
Пара интересных статей
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
Завершаем серию постов по следам конференции 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
👍9🔥8❤7
Локальный 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
Одной из задач, с которой столкнулась служба голосового ввода Яндекса, стало создание локальной системы автоматического распознавания речи (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
🔥15❤12💯5👍3✍1
This media is not supported in your browser
VIEW IN TELEGRAM
Технологии машинного обучения на службе метеорологии
У Яндекс Погоды новая технология — OmniCast. Она использует данные с профессиональных метеостанций и любительских метеодатчиков, комбинируя их с нейросетями и алгоритмами для повышения точности. Подробнее об этой технологии вы можете почитать в статье на Хабре, а здесь мы расскажем главное.
Ранее прогнозы основывались на данных ближайших метеостанций, что часто приводило к ошибкам. Особенно это было заметно в крупных городах, где температурные условия в центре и на окраинах сильно различаются. OmniCast решила эту проблему, адаптировав фильтр Калмана для коррекции прогнозов на основе свежих данных, что позволило учесть локальные изменения температуры.
Для обработки огромного объема данных в реальном времени система использует технологию распределённых вычислений MapReduce. Она способна обновлять прогнозы каждые пять минут, обрабатывая более 100 000 новых измерений. Для дальнейшего улучшения прогноза команда OmniCast применила нейросети.
Одной из ключевых задач было устранение резких скачков температуры в прогнозах на несколько часов вперед. Для этого разработчики создали модель, основанную на двунаправленной LSTM (long short-term memory) нейросети, которая анализирует историю измерений и прогнозирует изменения температуры на ближайшие несколько часов. Это позволило значительно повысить точность прогнозов по сравнению с традиционными методами вроде ARIMA.
Все увлекательные подробности — с вычислениями и графиками — вы найдёте на Хабре. А здесь в комментариях рассказывайте, что думаете об OmniCast?
ML Underhood
У Яндекс Погоды новая технология — OmniCast. Она использует данные с профессиональных метеостанций и любительских метеодатчиков, комбинируя их с нейросетями и алгоритмами для повышения точности. Подробнее об этой технологии вы можете почитать в статье на Хабре, а здесь мы расскажем главное.
Ранее прогнозы основывались на данных ближайших метеостанций, что часто приводило к ошибкам. Особенно это было заметно в крупных городах, где температурные условия в центре и на окраинах сильно различаются. OmniCast решила эту проблему, адаптировав фильтр Калмана для коррекции прогнозов на основе свежих данных, что позволило учесть локальные изменения температуры.
Для обработки огромного объема данных в реальном времени система использует технологию распределённых вычислений MapReduce. Она способна обновлять прогнозы каждые пять минут, обрабатывая более 100 000 новых измерений. Для дальнейшего улучшения прогноза команда OmniCast применила нейросети.
Одной из ключевых задач было устранение резких скачков температуры в прогнозах на несколько часов вперед. Для этого разработчики создали модель, основанную на двунаправленной LSTM (long short-term memory) нейросети, которая анализирует историю измерений и прогнозирует изменения температуры на ближайшие несколько часов. Это позволило значительно повысить точность прогнозов по сравнению с традиционными методами вроде ARIMA.
Все увлекательные подробности — с вычислениями и графиками — вы найдёте на Хабре. А здесь в комментариях рассказывайте, что думаете об OmniCast?
ML Underhood
🔥14👍6👏5❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Генерация видео в Шедевруме
Яндекс запустил новую диффузионную end-to-end-модель преобразования текста в видео в приложении Шедеврум. Расскажем, как она работает и чем отличается от прошлого подхода.
Как было раньше и как стало сейчас
Шедеврум и прежде умел создавать видео по текстовому запросу. Для этого использовалась технология Deforum. Она работает по принципу создания видео из отдельных изображений кадр за кадром. Каждый следующий получается из предыдущего с помощью эвристик — они добавляют движение камеры. При таком подходе согласованность кадров недостаточная.
В новом подходе используется end-to-end-text2video-модель. На вход она получает текст, в котором могут быть указаны субъект, объект и описание действия. Модель сама учитывает связь между кадрами, из-за чего получается более согласованный результат.
Этапы генерации видео
Генерация базовых кадров. На этом этапе создаётся видео с низкой частотой кадров и разрешением. Из нормального распределения сэмплируются зашумлённые кадры, которые впоследствии постепенно преобразуются в связное видео.
Интерполяция кадров. После создания базовых кадров модель увеличивает их частоту, делая видео более плавным. Интерполяция проводится с использованием диффузионной модели, которая добавляет новые кадры между уже существующими.
Повышение разрешения. Модель работает в латентном пространстве, поэтому для повышения разрешения сгенерированные латенты подаются в декодер VAE. В него для большей согласованности фреймов добавили motion-блоки.
Обучение
Процесс обучения модели text2video начинается с адаптации уже существующей text2image-модели. Чтобы не обучать её с нуля, что требует большого количества разнообразных данных, разработчики решили дообучить проверенную модель для генерации изображений, добавив в неё временные блоки (motion-блоки) для работы с видео. Чтобы снизить нагрузку на память и ускорить обучение, использовались техники mixed precision и torch.FSDP.
Обучение модели происходило поэтапно: сначала с низким разрешением и малым количеством кадров, а затем с постепенным увеличением этих параметров. Так мы смогли ускорить процесс обучения и валидировать больше гипотез за то же время. Однако в ходе обучения возникали проблемы, связанные с нестабильностью модели, вызванной бесконтрольным ростом значений активации. Это решили простой регуляризацией.
Более подробно об устройстве и модели и её создании — читайте в статье на Хабре. А здесь в комментариях делитесь своими впечатлениями!
ML Underhood
Яндекс запустил новую диффузионную end-to-end-модель преобразования текста в видео в приложении Шедеврум. Расскажем, как она работает и чем отличается от прошлого подхода.
Как было раньше и как стало сейчас
Шедеврум и прежде умел создавать видео по текстовому запросу. Для этого использовалась технология Deforum. Она работает по принципу создания видео из отдельных изображений кадр за кадром. Каждый следующий получается из предыдущего с помощью эвристик — они добавляют движение камеры. При таком подходе согласованность кадров недостаточная.
В новом подходе используется end-to-end-text2video-модель. На вход она получает текст, в котором могут быть указаны субъект, объект и описание действия. Модель сама учитывает связь между кадрами, из-за чего получается более согласованный результат.
Этапы генерации видео
Генерация базовых кадров. На этом этапе создаётся видео с низкой частотой кадров и разрешением. Из нормального распределения сэмплируются зашумлённые кадры, которые впоследствии постепенно преобразуются в связное видео.
Интерполяция кадров. После создания базовых кадров модель увеличивает их частоту, делая видео более плавным. Интерполяция проводится с использованием диффузионной модели, которая добавляет новые кадры между уже существующими.
Повышение разрешения. Модель работает в латентном пространстве, поэтому для повышения разрешения сгенерированные латенты подаются в декодер VAE. В него для большей согласованности фреймов добавили motion-блоки.
Обучение
Процесс обучения модели text2video начинается с адаптации уже существующей text2image-модели. Чтобы не обучать её с нуля, что требует большого количества разнообразных данных, разработчики решили дообучить проверенную модель для генерации изображений, добавив в неё временные блоки (motion-блоки) для работы с видео. Чтобы снизить нагрузку на память и ускорить обучение, использовались техники mixed precision и torch.FSDP.
Обучение модели происходило поэтапно: сначала с низким разрешением и малым количеством кадров, а затем с постепенным увеличением этих параметров. Так мы смогли ускорить процесс обучения и валидировать больше гипотез за то же время. Однако в ходе обучения возникали проблемы, связанные с нестабильностью модели, вызванной бесконтрольным ростом значений активации. Это решили простой регуляризацией.
Более подробно об устройстве и модели и её создании — читайте в статье на Хабре. А здесь в комментариях делитесь своими впечатлениями!
ML Underhood
❤19🔥13👍8
Друзья, если вы ещё не подписаны на наш новый канал о компьютерном зрении — CV Time — сейчас самое время! Там всё самое актуальное и интересное с только что завершившейся конференции ECCV 2024. Один из постов ⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
CV Time
Канал о компьютерном зрении от ml-специалистов Яндекса: разбор актуальных статей, горячие обсуждения и личный опыт из первых рук. Присоединяйтесь!
Вопросы и предложения > @yandex_ml_brand
Вопросы и предложения > @yandex_ml_brand
🔥4❤3👍2
Forwarded from CV Time
Интересное с 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
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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥3👀2
