Как стать автором
Обновить
596.27
Яндекс
Как мы делаем Яндекс
Сначала показывать

ECCV 2024: как это было. Актуальные статьи и главные тренды

Время на прочтение18 мин
Количество просмотров619

Привет! Меня зовут Александр Устюжанин, и я разработчик в команде YandexART. Недавно я побывал в Милане на одной из крупнейших международных конференций по компьютерному зрению — ECCV (European Conference on Computer Vision). В этом году она проходила уже в 18-й раз, и от Яндекса я приехал не один, а в составе целой делегации специалистов по CV из разных команд. Ребята помогли собрать материалы для этой статьи, и по ходу повествования я всех обязательно представлю.

Конференция проходила с 29 сентября по 4 октября. Исследователи подали на ECCV 8585 (!) статей, а прошли отбор 2395 — получается, чуть меньше 30%. Такие масштабные конференции всегда привлекают внимание людей как из академии, так и из индустрии: от больших компаний до стартапов — люди приезжают за новой информацией, нетворкингом и атмосферой большой научной тусовки.

Программа была насыщенной, но при этом комфортной — начинали в 9 утра, заканчивали в 18 — оставалось достаточно времени на активности вне расписания. Конечно, невозможно ознакомиться с тысячами докладов, поэтому мы сверялись с расписанием и заранее решали, кто куда хочет сходить. В статье я поделюсь как своими находками, так и отзывами коллег — благодаря этому, как кажется, обзор получился разнообразным и даёт неплохое представление о том, что происходит в мире CV прямо сейчас.

Поехали!
Всего голосов 12: ↑12 и ↓0+15
Комментарии0

Полезные ссылки

Спидран в реальности: история робота, который быстрее всех в мире собирает кубик Рубика

Время на прочтение15 мин
Количество просмотров27K
Всего голосов 169: ↑168 и ↓1+219
Комментарии72

Математика надёжности. Доклад Яндекса

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров13K
Всего голосов 76: ↑72 и ↓4+85
Комментарии28

Как устроен робот-доставщик Яндекса: от восприятия до планирования движения

Время на прочтение15 мин
Количество просмотров18K
Всего голосов 80: ↑77 и ↓3+92
Комментарии46

Грязные трюки C++ из userver и Boost

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров8.3K

Привет, я Антон Полухин из Техплатформы Екома и Райдтеха Яндекса. Моя команда разрабатывает userver — современный опенсорсный асинхронный фреймворк с богатым набором абстракций для быстрого и комфортного создания микросервисов, сервисов и утилит на C++.

Когда мы пишем какой‑то код для userver и для таких сложных проектов, как Boost, периодически мы сталкиваемся с нестандартными проблемами. И эти нестандартные проблемы требуют нестандартных решений. Вот о таких решениях мы сегодня и поговорим.

А именно:

— Посмотрим, как работают исключения на платформе Linux x86, и сделаем с ними что‑то интересное.

— Залезем ещё глубже под капот исключений и сделаем их ещё быстрее.

— Сделаем висячую ссылку на невалидный объект, и всё будет хорошо.

— А под конец то, что все любим, — погрузимся в шаблонное метапрограммирование.

Читать далее
Всего голосов 42: ↑42 и ↓0+55
Комментарии56

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

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

Привет, меня зовут Всеволод, я разработчик в Yandex Infrastructure — команде, которая создаёт платформу для разработчиков Яндекса. Последние 12 лет я занимаюсь внутренним облаком и за это время писал самые разные его компоненты: от базовой инфраструктуры хостов и до Control Plane.

Сегодня расскажу про то, как мы организуем для наших пользователей единое управление всей инфраструктурой и как добились на этом пути надёжности, скорости разработки, простоты поддержки и масштабируемости — хоть и нарушили при этом некоторые руководства и лучшие практики Kubernetes.

Читать далее
Всего голосов 30: ↑28 и ↓2+30
Комментарии9

To bind or not to bind: как мы управляем identity корпоративных «Маков»

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

