Жили были два сервера. Да и не сервера вовсе, а виртуальные машины. Жили не тужили, добро наживали, скриптами разными обрастали — кирпичик за кирпичиком, подпорка за подпорочкой. И в итоге выросли две абсолютно неавтоматизированные машины с тонной разных приложений, пакетов, ручных настроек, без должного мониторинга и с фрагментарной документацией. А потом посыпались ошибки RAID как градины с безоблачного неба.
Чем закончилась эта история о хаотичной застройке серверов, рассказал Марат Сибгатулин из команды Yandex Infrastructure. Спойлер: как и в любой сказке добро победило зло.
Чем закончилась эта история о хаотичной застройке серверов, рассказал Марат Сибгатулин из команды Yandex Infrastructure. Спойлер: как и в любой сказке добро победило зло.
Правильная и качественная организация поиска — нетривиальная задача. Иногда приходится придумывать нестандартные решения, чтобы всё работало как нужно. Например, команде Яндекс Лавки пришлось объединить всю силу и мощь целых трёх движков, чтобы пользователи получали точный и актуальный результат.
Иван Ходор, бэкенд-разработчик Лавки, поделился историей развития поиска в сервисе от самого начала до текущего момента и рассказал, в чём плюсы такого решения, несмотря на то, что его достаточно сложно поддерживать.
Иван Ходор, бэкенд-разработчик Лавки, поделился историей развития поиска в сервисе от самого начала до текущего момента и рассказал, в чём плюсы такого решения, несмотря на то, что его достаточно сложно поддерживать.
Чтобы Алиса выполнила нашу просьбу, её нужно позвать «по имени». Но когда нужно выполнить какую-нибудь короткую команду (например, несколько раз переключить трек или пролистать вниз подборки фильмов), постоянно говорить «Алиса» утомляет.
Для таких случаев мы научили Алису распознавать быстрые команды: достаточно просто сказать «громче», «дальше» или «включи свет». Благодаря этому общение с виртуальным помощником стало более быстрым, удобным и естественным. Новая функция доступна на любых колонках от Лайта до Макса.
В своём посте на Хабре Алексей Рак из команды голосового ввода рассказал, как разрабатывали эту фичу, что пришлось предусмотреть для снижения количества ложных срабатываний и как короткие команды повлияли на синтез длинных ответов.
Для таких случаев мы научили Алису распознавать быстрые команды: достаточно просто сказать «громче», «дальше» или «включи свет». Благодаря этому общение с виртуальным помощником стало более быстрым, удобным и естественным. Новая функция доступна на любых колонках от Лайта до Макса.
В своём посте на Хабре Алексей Рак из команды голосового ввода рассказал, как разрабатывали эту фичу, что пришлось предусмотреть для снижения количества ложных срабатываний и как короткие команды повлияли на синтез длинных ответов.
Основная задача любой мобильной клавиатуры — помогать пользователям вводить текст быстро и без ошибок. Этого можно достичь при помощи разных инструментов: подсказок, автокорректа, свайпа, голосового ввода. Казалось бы, между ними нет ничего общего, но это не так. Абсолютно все эти инструменты объединяет одно — языковая модель.
Сегодня на Хабре Вадим Щукин рассказал, как создавалась нейроязыковая модель для Яндекс Клавиатуры. Из поста вы узнаете, почему разработчики отказались от n-граммной модели и выбрали нейроязыковую. Увидите архитектуру новой модели, которая весит менее 20 МБ и работает на устройстве локально. А ешё обсудим, стоит ли использовать LSTM-энкодер в 2023 году.
Сегодня на Хабре Вадим Щукин рассказал, как создавалась нейроязыковая модель для Яндекс Клавиатуры. Из поста вы узнаете, почему разработчики отказались от n-граммной модели и выбрали нейроязыковую. Увидите архитектуру новой модели, которая весит менее 20 МБ и работает на устройстве локально. А ешё обсудим, стоит ли использовать LSTM-энкодер в 2023 году.
Что будет, если объединить технологии современных телевизоров и умных колонок? Получатся наши новые устройства — ТВ Станция и ТВ Станция Про.
Из статьи на Хабре можно узнать, с какими сложностями нам пришлось столкнуться в процессе их разработки. Например, рассказываем, в чём главная сложность интеграции farfield-микрофонов в корпус телевизора и как это повлияло на разработку динамиков.
Из статьи на Хабре можно узнать, с какими сложностями нам пришлось столкнуться в процессе их разработки. Например, рассказываем, в чём главная сложность интеграции farfield-микрофонов в корпус телевизора и как это повлияло на разработку динамиков.
Когда-то поездка на такси была целым приключением. Машину часто «брали от борта»: находили или останавливали такси и договаривались о цене и маршруте. Кто и как повезёт пассажира — тот ещё вопрос. Но с появлением агрегаторов требования к перевозкам сильно выросли.
В новом посте на Хабре — рассказ о том, как в Яндекс Go обеспечивают о безопасность пассажиров и водителей до, во время и после поездки. Вы узнаете, за что отвечает Железный Асессор, как алгоритмы оценивают сложность маршрута и манеру вождения водителя.
В новом посте на Хабре — рассказ о том, как в Яндекс Go обеспечивают о безопасность пассажиров и водителей до, во время и после поездки. Вы узнаете, за что отвечает Железный Асессор, как алгоритмы оценивают сложность маршрута и манеру вождения водителя.
Бывает, что в фильме играет музыка, которую хотелось бы найти и сохранить в свой плейлист. Такая возможность недавно появилась в Кинопоиске, где достаточно поставить воспроизведение на паузу и в один клик сохранить трек.
Алексей Царёв рассказал на Хабре о том, как Кинопоиск узнаёт, какая музыка играет в кино или сериале, почему для этого нужно два алгоритма и как влияет на распознавание число кадров в секунду.
Алексей Царёв рассказал на Хабре о том, как Кинопоиск узнаёт, какая музыка играет в кино или сериале, почему для этого нужно два алгоритма и как влияет на распознавание число кадров в секунду.
Антон Полухин принял участие в летней встрече международного комитета C++ и рассказал о её итогах в традиционном посте на Хабре. В этот раз комитет активно взялся за C++26. Вот такие новинки будут ждать разработчиков в готовящемся стандарте:
— улучшенный static_assert,
— переменная _,
— оптимизация и улучшение для std::to_string,
— Hazard Pointer,
— Read-Copy-Update (так же известное как RCU),
— native_handle(),
— целая вереница классов *function*,
— множество доработок по constexpr,
— std::submdspan,
— и прочие приятные мелочи.
— улучшенный static_assert,
— переменная _,
— оптимизация и улучшение для std::to_string,
— Hazard Pointer,
— Read-Copy-Update (так же известное как RCU),
— native_handle(),
— целая вереница классов *function*,
— множество доработок по constexpr,
— std::submdspan,
— и прочие приятные мелочи.
«Было бы здорово, если музыкальный поток мог сам подстраиваться под занятие или настроение. А ещё лучше, если бы его можно было сделать особенным для каждого», — подумали разработчики Яндекс Музыки и начали экспериментировать с генеративными технологиями. В результате появилась Нейромузыка — бесконечный персонализированный поток звуков, собранный алгоритмами на основе заранее сгенерированных коротких аудиофрагментов.
Николай Глазырин, старший разработчик в службе развития медиатехнологий, рассказал о том, как нейросеть училась писать короткие партии для разных инструментов и сочетать их, а также ответил на вопрос, возможно ли создание музыки без участия человека.
Николай Глазырин, старший разработчик в службе развития медиатехнологий, рассказал о том, как нейросеть училась писать короткие партии для разных инструментов и сочетать их, а также ответил на вопрос, возможно ли создание музыки без участия человека.
Как и множество больших сервисов, Яндекс Еда основана на микросервисной архитектуре. Но есть один сервис, который совсем не микро — легаси-монолит на PHP. В какой-то момент выяснилось, что версия языка, на котором всё написано, устарела и уже не поддерживается, что ведёт к рискам безопасности. Так разработчики приняли решение обновиться до PHP 8, не зная, что их ждёт впереди.
Разработчик Яндекс Еды Олег Табота рассказал историю, чего стоило проапгрейдить монолит, сколько тестов пали жертвой новой версии PHP и почему весь процесс занял целый год. В конце есть несколько советов тем, кто тоже захочет ввязаться в подобную авантюру.
Разработчик Яндекс Еды Олег Табота рассказал историю, чего стоило проапгрейдить монолит, сколько тестов пали жертвой новой версии PHP и почему весь процесс занял целый год. В конце есть несколько советов тем, кто тоже захочет ввязаться в подобную авантюру.
Встречаем YandexGPT 2. Это новая версия большой языковой модели Яндекса. Она отвечает лучше старой в 67% случаев, а в некоторых сценариях побеждает с ещё бо́льшим перевесом. Новая языковая модель способна анализировать тексты и отвечать на вопросы по ним, а также стилизовать текст ответа под разную аудиторию или персонажа.
Рассказываем на Хабре о том, что изменилось в процессе обучения YaGPT 2, в каких сценариях это принесло наибольший эффект и чем мы планируем заниматься дальше.
Рассказываем на Хабре о том, что изменилось в процессе обучения YaGPT 2, в каких сценариях это принесло наибольший эффект и чем мы планируем заниматься дальше.
Сегодня мы выпустили в open-source исходный код SDK AppMetrica. Любой желающий может разобраться в его работе, настроить под свои задачи и переиспользовать опыт в своих проектах. Более подробно о событии и выкладке — в нашем блоге.
AppMetrica — это инструмент для аналитики мобильных приложений. С помощью него можно формировать отчёты по источникам трафика, ключевым показателям мобильного приложения, аудитории и сценариям использования, а также собирать статистику по сбоям, проводить A/B-тесты и удалённо управлять конфигурацией приложения.
AppMetrica — это инструмент для аналитики мобильных приложений. С помощью него можно формировать отчёты по источникам трафика, ключевым показателям мобильного приложения, аудитории и сценариям использования, а также собирать статистику по сбоям, проводить A/B-тесты и удалённо управлять конфигурацией приложения.
Яндекс Браузер научился генерировать субтитры для видео на русском языке на любых сайтах. Это пригодится в ситуациях, когда нужно соблюдать тишину, а наушников под рукой нет, или когда в помещении слишком шумно. Кроме того, для людей с нарушениями слуха субтитры — один из немногих способов ознакомиться с содержанием видеороликов.
Субтитры генерируются нейросетью, встроенной в сам Браузер. Никита Цуранов из службы технологий голосового ввода рассказал, на что пришлось пойти, чтобы нейросеть стала потреблять в 5 раз меньше оперативной памяти. А ещё о том, какими методами можно найти слабые места у модели, как лучше квантизировать свёртки и трансформеры, а также почему fp16 не так прост, как кажется.
Субтитры генерируются нейросетью, встроенной в сам Браузер. Никита Цуранов из службы технологий голосового ввода рассказал, на что пришлось пойти, чтобы нейросеть стала потреблять в 5 раз меньше оперативной памяти. А ещё о том, какими методами можно найти слабые места у модели, как лучше квантизировать свёртки и трансформеры, а также почему fp16 не так прост, как кажется.
Зачем нужны перф-тесты? Конечно же, затем чтобы дать волшебное ускорение всему, что замедляет ваше iOS-приложение! Ведь чем больше задач оно выполняет, тем тщательнее нужно следить за его производительностью и вовремя ловить аномалии.
Павел Воробкалов написал подробный пост на Хабр о том, как отслеживать аномалии метрик производительности на стороне клиента с помощью перф-тестов, откуда берутся проблемы при тестировании и как их избежать, а также почему полезно детектировать аномалии не только в плане ухудшения, но и улучшения. А ещё показал, как выглядят перф-фермы и составил чек-лист, на что обратить внимание во время тестирования и к каким инструментам присмотреться.
Павел Воробкалов написал подробный пост на Хабр о том, как отслеживать аномалии метрик производительности на стороне клиента с помощью перф-тестов, откуда берутся проблемы при тестировании и как их избежать, а также почему полезно детектировать аномалии не только в плане ухудшения, но и улучшения. А ещё показал, как выглядят перф-фермы и составил чек-лист, на что обратить внимание во время тестирования и к каким инструментам присмотреться.
Сегодня у 🐙 userver большое событие — фреймворк вышел из беты!
С момента выхода 🐙 userver в опенсорс прошло чуть больше года. За это время его разработчики добавили WebSockets и TLS/HTTPS серверы, переработали и упростили систему сборки и добавили в документацию множество примеров и новых страниц.
Что ещё нового в релизе? Зачем вообще нужен userver и какие существуют технологии для обеспечения надёжной работы серверных приложений? Можно ли воспользоваться крутыми C++ классами из userver, не используя при этом корутины? Какие дальнейшие планы? Антон Полухин ответил на все эти вопросы в своём посте на Хабре и его англоязычной версии на Медиуме.
С момента выхода 🐙 userver в опенсорс прошло чуть больше года. За это время его разработчики добавили WebSockets и TLS/HTTPS серверы, переработали и упростили систему сборки и добавили в документацию множество примеров и новых страниц.
Что ещё нового в релизе? Зачем вообще нужен userver и какие существуют технологии для обеспечения надёжной работы серверных приложений? Можно ли воспользоваться крутыми C++ классами из userver, не используя при этом корутины? Какие дальнейшие планы? Антон Полухин ответил на все эти вопросы в своём посте на Хабре и его англоязычной версии на Медиуме.
Мы выложили в опенсорс исходный код Yandex DataLens — сервиса для анализа и визуализации данных. Этот BI-инструмент уже помогает десяткам тысяч пользователей облачной платформы строить дашборды и проверять гипотезы, связанные с данными. Теперь опенсорс-версию DataLens может развернуть любой желающий в любой инфраструктуре.
Как устроен DataLens, в каких сценариях он наиболее полезен, в чём особенности его выхода в опенсорс и какова роль сообщества в его развитии — Павел Дубинин и Гаджи Гаджиев делятся в новом посте на Хабре.
Как устроен DataLens, в каких сценариях он наиболее полезен, в чём особенности его выхода в опенсорс и какова роль сообщества в его развитии — Павел Дубинин и Гаджи Гаджиев делятся в новом посте на Хабре.
Порой очевидное решение, которое первым приходит в голову, может потянуть за собой хвост проблем в будущем. Например, простое добавление ретраев может сильно повлиять на отказоустойчивость системы из нескольких сотен микросервисов.
Денис Исаев из Яндекс Go поделился историей вымышленного разработчика Васи, который однажды добавил три перезапроса при ошибках, которые приходили от сервиса цен. Всё бы ничего, но это решение аукнулось ему через три года, когда весь бэкенд прилёг на целый час. Справится ли Вася с последствиями? Все ответы в нашем блоге на Хабре.
Денис Исаев из Яндекс Go поделился историей вымышленного разработчика Васи, который однажды добавил три перезапроса при ошибках, которые приходили от сервиса цен. Всё бы ничего, но это решение аукнулось ему через три года, когда весь бэкенд прилёг на целый час. Справится ли Вася с последствиями? Все ответы в нашем блоге на Хабре.
Яндекс выложил в открытый доступ крупнейший русскоязычный датасет из полумиллиона отзывов на организации, опубликованных на Картах. В подборку попали кинотеатры, музеи, бары, рестораны, салоны красоты и другие организации. Датасет содержит адрес и название организации, список рубрик, оценка пользователя и текст отзыва.
Рассказали на Хабре, чем полезны отзывы с точки зрения тех, кто занимается анализом данных в области лингвистики и машинного обучения, в чём особенность этого датасета, а также показали примеры задач, которые можно решать с его помощью.
Рассказали на Хабре, чем полезны отзывы с точки зрения тех, кто занимается анализом данных в области лингвистики и машинного обучения, в чём особенность этого датасета, а также показали примеры задач, которые можно решать с его помощью.
Сегодня мы выложили в опенсорс библиотеку Scout — быстрый и безопасный DI на Kotlin. Это удобный инструмент для внедрения зависимостей, который позволит ускорить сборку приложения и упростить процесс модуляризации.
В своём посте на Хабре Александр Миронычев, ведущий разработчик приложения Яндекс Маркет под Android, рассказал не только о том, как работает Scout, но и как пройти путь от безумной идеи до конкурентоспособного опенсорс-фреймворка.
В своём посте на Хабре Александр Миронычев, ведущий разработчик приложения Яндекс Маркет под Android, рассказал не только о том, как работает Scout, но и как пройти путь от безумной идеи до конкурентоспособного опенсорс-фреймворка.
Одна из задач проектирования беспилотных автомобилей — сделать так, чтобы их поведение на дороге не отличалось от поведения обычной машины. За это отвечают много разных алгоритмов. Один из них — планировщик движения. Он пытается предсказать, как и куда поедут другие машины, чтобы провести беспилотник по безопасной для всех траектории.
Виктор Юрченко написал детальный разбор логики движения беспилотника с примерами свёрточных и трансформерных архитектур моделей для предсказания движения, а также объяснил, в чём преимущества машинного обучения перед эвристиками и чем может помочь Reinforcement Learning.
Виктор Юрченко написал детальный разбор логики движения беспилотника с примерами свёрточных и трансформерных архитектур моделей для предсказания движения, а также объяснил, в чём преимущества машинного обучения перед эвристиками и чем может помочь Reinforcement Learning.