Как стать автором
Поиск
Написать публикацию
Обновить
134.8
SberDevices
Создаём умные устройства
Сначала показывать

Как подключить рекламную монетизацию к приложениям для виртуальных ассистентов Салют

Время на прочтение6 мин
Количество просмотров1.1K

Для виртуальных ассистентов Салют можно создавать приложения с красивым интерфейсом и возможностью управлять ими разными способами: голосом, текстовыми сообщениями, касанием, жестами и пультом. Такие приложения называются Canvas App, они доступны пользователям на умных устройствах Sber и в мобильных приложениях Сбербанк Онлайн и Салют. Один из самых простых способов монетизации ваших Canvas App — реклама. Доступны два её вида:

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

Fullscreen-баннеры — формат полноэкранной рекламы. Её можно демонстрировать между уровнями, экранами и логическими блоками смартапа. 

Наша команда подготовила SDK для подключения и управления показом рекламы в ваших навыках. Давайте пройдём все шаги её подключения.

Читать далее

Умная медиаколонка с часами: почему басы не сбивают ход стрелок, а тиканье не мешает микрофонам

Время на прочтение15 мин
Количество просмотров37K


Недавно мы выпустили SberBox Time — умную медиаколонку (и по совместительству приставку для телевизора) с аналоговыми часами. Совмещение таких разных устройств в одном корпусе вывело задачу на новый уровень инженерной сложности. Как сделать отдельно колонку или отдельно часы — понятно. А вот как избежать влияния низких частот на чувствительный часовой механизм? Или как сделать так, чтобы farfield-микрофонам не мешало тиканье? Это уже вызовы, которые требуют особого подхода и исследования.

Или вот вам задача: как организовать настройку времени на аналоговом часовом механизме?

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

В посте я расскажу про разработку SberBox Time от идеи до серийного производства: про сложности, тупиковые прототипы и инсайты в процессе R&D.
Читать дальше →

Разбираемся с библиотекой лексического анализа ANTLR4

Время на прочтение9 мин
Количество просмотров23K

У нас в SberDevices разрабатывается платформа по управлению рекомендациями, которая взаимодействует с разными ML-движками. Со временем их станет много, и, когда пользователь умных устройств Sber будет запрашивать контент – искать фильмы, музыку, спрашивать о чём-то виртуальных ассистентов Салют, – запрос будет проходить через нашу платформу.

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

В SQL-запросе пользователь шлёт условие, по которому из существующих строк таблицы выбираются подходящие. В нашей задаче получается наоборот: входящему сообщению нужно сопоставить все условия, которые у нас есть, и вернуть те, которые прошли проверку. Правила маршрутизации – это настройки и их должны создавать не только программисты, но и менеджеры контента или дейта-сайентисты. С такими задачами справляются такие фреймворки, как, например Drools, но мы решили написать своё легковесное решение с упрощенным DSL, условия на котором может понять не только разработчик. 

Для обработки правил, написанных на кастомном DSL, лучшая библиотека – ANTLR4. Я находил много статей, в которых описываются разные аспекты работы с ANTLR4, но ни в одной из них я не увидел, то, что изучил на пути создания production-ready кода. Поэтому, разобравшись, я решил собрать туториал. Ниже опишу пример парсинга SQL SELECT-запроса в объектную модель Java. Будем двигаться постепенно, в этот раз рассмотрим простейший случай. На нём мы разберём саму идею этого парсера, сделаем минимальную реализацию.

Читать далее

Управляем генерацией ruGPT-3: библиотека ruPrompts

Время на прочтение7 мин
Количество просмотров13K

Наше семейство моделей ruGPT-3 уже нашло множество применений у сообщества: кто-то генерирует гороскопы, кто-то — факты о лягушках, статьи нейроуголовного кодекса, нейроновости и прочее. Модели накопили в себе массу знаний о нашем мире и способны подстроиться практически под любую задачу. Тем не менее, в данный момент подобная подгонка (fine-tuning) часто требует значительных вычислительных затрат, что не всегда позволяет использовать достаточно большие модели. В этом посте мы предлагаем сообществу новый инструмент для того, чтобы дообучать ruGPT-3 под свои нужды и делиться своими результатами с другими.

Читать далее

Уникальный авторский стиль – теперь в эмодзи: как мы обучили модель Emojich, позволяющую генерировать эмодзи по описанию

