Несколько лет назад Яндекс Музыка представила «Мою волну» — систему персональных рекомендаций, основанную на мощных нейросетях, требующих серверных дата-центров. Сегодня компания анонсировала технологию TinyML, которая позволяет рекомендательной системе работать непосредственно на смартфоне пользователя, даже без интернета.
Раньше офлайн-режим Яндекс Музыки предусматривал только воспроизведение скачанных треков без адаптации рекомендаций. TinyML решает эту проблему, обеспечивая плавное переключение между онлайн- и офлайн-режимами без заметного прерывания и сохраняя возможность подстраиваться под текущие предпочтения пользователя.
Для работы офлайн система использует три источника треков: кэш недавно проигранных композиций, сохранённые вручную треки и новый механизм проактивной загрузки, когда сервер подбирает дополнительные песни для прослушивания без доступа к сети. Скачивание происходит только по Wi-Fi и в периоды без активного использования устройства, экономя трафик и заряд батареи.
Технология TinyML представляет собой компактную виртуальную машину в приложении, интерпретирующую специальный байт-код, в котором закодированы базовые операции для ранжирования треков. Такой подход позволяет формировать персонализированные рекомендации прямо на устройстве, используя только те треки, что доступны локально, и минимизируя нагрузку на смартфон.
При отключении интернета приложение запускает TinyML, которая анализирует данные о доступных треках и строит рекомендации. Для кратковременных перебоев используется заранее вычисленная очередь композиций, а при длительном отсутствии связи система адаптируется на основе поведения пользователя, сохраняя интерес и разнообразие воспроизведения.
Таким образом, Яндекс Музыка обеспечила бесшовный офлайн-режим «Моей волны», расширив возможности пользователей наслаждаться персональными рекомендациями даже в условиях отсутствия интернета, сохраняя при этом разнообразие и актуальность предложенного музыкального контента.