Мемы и личные размышления про управление, код, ml и здравый смысл. Сейчас руковожу командой OCR in VLM в Яндексе. Автор: @toshiksvg
Оказывается, ещё один релиз вышел — https://www.anthropic.com/news/claude-opus-4-1
за мем спасибо @denissexy
Data Dojo в Питере!
Я стараюсь посещать местные тусовки, хотя бы те, которые организованы Яндексом, просто потому что я о них узнаю внутри. ML Party, Data Dojo и многие другие. В первую очередь потому что люблю пообщаться с ребятами из разных компаний, послушать разные байки, да и самому чего-нибудь порассказывать 😀.
В этот раз я не смогу быть (из-за командировки 😊), тем не менее, можете придти вы! Программа классная, будут выступать очень классные гости, таких не часто встретишь на конференциях:
— Коля Савушкин, руководитель команды рекомендашек, расскажет про тренды в его области;
— Лёша Колесов, руководитель всея NLP, расскажет про весь R&D — чего сделали прикольного и чего хотим сделать.
Ещё будет разбор ML-задачки 🧠. Если вам есть что рассказать — записывайтесь!
Ну и самое важное — нетворк. Кажется, его должно быть много!
Записаться можно на лендосе: записаться.
P.S. Я не в курсе, будет ли кисель на мероприятии, но если будет — набирайте в своё удовольствие 🙂
Intern-S1
В мультимодалках пополнение:
— 235B MoE LLM (Qwen3) + 6B Vis Encoder (InternViT);
— 5T мультимодальных токенов в обучении;
— Thinking и Non-Thinking Modes;
— По уровню такая же или чуть лучше текущих опенсорсов, как по мне, по идее хуже gemini 2.5 pro;
— Бенчмарков маловато, хотелось бы побольше общеупотребимых, будем ждать народного инференса;
— Важным выделяют то, что половина трейна — это научные данные.
Страничка на HF: https://huggingface.co/internlm/Intern-S1
Тех репорт: ждём 🙂
Потыкаться можно здесь: https://chat.intern-ai.org.cn/
Если кто-то развернёт у себя на маке, скиньте гайд, тож попробую 😀
СОЗВОН-ПОДКАСТ❗️
Новый онлайн-подкаст состоится уже 6 августа (среда) в 19:00 🔥
Наш гость - Антон Клочков, руководитель R&D команды в Яндексе 💸
Тема подкаста: «ML-инженерия и что из себя представляет профессия ML-инженера» 👨💻
О чем поговорим?
🟣Чем интересная профессия ML-инженера?
🟣Как эффективно расти в сфере ML-инженерии?
🟣Как вырасти из линейного сотрудника до руководителя команды?
Не пропусти! И не забудь позвать своих друзей и коллег 💖
Давайте поболтаем 😍
Что-то хочется немного похоливарить или просто пообщаться сегодня вечером в комментах.
Вот вам вопрос:
Самая кринж статья последнего полугодия? Не обязательно только про статьи из arxiv.org
Планы планы планы
Итак, закончился очередной отчётный период, пора бы уже начать новые дела какие-то делать. Но какие? Как говорится, нужон план 🤓.
Я помню, еще на прошлой работе делал первый план работы по направлению. И слева подошёл, и сбоку, и снизу подглядел, но всё-таки родил какой-никакой план. Гордый результатами своих трудов за несколько фулл-тайм дней приношу их к своему руководителю и получаю: "Не, ну это не план" 😊. На секундочку, тогда у меня был список шагов, без какой-либо конкретики, задач хватало от силы на 2-3 недели, и без каких-либо целей и сроков.
Тогда я усвоил для себя один из уроков: список задач/целей/направлений — это еще не план, это просто список. План должен что-то про сроки говорить, про то, зачем это вообще делается, и как будет оцениваться успех.
После много лет утекло, планы как-то писались и что-то даже получалось (по крайней мере, вопросов не так много было). Я уже снова успел побывать разработчиком 🤔, обратно перекатился в лиды — и снова эти планы. В поте лица написал огромную тираду амбициозных планов по всем канонам, с какими-то там сроками! Вам не показалось — она была и правда ОГРОМНОЙ 👨🦳.
Тут другой урок: планы должны быть компактными, но с возможностью детализации. Часто мало кому нужно понимать, что через пару недель нужно обновить компоненту X в сервисе Y. В этом аспекте я очень люблю наставление моего руководителя: план должен состоять из 3-5 фокусов, чтобы у человека сложилось общее понимание, что происходит. При необоходимости — можно углубляться, но часто это нужно уже самому тебе.
Ну вот и построил ты свои планы. А через пару недель они сломались ❓. Где-то человек заболел, где-то обстоятельства поменялись. Одним словом — риски, форс-мажоры и внешние факторы. Связаны могут как с людьми, так с технологиями и, в целом, с бизнесом.
Урок следующий — планы должны быть гибкими. Это позволяет митигировать риски, о которых просто не подумал/упустил (а обязательно что-то пройдёт мимо). Подумать про запасные варианты, различные случаи — это всегда полезно и часто важно.
Лично у меня в R&D всегда было так 🏥. А у вас как? Пишете планы? Получается?
P.S. самое важное: план — это не что-то прибитое гвоздями, но неплохо, чтобы он был +- стабилен 🌿.
Как работают устройства хранения
Я чот зачитался блога из поста выше😍. И хочу отметить ещё одну очень классную статью, уже не то, чтобы прям для самых маленьких (но и для них тоже). Я концептуально понимал, как работают разные устройства хранения, но эти концепты у меня были размыты 😍.
Кажется, статья это исправила. Тут про то, как работают ленточное хранение, HDD, SSD. Немного рассказывают про облачное хранение и проблемы с ним (но имхо, уже больше для рекламы).
Мне очень понравился раздел про проблемы с порядком хранения данных в SSD и зацепила фраза:
This demonstrates that the order in which we read and write data matters for performance. Many software engineers don't have to think about this on a day-to-day basis, but those designing software like MySQL need to pay careful attention to what structures data is being stored in and how data is laid out on disk.
Руководитель и код
Банальную и понятную фразу сейчас напишу: да, навыки работы с технологиями стремительно показывают отрицательный рост у руководителей 😀. Но правда ли всё так плохо? И у всех ли это так?
Я видел и вижу разных руководителей, среди них бывают и такие:
- руководитель супер технической команды — почти всегда это больше техлид, но тем не менее и с бизнесом пообщаться, и в people managment нужно немного уметь;
- топ-менеджеры в различных компаниях, которые не против и покодить между делом (естественно, не супер много).
Но, конечно же, чаще всего у руководителей полно различной работы, и код здесь почти не в приоритете 🥺. И дело не в том, что задач на разработку нет, они есть, их дофига, они не вмещаются в твою команду, но если ты начнёшь писать код — ты начнёшь терять фокус с чего-то другого, например, с ресурсного состояния людей в команде. Далеко не всегда грамотный руководитель может позволить себе такую роскошь 🤓.
Как мне видится, то, что я плохо начинаю понимать за технологии, ужасно, если захочу перекатиться обратно — будет не так просто это сделать, нужно заново вникать в суть работы разработчика/инженера. Тем не менее, современные AI помощники очень классно помогают поддерживать тонус, поэтому это проблема меня 5-ти летней давности. Ну и у меня есть люди в команде, которые, честно говоря, всегда с радостью поделятся знаниями. Так, например, я недавно понял, что я чот не понимаю в роторных эмбедингах, и мне ребята быстро объяснили за них 🌿!
Что более важно, как мне кажется, в самом руководителе, это умение быстро докапываться до сути и балансировать приоритеты. Если ты в чём-то не разбираешься — найти и пройти оптимальный путь до хорошего осознания. Если у тебя планы на следующий квартал не готовы, то какой код, Антон, ты чего. Если это есть, то и код быстро восстановится, как мне кажется.
Я буду как блогер 😀: давайте на этом посте мы наберём 40 реакций 🔥 и я рассказываю, каким образом я недавно променял все свои менеджерские задачки на код (на недельку так) и почему без этого было никак 😺.
Что читает команда распознавания текста в VLM: подборка актуальных статей
Инженеры VLM-команды Яндекса поделились статьями, которые они в последнее время читали и обсуждали. В сегодняшней подборке: новые подходы к генерации инфографики, свежие бенчмарки для мультимодальных моделей, работающие пайплайны генерации кода по графику и попытки добавить зрение в диффузионки.
ChartGalaxy: A Dataset for Infographic Chart Understanding and Generation
Статья о том, как сгенерировать около миллиона инфографик. Авторы подробно описали каждую стадию процесса: сбор шаблонов, индексирование описаний, иконок и других элементов для заполнения шаблонов, фильтрацию и проверку качества.
InfoChartQA: A Benchmark for Multimodal Question Answering on Infographic Charts
Авторы собрали новый бенчмарк позволяющий проверить, как VLM-модели понимают инфографику. Для каждой инфографики сделали упрощённую версию в виде обычного графика с теми же данными — модели справляются с таким заметно лучше, чем с визуально перегруженным оригиналом. Также добавили новый тип вопросов по отдельным кропам из изображения инфографики — на понимание мелких визуальных деталей.
ChartCoder: Advancing Multimodal Large Language Model for Chart-to-Code Generation
Авторы обучили модель понимать графики: она получает изображение и возвращает код на Python (Matplotlib), чтобы построить такой же график. Для этого использовали стратегию Snippet-of-Thoughts (SoT) — пошаговое рассуждение перед финальной генерацией кода. Взяли LLM, способную писать код, собрали датасет под задачу (160 тысяч картинок, на каждую — один вопрос и ответ). Кратко описали пайплайн его создания. Модель показывает лучшие результаты среди аналогов такого же размера (включая почти самые свежие Qwen и InternVL). В ablation-экспериментах дообучили Qwen на своём датасете — получили прирост; 384 px + Anyres почти хватает для большинства графиков.
Relation-Rich Visual Document Generator for Visual Information Extraction
Статья с CVPR 2025 о генерации синтетических text-rich-документов с логической структурой (таких, как формы). Пайплайн генерации любопытен тем, что в нём сначала генерируют текст с помощью ChatGPT, а уже потом — структуру документа (laytout). Чаще встречается обратный вариант, когда структуру документа заполняют текстом. Авторы показывают, что обучение Qwen2-VL и Llava-NexT-mistral на таких данных улучшает метрики распознавания текста и извлечения информации на публичных бенчмарках.
LLaDA-V: Large Language Diffusion Models with Visual Instruction Tuning
Авторы попытались расширить предобученную текстовую диффузию LLaDA на мультимодальность, добавив визуальный вход через SigLIP2 и MLP-проекцию в языковое пространство. Итоговая модель зафайнтюнена на визуальных и reasoning-focused-инструкциях MAmmoTH-VL и VisualWebInstruct и бьёт автогрессионные и диффузионные бейзлайны по ряду мультидисциплинарных и визуально-математических бенчмарков.
SFT Memorizes, RL Generalizes: A Comparative Study of Foundation Model Post-training
Интересная статья, авторы которой подтверждают тезис из названия: SFT хорошо запоминает жёсткие форматы и правила, но плохо справляется с out-of-distribution-задачами. В то же время RL реально улучшает генерализацию и показывает заметный прирост на OOD-случаях. Но SFT всё равно нужен, чтобы RL вообще завёлся. В противном случае модель не умеет нормально реагировать на инструкции или генерирует неконтролируемый выход. RL-обучение не получает положительного сигнала. Это справедливо как для LLM, так и для VLM.
Подборку подготовила ❣ Команда распознавания текста в VLM
CV Time
Мысли про самоотзывы на перформанс ревью
Неожиданно много блогов стало писать про ревью. С чего бы это? Ну да ладно, чем я хуже, давайте чего-нибудь про это напишу.
Будучи линейным разработчиком я старался фиксировать все свои достижения 🧠: успехи, неудачи, выступления на семинарах и конференциях, помощь в мероприятиях и т.д. Это позволялом мне достаточно быстро слепить самоотзыв, из того, что есть, в период, когда он нужен. Обычно у меня получались достаточно объёмные полотна текста, хоть и с выделенными фокусами. И я считал это невероятным достижением: ну нифига себе я сделал, говорил я себе! Вот тут я, получается, выше ожиданий, а тут успешный успех!
Со стороны руководителя начинаешь смотреть на полотна немного иначе.
Будучи радеющим за своих людей человеком, ты обязательно и досканально его прочитаешь. И это уже сам по себе челелендж, учитывая и количество людей, и размеры текстов.
Пытаешься отделить основное от дополнительного, приоритезировать достижения.
Пытаешься фильровать описательные и субъективные выражения: "сильно выросли", "невроятный успех", "выше ожиданий", "крайне близко" и т.д.
Фактчекаешь любое утверждение.
Очень скептичного смотришь на выражения "разобрался в работе", "провёл много экспериментов", "посмотрел и выяснил".
https://storage.googleapis.com/deepmind-media/gemini/gemini_v2_5_report.pdf
The development of Gemini is a large-scale collaborative effort involving over 3000 individuals across Google, including researchers, engineers, and operations staff. These individuals contributed their hard work and expertise across diverse areas, from foundational research and the development of model architecture, data, training, and infrastructure, through to evaluation and ensuring safety and security. We gratefully acknowledge the dedication and hard work of each contributor in making Gemini a reality.
Активное слушание
Сегодня на курсах мы практиковали 1-1 по одному из топиков и наш фасилитатор скинул интересную, возможно многим знакомую, заметку от Крисса Восса:
https://www.blackswanltd.com/newsletter/active-listening-what-it-is-and-why-it-matters-in-negotiating
В ней говорится про навык активного слушания. Я прям скопирую два важных абзаца из статьи:
Although it sounds simple, training your mind to fully engage in the act of listening and withhold personal judgment requires discipline and practice. Most of the time, we listen on a superficial level to hear certain words, or just long enough to get the gist of what someone is saying. Once we think we know where they’re heading, our attention shifts back inward, where we silently compare what we heard to our own logic and worldview. Although we’re still hearing the words that are being spoken (and may even nod in encouragement), we’re mental light-years away.
...
we often listen with the wrong objectives. In an effort to protect our autonomy or prove our value, we tend to only listen for information to confirm our own potential misunderstandings (assumptions) or for weaknesses on which to launch a rebuttal
Как AI влияет на способность думать
The fun has been sucked out of the process of creation because nothing I make organically can compete with what AI already produces—or soon will. All of my original thoughts feel like early drafts of better, more complete thoughts that simply haven’t yet formed inside an LLM.
https://github.com/huggingface/transformers/pull/39923/commits
Допустим
Будем верить, что оно и правда работает 😀
Visual SKETCHPAD
Давайте в это прекрасное воскресенье не про менеджерское, а про техническое 😍.
Читал я, значит, очередную статью про мультимодальный ризонинг и натыкаюсь в ней на другую годовалой давности. Не знаю, по каким причинам я её пропустил тогда (а их могут быть тысячи), но идея очень прикольная.
Когда только вышли мультимодальные системы серии O от OpenAI, вау-эффектом было то, что в рассуждениях они часто кропали, зумили и всячески модифицировали картинки. И вау было не от того, что как-то система учитывает их в контексте (это как раз база), а откуда и как она эти картинки модифицирует.
И тут меня опытный чтец остановит и спросит: а чо всмысле система? Почему не модель? И будет прав, потому что никто, кроме самих сотрудников, не знает, чо там под капотом, поэтому мне легче рассуждать в терминах системы.
Руководитель и код. Часть 2/2
В прошлом посте вы постарались набрать очень быстро необходимое число лайков. Тем не менее, пишу пост только сейчас. Вообще ваши реакции — практически единственная форма фидбека мне. Поэтому если вам что-то нравится или, наоборот, не нравится, вы смело приходите ко мне с этим (куда угодно: личка, сообщения канала, комменты). Ну и реакции ставьте 😍
// some code
if (currentPrompt.size() == 0) {
currentPrompt = userData.content;
}
currentPrompt += userData.content;
// some code
if
. Хорошо, что куда-то наружу не ухеало. Ну и замечательно, что это была единственная проблема.N айтишниц нашли в баре Антона
Меня позволи в свою рубрику N айтишниц и в формате небольшого интервью рассказал про свою жизу 😍
Порции мотивашки раздал здесь: /channel/n_it_girls/358
В тексте есть спойлер, что послужило мотивацией написать пост: /channel/blog_toxa/391
Влияние LLM на продуктивность опытных разработчиков
Статья: https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/
Утверждается:
Surprisingly, we find that when developers use AI tools, they take 19% longer than without—AI makes them slower.
It also may be the case that there are strong learning effects for AI tools like Cursor that only appear after several hundred hours of usage—our developers typically only use Cursor for a few dozen hours before and during the study.
Кэширование для самых маленьких
Вай-вай-вай, наткнулся на классную вводную статью про кэширование 🌿. Такую показываешь на первом курсе или в школе — и сразу людям чуточку понятнее становится, почему так много типов памяти, какая вообще бывает и т.д. Под конец: локальность кэширования, немного слов про LIFO, LRU, Time-aware LRU.
Я бы не писал про столь простую статью сюда, но там, друзья, такие классные интерактивные анимации, что меня пленило. Попробуйте и вы!
Ну а если вы не знаете, что такое cache miss, то пора бы узнать 🤓!
Ссылка на статью: https://planetscale.com/blog/caching
В общем, скидываю бабушке, а дальше быстренькая лекция ей про локальность вычислений для cuda-ядер. Как план?
Майндсет тимлида и его руководителя
Большинство тимлидов занимают ролевую модель папочки для своих сотрудников. Это такие маленькие, сплоченные коллективы, которые чувствуют, что живут в страшном и жестоком мире, где все, кто не входит в команду, пытаются их обмануть, сожрать и унизить. Тимлиды же никого подпускают к своим ребятам, закрывают их грудью, принимая на себя все летящие снаружи вопросы, претензии и задачи. Любой ценой нужно недопустить, чтобы злой проджект навалил в спринт своих задач побольше. Всеми силами экономить энергию и время своих ребят, отбивая задачи в смежников или в небытие. И сотрудники таких тимлидов, обычно, любят, потому что чувствуют, как за них врубаются, потому что имеют время на технические, интересные задачки, потому что общий враг, в принципе, хорошо сплочает коллективы.
А вот тимлид тимлидов смотрит на картину несколько иначе. Со стороны выглядит, что он делает то же самое: отбивает какие-то задачи и проекты в смежников или небытие, отдувается перед топами на всевозможных разносах, защищая команды. Но на самом деле, есть очень существенное отличие. Если о нем не задумываться, то поведение М2 менеджера может казаться тимлидам нелогичным.
Разница очень простая, но очень важная. М2 думает, как должно быть хорошо и правильно. Если он отбивает задачу в смежников, то не для защиты своих команд от переработок, а потому что считает, что это выгоднее для компании (или проекта) в целом. Например, экспертиза должны находиться в другом месте или смежники могут сделать быстрее, а уже горит. Если он отбивает задачу совсем, то, вероятно, считает, что она только навредит. Может, ROI плохой, может, не вписывается в целевую архитектуру, может, противоречит стратегии.
Вообще видение такое, что вокруг не враги, а люди, с ограниченными контекстами. И ты сам с ограниченным контекстом. И вам надо достичь какой-то общей большой цели, но вы каждый видите свои пути. И вот надо всем объяснить, что ты не враг. Показать свой контекст. Убедить их показать свои тебе. И дальше договариваться, как же поступить оптимально. И это непрерывная работа.
Но иногда, даже держа в голове эти мысли, тимлид может решить, что М2 ведёт какую-то хитрую политическую игру, ведь решения всё ещё не логичны. Может и так. Но скорее всего, М2 просто подумал на много шагов вперед и учел риски, которые тимлиду даже в голову не приходили (он банально меньше знает вширь, но больше вглубь, да).
В целом, я, например, даже пытаюсь объяснять свои решения тимлидам. Но, во-первых, не всегда об этом думаю, во-вторых, не всегда нахожу силы, в-третьих, всё равно иногда вижу реакцию типа "ага, ну я понял, как _на_самом_деле_, но буду транслировать твою версию, я тебя раскусил".
М2 это работать почти никак не мешает. Просто иногда тимлидов заносит и надо их поправлять. А вот тимлиду изменение майндсета на М2 может помочь вырасти на следующую ступеньку.
P.S.:
Kind reminder, что вы можете связаться со мной через бота в описании, он звездочек не просит.
Llama Nemotron Nano VLM
Тут донеслось, что NVIDIA дропнула какую-то прикольную VLMку для IDP (Intelligent Document Processing): https://huggingface.co/blog/nvidia/llama-nemotron-nano-vl
Пишут, что даже на лидерборде по OCRBench V2 в топе (хотя сам набор моделек кажется очень неполным). Тем не менее, NVIDIA заявляет, что они SOTA. Что-ж, допустим.
Если кто-то протестирует — пишите в личку или комменты, чо как. Ну или я когда-нибудь сам доберусь. Пока выглядит падазрительно!
PML Conf
Я тут неожиданно для себя стал одним из членов ПК конференции от Яндекса — Practical ML Conf. В этом году на конференции будут представлены доклады по 6 трекам: CV, NLP, Speech, RecSys, MLOps, Data Science. Подать заявку можно до 23 июня (енто я вовремя пишу, в общем-то 😁), для подачи заявки перейдите по ссылке.
Что предлагаем для спикеров:
— Дадим советы по структуре и содержанию доклада
— Будут прогоны материалов с тренером по публичным выступлениям и помощь с дизайном презентаций
— Возможность понетворкать с другими спикерами и получить фидбэк по проекту
— Промо докладов через каналы Яндекса до и после конференции
— Возможность посетить PML Conf без отбора вместе с +1
Насколько мне известно, планируется как онлайн, так и офлайн трек. Потому, если вдруг вы бы хотели выступить, но нет возможности сделать это оффлайн — тож подавайтесь 🧠.
Копаюсь в MCP, и некоторые находки — это просто невероятно.
Например:
1) Cursor представили «MCP Deeplinks» — функцию, позволяющую делиться конфигурациями MCP с помощью ссылки.
2) Когда пользователь нажимает на такую ссылку, Cursor предлагает ему «Установить MCP».
3) И что же делает кнопка «Установить MCP»? По сути, она просто выполняет любой shell-скрипт, встроенный в ссылку в формате Base64.
Я набросал скрипт, который забирает мой публичный SSH-ключ и отправляет его на мой сервер. Я запаковал его в диплинк, нажал «Установить», и, конечно же, мой ключ тут же оказался на сервере. По сути, "хакнул" себя за 2 клика.
Другими словами, это печально известный метод установки в стиле curl | sh, но поданный под видом дружелюбной функции. И все это в экосистеме с тысячами непроверенных поставщиков MCP и пользователей новичков-вайбкодеров.
(На гифке я включаю "MCP" в курсоре и получаю свой ключ на сервере)
Четвёртая трёхдневка в Стратоплане
Для новеньких в канале и для тех кто подзабыл: я учусь быть руководителем лучше в школе Стратоплан. Прошлые серии можете почитать здесь: первая, вторая, третья.
Я неожиданно понял, что если писать пост спустя месяц после занятий, то это полезно не только вам, но и мне 😀 — я уже ретроспективно понимаю, что было прям мега важно и нужно, что я уже успел обдумать и даже попробовать, а чего неожиданно забыл.
На сей раз были достаточно важные для любого руководителя темы: формирование команды, найм, увольние и прочие активности, с этим связанные.
В первый день мы обсуждали различия между группой людей, которые чего-то вместе делают, от настоящей команды 🌿: у последних есть лидер, общая цель, роли и правила. Про каждый из этих аспектов поговорили достаточно подробно, особенно про цели: тут затронули модель BHAG или "большой мамонт" — способ постановки цели перед командой. Дальше поговорили про групповую динамику по Такману, обсудили модель Ленсиони, которую по другому именуют "Пять пороков команды".
Второй день был очень сложный 😊. Обсуждали матрицу "результат-потенциал" для оценки сотрудников, очень глубоко копали в то, как нанимать, что проверять, как строить весь процесс найма. Также был разговор про увольнение и критическую важность онбординга.
На третий день, я так понял, нас решили просто погонять по старому 🤓, но немного по другой призмой (обсуждали коммуникацию сверху-вниз). Снова обсуждали алгоритм конструктивной конфронтации, модель SBI и прочие инструменты, которые я отношу к категории "дать обратную связь".
Такая вот трёхдневка. Пользовались ли когда-нибудь такими инструментами?
Ставь 🔥, просто за мои глазки 😍!