Время на прочтение9 мин
Количество просмотров4.6K

Есть сайт, на котором можно найти печальную и прекрасную галерею эмодзи, отвергнутых Подкомитетом Консорциума Юникода, – порой досада берёт при мысли о том, что мы потеряли: иконку яичницы, которая жарится на панцире черепахи (возможно, это месть той самой черепахе, которая убила Эсхила); изображение женщины и мужчины, «живущих за тысячи миль друг от друга, но при этом видящих один и тот же сон» (видимо, предложение от поклонника аниме «Твоё имя»); изображение гуся, «экспериментирующего с чёрной магией» (гусь, невозмутимо стоящий рядом с пентаграммой, по углам которой горят свечи) или «человека, объясняющего понятие “блогингa” лошади» (есть ещё альтернативный вариант c объяснением хэштегов). Но долой несбывшиеся надежды: к чему ждать, пока группа незнакомых людей отклонит личные, забавные, странные эмодзи, если можно уже сейчас использовать их в своё удовольствие в мессенджерах вроде «Телеграма»? А создать их поможет, конечно, ruDALL-E.

Читать далее

SymFormer: как мы написали музыку с помощью трансформеров и вариационных автоэнкодеров

Время на прочтение9 мин
Количество просмотров4.8K

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

В этой статье я расскажу, как наша команда Управления экспериментальных систем машинного обучения SberDevices попыталась формализовать сочинение музыки и научить ему нейронную сеть. Запускайте наш первый генеративный альбом «Thriving Machine» и устраивайтесь поудобнее.

Читать далее

Генеративные диалоговые модели: как мы разговорили виртуальных ассистентов Салют

Время на прочтение9 мин
Количество просмотров6.6K

Порой люди обращаются к искусственному интеллекту не для того, чтобы заказать еду, найти подходящий фильм или решить какую-то ещё свою задачу, а для того, чтобы просто поболтать. Например, потому что грустно, а рядом нет тех, с кем было бы удобно про это поговорить. И пусть виртуальные помощники пока не заменяют настоящих друзей или близких людей (они и не должны), но всё же они могут поднять настроение, помочь снизить уровень напряжения. Чтобы такое общение было живым и действительно интересным, мы разработали и применяем мощные разговорные модели на русском языке для виртуальных ассистентов Салют в режиме «Собеседник». Так, за Сбера с пользователем общается SBERT (retrieval-модель), за Джой — ruGPT-3 (генеративная модель), а за Афину — обе сразу. Поговорим сегодня о генеративной части.

Передаю слово моему коллеге, руководителю RnD NLP SberDevices Валерию Терновскому.

Читать далее

ruDALL-E: генерируем изображения по текстовому описанию, или Самый большой вычислительный проект в России

Время на прочтение10 мин
Количество просмотров172K

2021 год в машинном обучении ознаменовался мультимодальностью — активно развиваются нейросети, работающие одновременно с изображениями, текстами, речью, музыкой. Правит балом, как обычно, OpenAI, но, несмотря на слово «open» в своём названии, не спешит выкладывать модели в открытый доступ. В начале года компания представила нейросеть DALL-E, генерирующую любые изображения размером 256×256 пикселей по текстовому описанию. В качестве опорного материала для сообщества были доступны статья на arxiv и примеры в блоге

С момента выхода DALL-E к проблеме активно подключились китайские исследователи: открытый код нейросети CogView позволяет решить ту же проблему — получать изображения из текстов. Но что в России? Разобрать, понять, обучить — уже, можно сказать, наш инженерный девиз. Мы нырнули с головой в новый проект и сегодня рассказываем, как создали с нуля полный пайплайн для генерации изображений по описаниям на русском языке.

В проекте активно участвовали команды SberAI, SberDevices, Самарского университета, AIRI и SberCloud.

Мы обучили две версии модели разного размера и дали им имена великих российских абстракционистов – Василия Кандинского и Казимира Малевича:

1. ruDALL-E Kandinsky (XXL) с 12 миллиардами параметров;

2. ruDALL-E Malevich (XL), содержащая 1,3 миллиарда параметров.

Некоторые версии наших моделей доступны в open source уже сейчас:

1. ruDALL-E Malevich (XL) [GitHub, HuggingFace]

2. Sber VQ-GAN [GitHub, HuggingFace]

3. ruCLIP Small [GitHub, HuggingFace]