Привет! Меня зовут Павел, и я руководитель офисной IT‑инфраструктуры в Яндексе. Не один год своей работы в той или иной степени я посвятил «Макам» и другим Apple‑устройствам. А в компании их сейчас уже больше 20 тысяч, и управлять таким парком — задача нетривиальная.

Надеюсь, что сегодняшняя тема будет интересна системным администраторам и инженерам поддержки пользователей на платформе macOS. Поговорим об Active Directory и альтернативах этому решению, обсудим, имеет ли смысл вводить компьютеры на macOS в домен и как это всё должно работать.

Читать далее
Всего голосов 15: ↑15 и ↓0+22
Комментарии3

Полезные фичи С++ на примере организации пайплайна

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

В рамках микросервисной архитектуры достаточно легко делать «реактивные» сервисы: к вам приходит событие или вызов HTTP-метода, и в ответ на это происходит какое-то действие. Однако бывают более сложные сценарии, когда надо собрать некоторое количество информации или событий прежде, чем что-то делать. В таком случае нужен пайплайн — механизм организации сложных правил обработки событий. 

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

— Как хранить в одном контейнере разные типы и использовать тип в качестве ключа контейнера 

— Как средствами метапрограммирования удобно сериализовать и десериализовать разнотипные объекты 

— Как сделать универсальный запускатель функций, который будет запускать любую функцию и сам искать, откуда «добыть» эти аргументы 

— И главное, как сделать интерфейс для написания пайплайна обработки события — удобный и полностью изолированный от инфраструктуры

Читать далее
Всего голосов 32: ↑32 и ↓0+42
Комментарии15

13 млрд счётчиков и 220 000 RPS на запись: проектируем Key-Value-хранилище для Спамообороны

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.6K

Привет! Меня зовут Тимур Нургалиев, я тимлид в команде Спамообороны. Яндекс Почта обрабатывает миллиарды писем, из них около 20–30% — спам. Технологии, которые мы создаём в команде, блокируют массовые рассылки и отправляют вредоносные письма в соответствующую папку.

В статье я расскажу про архитектуру нашего высоконагруженного сервиса, немного погружу в контекст и расскажу, как мы спроектировали Key‑Value‑хранилище, которое в режиме реального времени хранит и отдаёт признаки массовости письма.

Читать далее
Всего голосов 20: ↑20 и ↓0+25
Комментарии9

Более мощное семейство моделей YandexGPT 4: рост качества ответов, длинный контекст, пошаговые рассуждения

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

Сегодня мы открываем доступ к четвёртому поколению наших больших языковых моделей: более мощная YandexGPT 4 Pro и облегчённая YandexGPT 4 Lite уже доступны через API в Yandex Cloud. Постепенно пользователям платформы станут доступны все их возможности. А первым сервисом Яндекса, где появится YandexGPT 4, станет Алиса с опцией «Про».

Новое семейство моделей умеет обрабатывать более сложные запросы, работать с расширенным контекстом, поддерживает скрытые рассуждения и вызов функций для работы с внешними инструментами. Нашей команде удалось значительно улучшить качество ответов: YandexGPT 4 Pro в 70% случаев отвечает лучше своей прошлой версии, а YandexGPT 4 Lite в среднем отвечает не хуже, чем самая мощная модель предыдущего поколения.

Вместе с Андреем Бутом @andbout, руководителем команды YandexGPT Alignment, кратко расскажем, что мы сделали для улучшения ответов и решения более сложных запросов, покажем результаты замеров качества и сравнения с другими моделями.

Читать далее
Всего голосов 39: ↑34 и ↓5+35
Комментарии47

Встречаем yx_scope: DI-фреймворк для работы со скоупами в открытом доступе

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров3.2K

Для больших проектов не всегда хватает одного модуля: иногда надо пошарить какие‑нибудь классы или UI‑элементы. Так со временем проект дробится на много мелких модулей, которые так или иначе связаны разного рода зависимостями. И если за этим не следить, то рано или поздно структура проекта может стать запутанной.

