Вы попали на канал команды 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
