Forwarded from Yandex for Developers
За годы работы инженеры Яндекс 360 накопили значительный опыт в проектировании и разработке систем, которыми ежедневно пользуются миллионы людей и тысячи предприятий. Мы знаем, что такое highload и отказоустойчивость не из книжек и докладов, а из реальной многолетней практики.
В этом проекте мы хотим поделиться опытом и рассказать, как решаем наши задачи и как создаём архитектуру высоконагруженных систем.
В выпусках обсуждаем:
Наши разработчики создают Диск, Почту, Телемост, Мессенджер, Календарь и другие знакомые вам сервисы. Ими пользуются более 95 миллионов людей ежемесячно, а сервисы держат нагрузки более 1 миллиона RPS, наши базы данных хранят петабайты метаинформации.
Подписывайтесь:
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Душный NLP
Запоздавшие статьи с ICLR 2025 — об ускорении инференса
Конференция ICLR 2025 закончилась давным-давно, но она навсегда в наших сердечках — так много интересного там было. Делимся ещё одной — запоздавшей, но от этого не менее любопытной — подборкой статей с мероприятия.
OstQuant: Refining Large Language Model Quantization with Orthogonal and Scaling Transformations for Better Distribution Fitting
Авторы вводят метрику утилизации пространства квантизации. Для наглядности посмотрите на изображение. Есть некоторый объём, который фактически занимает тензор, и тот объём, который может представлять собой квантизованные значения — красный квадрат на картинке. Если эти два объёма смещены относительно друг друга и не полностью совпадают, то имеет место ошибка. В идеале, если сильно упрощать, распределение тензора должно быть чётко вписано в квадрат объёма квантизации.
На практике этого можно добиваться разными способами вроде Rotation или Smooth. Авторы статьи предлагают при нормализации весов добавить к вращению операцию Smooth. На инференсе всё это ужимается в одну матрицу. Таким образом, можно получить прирост по качеству на 1 п.п. при использовании SpinQuant.
Block Verification Accelerates Speculative Decoding
При сэмплинге мы сэмлируем случайную величину от нуля до единицы из равномерного распределения и сравниваем её с вероятностью принятия. В теории любой токен может оказаться принятым. Авторы статьи предлагают в сэмплинге делать не потокенную верификацию, а поблочную — увеличивать вероятность принятия за счёт того, что на верификацию поступает больший объём информации (изображение 2). Этот метод работает, обеспечивая ускорение в 5–10%.
Antidistillation Sampling
Авторы предлагают настройку, призванную защитить модели от несанкционированной дистилляции. Метод представляет собой добавку к распределению в генерации. В основе — расчёт такой оценки градиентов, которая позволит ухудшить качество дистилляции. Получить эту оценку можно в SFT, с помощью реворд-модели или как-то иначе. Метод реализуется через небольшие сдвиги в логитах — они вычисляются с помощью прокси-модели и аппроксимированного градиента. Это ухудшает обучение «студента» при дистилляции, но почти не снижает эффективность «учителя».
TAID
Хак, призванный решить проблемы mode averaging и mode collapse при дистилляции. Авторы предлагают делать прогрессивную дистилляцию — переходить от SFT «студента» к дистилляции в учителя. Это позволяет сделать распределение более разнообразным. Метод даёт не слишком большой прирост по бенчмаркам, но и реализуется совсем не сложно — нужно добавить всего один параметр на смесь логитов «учителя» и «студента».
MiniPLM
Распределения «учителя» и «студента» можно классифицировать по трём типам:
— «шумные» — высокая уверенность логитов «студента» и низкая у «учителя»;
— «простые» — логиты «студента» сильно приближаются к логитам «учителя»;
— «сложные» — высокая уверенность «учителя», низкая у «студента».
Авторы статьи предлагают выбрасывать «шумные» примеры, ап-семплить «сложные» и даун-семплить «простые». То есть это просто работа с датасетом, которая, однако, уже показывает хороший прирост качества после дистилляции (изображение 3).
Разбор подготовил❣ Роман Горб
Душный NLP
Конференция ICLR 2025 закончилась давным-давно, но она навсегда в наших сердечках — так много интересного там было. Делимся ещё одной — запоздавшей, но от этого не менее любопытной — подборкой статей с мероприятия.
OstQuant: Refining Large Language Model Quantization with Orthogonal and Scaling Transformations for Better Distribution Fitting
Авторы вводят метрику утилизации пространства квантизации. Для наглядности посмотрите на изображение. Есть некоторый объём, который фактически занимает тензор, и тот объём, который может представлять собой квантизованные значения — красный квадрат на картинке. Если эти два объёма смещены относительно друг друга и не полностью совпадают, то имеет место ошибка. В идеале, если сильно упрощать, распределение тензора должно быть чётко вписано в квадрат объёма квантизации.
На практике этого можно добиваться разными способами вроде Rotation или Smooth. Авторы статьи предлагают при нормализации весов добавить к вращению операцию Smooth. На инференсе всё это ужимается в одну матрицу. Таким образом, можно получить прирост по качеству на 1 п.п. при использовании SpinQuant.
Block Verification Accelerates Speculative Decoding
При сэмплинге мы сэмлируем случайную величину от нуля до единицы из равномерного распределения и сравниваем её с вероятностью принятия. В теории любой токен может оказаться принятым. Авторы статьи предлагают в сэмплинге делать не потокенную верификацию, а поблочную — увеличивать вероятность принятия за счёт того, что на верификацию поступает больший объём информации (изображение 2). Этот метод работает, обеспечивая ускорение в 5–10%.
Antidistillation Sampling
Авторы предлагают настройку, призванную защитить модели от несанкционированной дистилляции. Метод представляет собой добавку к распределению в генерации. В основе — расчёт такой оценки градиентов, которая позволит ухудшить качество дистилляции. Получить эту оценку можно в SFT, с помощью реворд-модели или как-то иначе. Метод реализуется через небольшие сдвиги в логитах — они вычисляются с помощью прокси-модели и аппроксимированного градиента. Это ухудшает обучение «студента» при дистилляции, но почти не снижает эффективность «учителя».
TAID
Хак, призванный решить проблемы mode averaging и mode collapse при дистилляции. Авторы предлагают делать прогрессивную дистилляцию — переходить от SFT «студента» к дистилляции в учителя. Это позволяет сделать распределение более разнообразным. Метод даёт не слишком большой прирост по бенчмаркам, но и реализуется совсем не сложно — нужно добавить всего один параметр на смесь логитов «учителя» и «студента».
MiniPLM
Распределения «учителя» и «студента» можно классифицировать по трём типам:
— «шумные» — высокая уверенность логитов «студента» и низкая у «учителя»;
— «простые» — логиты «студента» сильно приближаются к логитам «учителя»;
— «сложные» — высокая уверенность «учителя», низкая у «студента».
Авторы статьи предлагают выбрасывать «шумные» примеры, ап-семплить «сложные» и даун-семплить «простые». То есть это просто работа с датасетом, которая, однако, уже показывает хороший прирост качества после дистилляции (изображение 3).
Разбор подготовил
Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Душный NLP
QwenLong-L1 и проблемы рассуждающих моделей на длинных контекстах
Сегодня — статья от инженеров из Alibaba Group, которые сделали свою версию Qwen для ризонинга на длинных контекстах. Как сообщают авторы, их разработка сопоставима по качеству с o3, хотя имеет всего 32 миллиарда параметров.
Авторы отмечают, что при обучении модели рассуждения на длинных контекстах могут наблюдаться спады качества на ревордах. Кроме того, при RL возникает недостаточная вариативность примеров для генерации, а KL-лосс получается очень шумным.
Для обучения QwenLong делают интервенции на SFT и RL-стадии. В первом случае заявляется обучение на домене единых контекстов — том же самом, что и RL. На самой RL-стадии применяются RPO и DAPO. Инженеры используют progressive scaling, то есть увеличивают длину контекста по мере обучения. Применяют комбинированный реворд: LLM-as-a-Judge и Rule-Based.
Используется также ретроспективный сэмплинг — примеры с низким скором с предыдущих стадий повторяются на следующих. По словам авторов статьи, это хорошо сказывается на обучении.
При замерах выделили три типа поведения ризонинг-моделей в работе с длинными контекстами:
— Grounding. Модель обращается к релевантной информации в длинном контексте, чтобы поддержать рассуждение: «Позвольте сперва ознакомиться с представленным текстом…»
— Subgoal Setting. Модель разбивает комплексный вопрос на несколько более мелких, чтобы решать задачу шаг за шагом: «Чтобы разобраться, нам сперва надо…»
— Backtracking. Модель обнаруживает ошибки в генерациях и возвращается к ним, чтобы решать их итеративно: «Такой подход не сработает, потому что…»
— Verification. Модель систематически валидирует предсказанные ответы, чтобы убедиться в их корректности: «Давайте подтвердим результат, путём…»
Интересно, что на SFT модель чаще демонстрирует разные типы поведения. Однако это не приводит к росту качества ответов. Это значит, что модели недостаточно просто иметь предпосылки к тому или иному образу действия — нужно ещё и тренировать его на RL.
Разбор подготовил❣ Александр Кайгородов
Душный NLP
Сегодня — статья от инженеров из Alibaba Group, которые сделали свою версию Qwen для ризонинга на длинных контекстах. Как сообщают авторы, их разработка сопоставима по качеству с o3, хотя имеет всего 32 миллиарда параметров.
Авторы отмечают, что при обучении модели рассуждения на длинных контекстах могут наблюдаться спады качества на ревордах. Кроме того, при RL возникает недостаточная вариативность примеров для генерации, а KL-лосс получается очень шумным.
Для обучения QwenLong делают интервенции на SFT и RL-стадии. В первом случае заявляется обучение на домене единых контекстов — том же самом, что и RL. На самой RL-стадии применяются RPO и DAPO. Инженеры используют progressive scaling, то есть увеличивают длину контекста по мере обучения. Применяют комбинированный реворд: LLM-as-a-Judge и Rule-Based.
Используется также ретроспективный сэмплинг — примеры с низким скором с предыдущих стадий повторяются на следующих. По словам авторов статьи, это хорошо сказывается на обучении.
При замерах выделили три типа поведения ризонинг-моделей в работе с длинными контекстами:
— Grounding. Модель обращается к релевантной информации в длинном контексте, чтобы поддержать рассуждение: «Позвольте сперва ознакомиться с представленным текстом…»
— Subgoal Setting. Модель разбивает комплексный вопрос на несколько более мелких, чтобы решать задачу шаг за шагом: «Чтобы разобраться, нам сперва надо…»
— Backtracking. Модель обнаруживает ошибки в генерациях и возвращается к ним, чтобы решать их итеративно: «Такой подход не сработает, потому что…»
— Verification. Модель систематически валидирует предсказанные ответы, чтобы убедиться в их корректности: «Давайте подтвердим результат, путём…»
Интересно, что на SFT модель чаще демонстрирует разные типы поведения. Однако это не приводит к росту качества ответов. Это значит, что модели недостаточно просто иметь предпосылки к тому или иному образу действия — нужно ещё и тренировать его на RL.
Разбор подготовил
Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from gonzo-обзоры ML статей
Неужели мы наблюдаем возрождение эволюционных стратегий как альтернативы RL? Я помню ту работу 2017 года от OpenAI и Суцкевера в частности "Evolution Strategies as a Scalable Alternative to Reinforcement Learning" (https://arxiv.org/abs/1703.03864), где впервые ES показали себя достойной альтернативой RL. Я сам писал про это в начале 2017 года (https://moocaholic.medium.com/2017-the-year-of-neuroevolution-30e59ae8fe18). Но в мир LLM эти подходы так и не пришли, возможно потому что на миллиардах параметров оно сходу не работало. Свежая работа "Evolution Strategies at Scale: LLM Fine-Tuning Beyond Reinforcement Learning" (https://arxiv.org/abs/2509.24372) устраняет этот пробел. Реализация настолько простая, что непонятно, почему это сделали только в 2025-м...
https://t.iss.one/gonzo_ML_podcasts/936
https://t.iss.one/gonzo_ML_podcasts/936
arXiv.org
Evolution Strategies as a Scalable Alternative to Reinforcement Learning
We explore the use of Evolution Strategies (ES), a class of black box optimization algorithms, as an alternative to popular MDP-based RL techniques such as Q-learning and Policy Gradients....
Forwarded from Quant Valerian
Прочитал книгу Эффективный конфликт
По рекомендации моего товарища Андрея прочёл книгу. Многого не ждал — у меня и эмоциональный интеллект достаточно высокий, и с конфликтами я справляюсь как-то естественно хорошо, и кое-чему успел поучиться в жизни.
Но книга оказалась просто пушкой! Какие-то приёмы я знал, но всё равно извлёк тонну пользы из книги, и вообще я в восторге!
Во-первых, хорошая, стройная теория, прям настоящий фреймворк для разрешения конфликтов. Во-вторых, там есть упражнения! А на сайте их есть ещё, и это супер полезно! В-третьих, многие тезисы сопровождаются ссылками на исследования или на consensus.ai, которым я тоже регулярно грешу пользоваться.
О чем книга?
О межличностных конфликтах. Именно про случаи, когда конфликт между вами и кем-то ещё. Под конфликтом в книге понимается только негативное значение: когда кто-то пытается изменить ваш социальный статус или с помощью манипуляций получить от вас желаемое.
Здесь нет ничего про медиацию конфликтов или про то, что делать, когда к вам пришли подчиненные в ссоре. Не рассматриваются конструктивные конфликты, столь полезные в работе группы.
Что за фреймворк?
Четыре стадии конфликта: эмоциональная, показ границ, защита границ, сепарация. Переходя от стадии к стадии, мы даём визави шансы на сохранение отношений, при этом не позволяя нанести ущерб нам.
- Эмоциональная стадия это когда вам нагрубили на эмоциях.
- Показ границ используется, когда ваши личные границы нарушили ненарочно, по незнанию или по глупости.
- Защита границ применяется, когда человек точно понимает, что нарушает ваши границы, но отказывается их уважать. Чаще всего это манипуляция или прямая агрессия.
- Сепарация это последний шанс сохранить отношения. На этой стадии вы находитесь, когда понимаете, что уже готовы пойти на разрыв отношений.
Для кого может быть полезно?
Для всех! Книга рассматривает ситуации от банального хамства в общественном транспорте до манипуляций со стороны руководителя или проблемной подруги. Есть даже кейсы, когда родители передавливают с «когда уже дети?». Моя однозначная рекомендация и оценка 10/10.
По рекомендации моего товарища Андрея прочёл книгу. Многого не ждал — у меня и эмоциональный интеллект достаточно высокий, и с конфликтами я справляюсь как-то естественно хорошо, и кое-чему успел поучиться в жизни.
Но книга оказалась просто пушкой! Какие-то приёмы я знал, но всё равно извлёк тонну пользы из книги, и вообще я в восторге!
Во-первых, хорошая, стройная теория, прям настоящий фреймворк для разрешения конфликтов. Во-вторых, там есть упражнения! А на сайте их есть ещё, и это супер полезно! В-третьих, многие тезисы сопровождаются ссылками на исследования или на consensus.ai, которым я тоже регулярно грешу пользоваться.
О чем книга?
О межличностных конфликтах. Именно про случаи, когда конфликт между вами и кем-то ещё. Под конфликтом в книге понимается только негативное значение: когда кто-то пытается изменить ваш социальный статус или с помощью манипуляций получить от вас желаемое.
Здесь нет ничего про медиацию конфликтов или про то, что делать, когда к вам пришли подчиненные в ссоре. Не рассматриваются конструктивные конфликты, столь полезные в работе группы.
Что за фреймворк?
Четыре стадии конфликта: эмоциональная, показ границ, защита границ, сепарация. Переходя от стадии к стадии, мы даём визави шансы на сохранение отношений, при этом не позволяя нанести ущерб нам.
- Эмоциональная стадия это когда вам нагрубили на эмоциях.
- Показ границ используется, когда ваши личные границы нарушили ненарочно, по незнанию или по глупости.
- Защита границ применяется, когда человек точно понимает, что нарушает ваши границы, но отказывается их уважать. Чаще всего это манипуляция или прямая агрессия.
- Сепарация это последний шанс сохранить отношения. На этой стадии вы находитесь, когда понимаете, что уже готовы пойти на разрыв отношений.
Для кого может быть полезно?
Для всех! Книга рассматривает ситуации от банального хамства в общественном транспорте до манипуляций со стороны руководителя или проблемной подруги. Есть даже кейсы, когда родители передавливают с «когда уже дети?». Моя однозначная рекомендация и оценка 10/10.
books.yandex.ru
Читать «Эффективный конфликт. Как защищать интересы и управлять сложной коммуникацией». Александра Клименко, Михаил Ромашов, Юрий…
«Эффективный конфликт. Как защищать интересы и управлять сложной коммуникацией» Александра Клименко, Михаил Ромашов, Юрий Клименко читать полную версию книги на сайте или в приложении электронной онлайн библиотеки Яндекс Книги.
Forwarded from Yandex for ML
This media is not supported in your browser
VIEW IN TELEGRAM
Пока мы готовим видео с докладами, делимся записями мастер-классов. Изначально не планировали их записывать, но на конференции они вызвали ажиотаж. Мы всё поняли и сделали выводы: практический ML должен попробовать каждый.
Подписывайтесь:
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from URBAN MASH (Мария Эрцеговац)
АЛГОРИТМЫ МАРШРУТИЗАЦИИ ДЛЯ НАВИГАЦИОННЫХ СИСТЕМ
Я собрала подборку наиболее часто использованных алгоритмов построения маршрутов. Хочу обратить внимание на 2 наиболее популярных.
1️⃣ Contraction Hierarchies (CH) - используется в промышленных навигационных системах (Google Maps, OSRM). После предобработки поиск пути занимает миллисекунды даже на графах с миллионами узлов.
2️⃣ Классический A-star - это эвристический алгоритм, который сочетает стоимость пройденного пути и эвристическую оценку до цели. Быстрее Dijkstra, но требует хорошей эвристической функции. Идеален для игр и учебных проектов.
Выложила простенький код на своем гитхабе, как построить маршрут из точки А в точку Б по алгоритму a-star.
Полезные Python-библиотеки
3️⃣ BallTree - фича из МЛ, которая используется для более быстрого поиска нахождения ближайшего узла. Когда мы выгружает сеть дорог, преобразовываем его в граф (ребра + узлы), часто получается так, что наши точки не находятся внутри графа (как в моем примере Скупштина и Калемегдан в Белграде). Основная идея заключается в том, что Ball Tree - это древовидная структура данных, которая рекурсивно разделяет пространство на вложенные сферы ("шары") для эффективного поиска ближайших соседей. Сложность такого поиска O(log N) вместо O(N).
Современные API провайдеры маршрутизации
❤️ Бесплатные:
🔥 OSRM
🔥 OpenRouteService
🔥 GraphHopper
❤️ Платные (с free trial доступом):
🔥 Google Maps Directions API
🔥 HERE Maps Routing API
🔥 MapBox Directions API
🔥 TomTom Routing API
🔥 Apple MapKit JS
@urban_mash
Я собрала подборку наиболее часто использованных алгоритмов построения маршрутов. Хочу обратить внимание на 2 наиболее популярных.
Выложила простенький код на своем гитхабе, как построить маршрут из точки А в точку Б по алгоритму a-star.
Полезные Python-библиотеки
# 1. OSMnx - самый популярный для работы с OSM
import osmnx as ox
G = ox.graph_from_place('Belgrade')
route = ox.shortest_path(G, start, end)
# 2. NetworkX - базовые алгоритмы
import networkx as nx
path = nx.astar_path(G, start, end)
# 3. PySAL - географический анализ
from libpysal import weights
# 4. Scikit-learn - для BallTree
from sklearn.neighbors import BallTree
from sklearn.neighbors import BallTree
import numpy as np
# Для поиска ближайших узлов графа к координатам
nodes = np.array([[G.nodes[n]['y'], G.nodes[n]['x']] for n in G.nodes()])
tree = BallTree(nodes, metric='haversine')
def nearest_node(point):
point_rad = np.radians([[point[1], point[0]]])
dist, idx = tree.query(point_rad, k=1)
return list(G.nodes())[idx[0][0]]
Современные API провайдеры маршрутизации
@urban_mash
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Обзоры Пива.txt
Я провел мини-ресерч в области продакт менеджмента, опросил ряд junior/middle/senior продактов из Авито и других компаний.
В исследовании фокус на пути входа aka "вката" в профессию, а не о самой профессии.
Спасибо всем, кто принял участие в ресерче!
PDF-версия в комментариях к посту
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from VF | Science
Сегодня выложили 2 части лекции и она немножко затянулась, примерно на 100 минут :)
На лекции мы обсудили основополагающую технологию VQ-VAE и дошли до современных подходов к обучению аудиокодеков. Попутно рассмотрели специфические для них проблемы и способы их решения — такие как недифференцируемость в процессе обучения, коллапс кодовой книги, неэффективное покрытие домена и недостаточная репрезентативность для последующих задач. Отметили тенденции в современных исследованиях, разобрали конкретные примеры актуальных аудиокодеков и подумали, как можно объединить существующие подходы для обучения собственного кодека, потенциально превосходящего текущие решения. В завершение поговорили о практических рекомендациях по обучению кодеков и дополнительной литературе по теме.
Лекцию сделал без глубокого погружения в конкретные работы, зато мы обсудили гораздо больше других мыслей и сохранили интуицию по самым важным идеям и проблемам VQ-VAE моделей. Хотелось сделать лецию с упором на актуальные идеи и дать ровно столько, чтобы вы могли решить, куда стоит углубиться самостоятельно, имея фундамент заложенный после просмотра. Пишите возникающие вопросы в чат курса DLS или мне @varfolomeefff
Предлагаю посмотреть и поделиться мнением под постом. Давно я длинные лекции не читал.
На днях выделю особенно интересные тезисы из лекции в канал и обсужу их. Интуиция на леции правда животрепещущая и есть, о чем поспорить/подумать.
Часть 1: https://youtu.be/4mVfb-mhv9k?si=k9Q2wgtsA1h2DcP0
Часть 2: https://youtu.be/kOS6qHc6K2g?si=Po-jHSLwpeO5LmkZ
#audio #perfomances
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Лекция. Аудио кодеки. Часть 1
Занятие ведёт Захар Варфоломеев
Ссылка на материалы занятия:
---
Deep Learning School при ФПМИ МФТИ
Каждые полгода мы запускаем новую итерацию нашего двухсеместрового практического онлайн-курса по глубокому обучению. Наборы проводятся в августе-сентябре…
Ссылка на материалы занятия:
---
Deep Learning School при ФПМИ МФТИ
Каждые полгода мы запускаем новую итерацию нашего двухсеместрового практического онлайн-курса по глубокому обучению. Наборы проводятся в августе-сентябре…