4. Super Resolution (Real ESRGAN) [GitHub, HuggingFace]

Две последние модели встроены в пайплайн генерации изображений по тексту (об этом расскажем ниже).

Версии моделей ruDALL-E Malevich (XL), ruDALL-E Kandinsky (XXL), ruCLIP Small, ruCLIP Large, Super Resolution (Real ESRGAN) также скоро будут доступны в DataHub.

Обучение нейросети ruDALL-E на кластере Christofari стало самой большой вычислительной задачей в России: 

1. Модель ruDALL-E Kandinsky (XXL) обучалась 37 дней на 512 GPU TESLA V100, а затем ещё 11 дней на 128 GPU TESLA V100 — всего 20 352 GPU-дней;

2. Модель ruDALL-E Malevich (XL) обучалась 8 дней на 128 GPU TESLA V100, а затем еще 15 дней на 192  GPU TESLA V100 – всего 3 904 GPU-дня.

Таким образом, суммарно обучение обеих моделей заняло 24 256 GPU-дней.

Разберём возможности наших генеративных моделей.

Читать далее

Как увидеть в фильме больше, чем способен человеческий глаз?

Время на прочтение12 мин
Количество просмотров8.3K

Обращали ли вы когда-нибудь внимание на то, сколько всего в кадре упускает наш мозг при просмотре фильма? Каждый раз, когда вы пересматриваете своё любимое кино, вы замечаете что-то новое.

Возьмём для примера великое – “Назад в будущее”. Главное, что захватывает в фильме, это, конечно, сюжет. Но во сколько лет на какой просмотр вы узнали, что в конце фильма магазин "Две сосны" поменял своё название на "Одинокая сосна"? Это происходит потому, что Марти сбивает дерево на ферме Пибоди, влетев в прошлое на DeLorean DMC-12. В первый раз это тяжеловато увидеть, но это важная деталь сюжета.

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

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

Но не беспокойтесь. В 2021 это больше не проблема, ведь теперь есть платформа компьютерного зрения Layer, которая смотрит кино вместе с вами. От неё никаким деталям не спрятаться и не скрыться. Давайте заглянем “под капот”?

Давайте!

Оплата не отходя от девайса: как мы реализовали персонализацию в устройствах Sber с помощью распознавания голоса и лица

Время на прочтение7 мин
Количество просмотров3K

Сегодня на рынке изобилие умных домашних устройств. Часто они становятся своего рода центром дома – инструментом, к которому обращаются домочадцы с разными задачами: узнать погоду, найти фильм, заказать еду или такси. Некоторые сценарии платные, и проводить оплату хочется, с одной стороны, быстро и удобно, без лишних телодвижений – чтобы не нужно было брать в руки телефон, заходить в онлайн-банк, вводить реквизиты или коды из пуш-уведомлений. А с другой стороны, хочется безопасности и защищённости, чтобы ребенок, например, не заказал ящик мороженого без ведома взрослых. Мы в SberDevices занялись вопросом персонализированных оплат на наших умных устройствах и придумали, как это сделать с помощью распознавания лица и голоса пользователя. В области лицевой биометрии нашим технологическим партнёром стала команда VisionLabs.

Читать далее

Светодиодная матрица: управляем домашним уютом с помощью голоса

Время на прочтение10 мин
Количество просмотров14K

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

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

Поехали!

Когда используется Power Delivery, и что происходит при установлении соединения между блоком питания и устройством

Время на прочтение6 мин
Количество просмотров42K

В прошлый раз я рассказывал про минимальный набор компонентов, который может быть включён в устройство для поддержки базовых функций USB-C. Но бывают ситуации, когда этих базовых возможностей недостаточно – например, нужно использовать несколько профилей напряжения, чтобы блок питания от одного устройства подходил к другому. Или же есть необходимость подстроить сами профили. Или просто нужна бОльшая мощность питания (в случае с USB-C доступный максимум – 15 Вт). Во всех этих ситуациях на помощь придёт стандарт Power Delivery. Он, например, используется в линейке зарядных устройств Apple – профили с бОльшим напряжением доставляют бОльшую мощность к устройству и позволяют его быстро заряжать. В нашем смарт-экране SberPortal есть узлы, которые требуют значительной мощности питания – прежде всего это высокопроизводительная система на кристалле (SoС) и акустика. Один только звук требует около 30 Вт. Поэтому при разработке устройства пришлось усложнить систему питания и реализовать Power Delivery. Об этом стандарте и пойдёт ниже речь.