Наша команда разрабатывает приложение Яндекс Про, которым пользуются водители и курьеры. Из‑за многомодульности разные команды использовали разные подходы к связыванию зависимостей — в основном это getIt, injectable и riverpod. Но у всех решений были свои недостатки. К тому же то, что в одном проекте используется несколько подходов, сильно усложняло взаимодействие команд.

Сложности подтолкнули нас к поиску собственного решения, которое удовлетворяло бы всем нашим требованиям. И теперь мы готовы поделиться им с комьюнити: наше решение — это группа библиотек yx_scope.

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

Читать далее
Всего голосов 15: ↑15 и ↓0+20
Комментарии12

Как мы в Яндексе делаем роборуку с искусственным интеллектом

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

Ещё 10–20 лет назад многие думали, что роботы под управлением искусственного интеллекта возьмут на себя всю тяжёлую и опасную работу на предприятиях. Однако нейросети нашли применение в офисах, колл‑центрах, службе поддержки и даже стали полезны людям из творческих профессий — копирайтерам, дизайнерам, программистам. Тем не менее создание роботов, которые могут самостоятельно выполнять сложные физические манипуляции с материальными объектами, остаётся трудной и нерешённой задачей.

В этой статье я расскажу, как команда ML R&D в отделе робототехники Маркета создаёт роборуку и обучает нейросети, благодаря которым робот взаимодействует с физическим миром.

Читать далее
Всего голосов 35: ↑31 и ↓4+34
Комментарии22

Осторожно, Combine! Откуда берутся утечки памяти, потеря эвентов, нестабильность операторов и что с этим всем делать

Уровень сложностиСредний
Время на прочтение27 мин
Количество просмотров3K

Привет, меня зовут Никита, я iOS‑разработчик в Яндекс Диске. В прошлый раз я рассказывал, как мы начали свой путь в SwiftUI. Теперь настало время рассказать ещё об одном фреймворке, который мы затащили в свой проект параллельно со SwiftUI, — Combine.

В этой статье разберу проблемы, с которыми столкнулась наша команда, расскажу, как их исправили, а также к каким выводам после этого пришли. А ещё поделюсь библиотекой с фиксами и экстеншенами к Combine.

Читать далее
Всего голосов 17: ↑17 и ↓0+22
Комментарии2

Как мы внедрили генеративную модель в объявления на Авто.ру. Доклад Яндекса

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

Фронтенд‑разработчики из Авто.ру Максим Алмаев и Дмитрий Размолодин рассказали на внутреннем митапе, как их команда запустила генерацию описаний машин в помощь тем, кто публикует объявления на сервисе. Вы узнаете, зачем разработчики лимитировали нагрузку, как победили проблему галлюцинаций и что помогло убедиться в корректной работе решения.

Переложили выступление ребят в текст для удобства читателей Хабра.

Читать далее
Всего голосов 11: ↑9 и ↓2+11
Комментарии6

Динамические модули в приложениях на Android: опыт использования Dynamic Feature Delivery

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

Размер приложения часто играет важную роль в восприятии его пользователями и принятии ими решения о скачивании. Исследования показывают, что чем меньше размер APK, тем выше вероятность его установки и тем реже оно оказывается в списке на удаление. Конечно же, это важно для команды Яндекс Go, так как наше приложение непрерывно развивается.

Для внедрения одной из SDK, основанной на Flutter, мы прибегли к механизму Dynamic Feature Delivery (DFD). Но оказалось, что в русскоязычном сегменте информации о DFD крайне мало, поэтому я решил поделиться нашим опытом работы с этим механизмом на Android с Google Play Feature Delivery Library.

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

Читать далее
Всего голосов 12: ↑12 и ↓0+17
Комментарии3

Балуемся кластеризацией и синхронизацией: как устроена мгновенная загрузка фото в Яндекс Диске

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.3K

Всем привет! Меня зовут Дима, я тимлид команды Яндекс Диска. Сегодня расскажу, как обрабатывать сотни терабайт загружаемого контента в день и быстро доставлять его в ленту со всеми фотографиями пользователя. Лента выглядит как локальная галерея на телефоне, но может содержать в себе сотни тысяч фотографий, хранящихся в облаке, и быстро переходить к любой точке среди огромного количества контента. 

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

Читать далее
Всего голосов 33: ↑33 и ↓0+40
Комментарии2

Как Яндекс помогает астрофизикам изучать вспышки на красных карликах

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

Красные карлики — наиболее распространённый тип звёзд в нашей Галактике. Это не самые яркие объекты: они меньше нашего Солнца и светят слабее. Однако большинство планетных систем обнаружено именно вокруг звёзд этого класса.

Благодаря многолетним исследованиям у астрофизиков накопилось множество данных о поведении красных карликов. Каталоги современных обзоров неба содержат десятки миллиардов отдельных наблюдений для сотен миллионов таких звёзд. Традиционные методы обработки данных больше не справляются с такими объёмами, поэтому для их анализа учёные все чаще используют методы машинного обучения.

В этом году мы запустили совместный проект со специалистами Государственного астрономического института имени П. К. Штернберга МГУ, Факультета Космических Исследований МГУ и Университета Карнеги‑Меллона, которые работают в международной команде SNAD. Центр технологий для общества Yandex Cloud помог учёным выстроить пайплайн машинного обучения для поиска звёздных вспышек с помощью облачного сервиса Yandex DataSphere и в итоге создать самую крупную выборку вспышек на красных карликах по данным наземных наблюдений.

Совместно с исследователями Анастасией Лаврухиной, Борисом Демковым, Константином Маланчевым @hombitи Марией Пружинской расскажем, как именно машинное обучение помогает астрофизикам, и какие новые научные прорывы это может обещать.

Читать далее
Всего голосов 24: ↑23 и ↓1+28
Комментарии0

Как нарисовать квадрат 3 × 3 см на веб-странице*

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

* Не привлекая внимания санитаров

Меня зовут Илья, я занимаюсь фронтенд-разработкой вот уже 10 лет. Представьте, что вам нужно сделать стили для печати документов, а бегать к принтеру с линейкой, чтобы убедиться в корректности фактических размеров отдельных элементов, очень не хочется. Было бы куда проще иметь возможность приложить ту же линейку к экрану. Но размеры элементов на экране почти всегда не соответствуют их физическим размерам при печати. Казалось бы, зачем это вообще может быть кому-то нужно. Но это бывает важно. Например, в типографиях.

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

Что ж, вызов был брошен. И я поставил себе задачу (вы же тоже сами ставите себе задачи?) — нарисовать красивый красный квадратик размером 3 × 3 см. Тому, что у меня в итоге получилось, и посвящён мой необычный рассказ. 

Читать далее
Всего голосов 117: ↑108 и ↓9+118
Комментарии50

VLM в Нейро: как мы создавали мультимодальную нейросеть для поиска по картинкам

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

Сегодня у Поиска большое обновление. Например, ответы Нейро теперь будут появляться сразу в поисковых результатах — для тех запросов, где это полезно и экономит время. Но в рамках этой статьи нас интересует другая часть обновления: Нейро поможет найти ответы в Поиске по картинкам и в Умной камере — с помощью новой мультимодальной модели Яндекса. Пользователь может не только узнать, что изображено на картинке, но и задать вопрос по каждой её детали. Например, гуляя по музею, можно сфотографировать натюрморт голландского живописца и спросить, что символизирует тот или иной предмет на картине.

Меня зовут Роман Исаченко, я работаю в команде компьютерного зрения Яндекса. В этой статье я расскажу, что такое визуально‑текстовые мультимодальные модели (Visual Language Models или VLM), как у нас в Яндексе организован процесс их обучения и какая у них архитектура. Вы узнаете, как Нейро работал с картинками и текстами раньше, и что изменилось с появлением VLM.

Читать далее
Всего голосов 39: ↑39 и ↓0+50
Комментарии14

Markdown Editor: WYSIWYG и markup-редактор на базе Gravity UI

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