Также разберёмся в его особенностях и посмотрим, как со временем изменился способ передачи данных в стандарте. А ещё я расскажу и покажу с помощью анализатора протокола, что происходит при установлении подключения в устройствах, на примере ноутбука с Power Delivery. Затем посмотрим, как мы реализовали PD в нашем смарт-экране SberPortal.

Читать далее

Как устроена аппаратная часть SberBox Top: разбираем девайс

Время на прочтение5 мин
Количество просмотров16K

За последние два года команда SberDevices запустила серийное производство нескольких устройств: ТВ-приставки SberBox, смарт-экрана SberPortal, ТВ-медиацентра с умной камерой SberBox Top. Последний значительно расширил функциональность такого типа устройств за счёт камеры, микрофонной матрицы и акустики, а также виртуальных ассистентов на борту. С помощь SberBox Top можно смотреть фильмы и ТВ-каналы, видео в интернете, слушать музыку, заказывать доставку продуктов, управлять умным домом. АI-камера позволяет играть в игры с распознаванием жестов, устраивать AR-спектакли с детьми, проводить видеовстречи на большом экране, заниматься фитнесом. Устройство объединяет в себе возможности смарт-экрана и умной колонки. Взаимодействовать с ним можно с помощью голоса, жестов и пульта. Чтобы использовать девайс, нужно только подключить его к телевизору или монитору – любому устройству отображения с HDMI. (Многие функции при этом доступны и без использования экрана.) И, конечно, нужен интернет. 

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

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

Поехали!

Как улучшить распознавание русской речи до 3% WER с помощью открытых данных

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.1K

Меня зовут Николай, когда в 2009 году я защищал диссертацию по распознаванию речи, скептики мне говорили, что слишком поздно, так как Microsoft и Google уже “всё сделали”. Сейчас в SberDevices я обучаю модели распознавания речи, которые используются в семействе виртуальных ассистентов Салют и других банковских сервисах. Я расскажу, как обучил модель распознавания речи, используя Common Voice и недавно открытый датасет Golos. Ошибка распознавания составила от 3 до 11 % в зависимости от типа тестовой выборки, что очень неплохо для открытой модели.

Не так давно наша команда подготовила и опубликовала общедоступный датасет Golos. Почему встал вопрос об обучении и публикации акустической модели QuartzNet? Во-первых, чтобы узнать, какую точность достигает система распознавания речи при обучении на новом датасете. Во-вторых, обучение само по себе ресурсоёмкое, поэтому сообществу полезно иметь в открытом доступе предобученную модель на русском языке. Полная версия статьи опубликована на сайте arxiv.org и будет представлена на конференции INTERSPEECH2021

Читать далее

Ближайшие события

ruT5, ruRoBERTa, ruBERT: как мы обучили серию моделей для русского языка

Время на прочтение5 мин
Количество просмотров29K


В зоопарке русскоязычных моделей прибавление: в открытом доступе появилась модель text2text-генерации ruT5 и модели-энкодеры ruRoBERTa и ruBERT, формирующие семантическое пространство текста. Модели можно использовать для создания классификаторов текстов, кластеризации, извлечения информации, суммаризации и многих других NLP-задач.

Ещё в начале пути создания виртуальных ассистентов Салют мы, команда NLP R&D SberDevices, поняли, что нужно обучать базовые языковые модели для русского языка, ориентируясь на успешные модели для английского. Опыта в этом, надо сказать, у нас было немного. Прошло два года, и сейчас мы обучили множество моделей, которыми хотим поделиться с вами.

С нашими «гптшками» вы уже знакомы, и про них мы уже рассказывали. Сейчас мы решили расширить наш открытый зоопарк и остальными моделями. Их все легко дообучать и использовать в проме на одной GPU, в том числе в Colab. Мы надеемся, что эти модели будут полезны русскому NLP-сообществу и помогут родиться многим интересным решениям.

В этой статье мы поделимся общими характеристиками и результатами замеров моделей на разных задачах.

Все модели размещены в формате PyTorch-Transformers. Вы можете скачать их в HF transformers.

Colab с примерами.
Читать дальше →

Как ИИ учится литературному творчеству, или Любовные письма от тостера

Время на прочтение20 мин
Количество просмотров4.7K


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

Под творчеством в самом простом случае понимают создание новых изображений, текстов, музыки и других объектов культуры. Но, согласитесь, это слишком широкое определение: согласно ему даже обыкновенный игральный кубик может что-то сотворить! Если сопоставить каждой из его граней ноту, можно получить мелодию. Она, правда, не будет соответствовать требованиям классической гармонии и вряд ли кому-то понравится, а та, которая понравится, будет просто исключением, как в «Теореме о бесконечных обезьянах».
Дальше ещё интереснее

ruCLIP — мультимодальная модель для русского языка

Время на прочтение5 мин
Количество просмотров16K

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

В начале этого года OpenAI опубликовала модель под названием CLIP (Contrastive Language–Image Pre-training). В статье авторы модели привели потрясающие результаты по точности zero-shot-классификации изображений, а также сопоставили тексты и картинки в рамках одной системы. Однако модель OpenAI работает только с английским языком. Можно ли быстро адаптировать её для работы с русским?

Команды R&D SberDevices и Sber AI увлеклись этим вопросом. В этой статье мы расскажем про первые результаты наших исследований CLIP для русского языка, опишем ключевые идеи предложенной модели и поделимся с вами кодом для её использования — решения задач zero-shot image classification.

Что же можно сделать с помощью ruCLIP?

Читать далее

Сценарии для виртуальных ассистентов Салют на NodeJS и фреймворке SaluteJS

Время на прочтение11 мин
Количество просмотров4.5K

Привет! В одной из прошлых статей мы рассказывали о создании клиентской части навыков для виртуальных ассистентов на веб-технологиях и обещали вернуться с обзором создания сценарной части на NodeJS. Торжественно сдерживаем своё обещание!

Недавно мы выложили в открытый доступ фреймворк SaluteJS. Он позволяет создавать сценарии для виртуальных ассистентов Салют, используя стандартные методы JavaScript. Поскольку взаимодействие с NLP-платформой реализовано по http, мы подумали, что было бы круто писать сценарии примерно так же, как мы пишем обычные веб-сервисы, используя NodeJS. Вы можете интегрировать SaluteJS с любыми фреймворками вроде next.js, express, hapi или koa. Интеграция выполняется посредством middleware, где вы можете выражать обработку команд ассистента и голосовых команд пользователя, которые приходят в виде обычного http-запроса. Ниже покажу на конкретном примере, как это работает. 

Погнали!

Обучение универсальной модели NLU c BERT и Multitask Learning

Время на прочтение7 мин
Количество просмотров11K

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

В высоконагруженных сервисах обработки текста решается целый ряд различных задач NLP:

  1. Распознавание намерений.
  2. Выделение именованных сущностей.
  3. Сентиментный анализ.
  4. Анализ токсичности.
  5. Поиск похожих запросов.

Каждая из этих задач обладает своей спецификой и, вообще говоря, требует построения и обучения отдельной модели. Однако, поддерживать и исполнять для каждой такой задачи отдельную NLU-модель непрактично – сильно возрастает время обработки запроса и потребляемая (видео)память. Вместо этого мы используем одну сильную модель NLU для извлечения универсальных признаков из текста. Поверх этих признаков мы применяем относительно легковесные модели (адаптеры), которые и решают прикладные NLP-задачи. При этом NLU и адаптеры могут исполняться на разных машинах – это позволяет удобнее разворачивать и масштабировать решения.

Golos — самый большой русскоязычный речевой датасет, размеченный вручную, теперь в открытом доступе

Время на прочтение6 мин
Количество просмотров20K


Меня зовут Саша, в SberDevices я занимаюсь системой распознавания речи и тем, как данные могут сделать её лучше. В этой статье я расскажу о новом речевом датасете Golos, который состоит из аудиофайлов и соответствующих транскрипций. Общая длительность записей составляет примерно 1240 часов, частота дискретизации – 16кГц. На текущий момент это самый большой корпус аудиозаписей на русском языке, размеченный вручную. Мы выпустили корпус под лицензией, близкой к CC Attribution ShareAlike, что позволяет его использовать как для научных исследований, так и в коммерческих целях. Я расскажу о том, из чего состоит датасет, каким образом он был собран и каких результатов позволяет достичь.
Читать дальше →

Информация

Сайт
sberdevices.ru
Дата регистрации
Дата основания
2019
Численность
501–1 000 человек
Местоположение
Россия