Привет, Хабр! Меня зовут Сергей Махнаткин, я работаю разработчиком в отделе User Experience в Yandex Cloud. В прошлом году мы писали о нашей дизайн-системе и библиотеке компонентов Gravity UI. С тех пор система не раз обновлялась и обрастала новыми функциями, и сегодня я хочу рассказать о новом инструменте — Markdown Editor, который значительно упрощает процесс работы с документацией.

Поговорим об истории создания пользовательского интерфейса, архитектурных особенностях и технических деталях интеграции и разработки собственных расширений, а потом — почему всё это доступно в опенсорсе.

Читать далее
Всего голосов 44: ↑43 и ↓1+61
Комментарии22

Как устроен робот-доставщик Яндекса: от восприятия до планирования движения

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

Уже пять лет по улицам Москвы колесят роботы‑курьеры Яндекса, доставляя нам еду из любимых ресторанов и магазинов быстрее, чем мы успеваем проголодаться. На пути им встречается много препятствий: от безобидной клумбы, которую можно просто объехать, до восторженных детей (и иногда взрослых), от которых порой не так просто уехать.

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

Привет, меня зовут Тая, и я ML‑разработчик в команде восприятия робота‑доставщика. Сегодня я впервые детально расскажу о технологиях, благодаря которым робот‑доставщик Яндекса успешно доставляет заказы. Разберу ключевые компоненты системы, от сенсоров до алгоритмов принятия решений, и объясню, как они взаимодействуют. Из статьи вы узнаете, что происходит «под капотом» нашего робота во время его путешествий по городу.

Готовы погрузиться в мир автономной доставки?

Поехали!
Всего голосов 80: ↑77 и ↓3+92
Комментарии46

Знакомьтесь, «Незнакомое». Как мы сделали новый режим для Моей волны

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

Привет! Меня зовут Савва Степурин, я старший разработчик в группе рекомендательных продуктов в Фантехе Яндекса. Сегодня расскажу вам про то, как мы сделали «Незнакомое» для Моей волны — специальный режим для активного поиска музыкальных открытий.

«Незнакомое» позволяет вам получать от Моей волны те треки, которые вы ещё не слушали (возможно, даже не знаете про их существование), но которые с большой долей вероятности могут попасть в ваши музыкальные предпочтения. Если Моя волна в чистом виде — это идеальный баланс между любимыми композициями и чем-то новым, то «Незнакомое» помогает выйти из музыкального информационного пузыря и послушать новые треки. 

Под катом — техническая эволюция «Незнакомого» от фильтра до отдельного продукта, описание новой модели ранжирования и многое другое.

Читать далее
Всего голосов 53: ↑52 и ↓1+67
Комментарии68

Что делать, чтобы правильные вёдра правильно протекали: иерархический Token Bucket для XDP-программ в eBPF

Уровень сложностиСредний
Время на прочтение29 мин
Количество просмотров2.4K

Всем привет! Это Сергей Качеев, старший разработчик в отделе сетевой инфраструктуры Yandex Infrastructure. Наша команда создаёт технологии, на которых работают сервисы Яндекса. В прошлый раз я рассказал целый сетевой детектив о том, как мы искали баг, который убивал DNS‑сервер Unbound. И сегодня я расскажу не менее интересную историю.

Мне на развитие попала XDP eBPF‑программа, которая защищает DNS‑серверы от выхода из строя под слишком большой нагрузкой (другими словами, от DDoS). На ядре 5.4 алгоритм защиты был основан на EWMA‑статистике с вероятностными дропами, которые постоянно контролировались из Control Plane. Это делало eBPF‑программу неавтономной. К тому же если Control Plane падал, то сервер оставался в состоянии последнего удачного обновления eBPF. Это нужно было исправлять — было решено заменить это всё на Token Bucket. Этот момент и будем считать отправной точкой в нашей истории.

Читать далее
Всего голосов 37: ↑37 и ↓0+48
Комментарии0
1
23 ...

Информация

Сайт
www.ya.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия