blog_toxa | Unsorted

Telegram-канал blog_toxa - Дратути Антон

4011

Мемы и личные размышления про управление, код, ml и здравый смысл. Сейчас руковожу командой OCR in VLM в Яндексе. Автор: @toshiksvg

Subscribe to a channel

Дратути Антон

Профилируем память

В одном из прошлых постов писал, что в питончике можно профилировать память через memray. Действительно, хорошая тулза, умеет разбивать приложеньку на потоки, следить за форками, и даже работать с аллокациями на уровне С/С++. С последним не так классно справляется, сложно отследить аллокации глубоко в библиотеках.

Это является проблемой, если у вас течёт крыша 🏥 память не в куче, а какая-нибудь резидентная. Т.е. вы профилируете питонячие стек и кучу, а у вас всё там хорошо, при этом почему-то от вашего приложения всё поступают просьбы в ОС, что нужно больше памяти. Одна из причин — это то, что ваш питонячий код может использовать пакет, который является биндингом для плюсовой либы. И тут проблемки, потому что эта либа уже не живёт в модели памяти Python 🤓.

Что делать? Существуют множество техник. Одна из них — использовать jemalloc и подставить его через LD_PRELOAD.

И тут нужно знать две важные штуки о том, как запускаются приложения:
— На самом старте оно подгружает различные системные и собственные библиотеки;
— В вашем приложении сотни функций. Определение (читайте код) этих функций берётся по первому найденному символу (названию) среди подгружаемых библиотек;

Так вот, LD_PRELOAD — это способ загрузить кастомные либы до стандартных 🌿. Благодаря этому можно подменять любые функции, например, выделение и освобождение памяти.

Почему именно jemalloc? Потому что он имеет встроенные инструменты профилировки. Т.е. вам нужно запустить вашу приложеньку, просто переопределив переменную окружения (при условии, что у вас установлен jemalloc). Потом можно построить различные визуализации и техрепорты с теми статистиками, которые вам нужны. Можно регулировать частоту семплинга и всё такое. Вот тут можно почитать подробнее.

А мораль? Её нет. Профилировать резидентную память — это искать иголку в стоге сена: реально, но очень сложно.

А как бы вы профилировали? Поставьте 🤯, если было полезно!

Читать полностью…

Дратути Антон

Пусть будет 😍

Читать полностью…

Дратути Антон

Запись с ML Party в СПб

Я совсем пропустил, что, оказывается, моё выступление с ML Party, которое прошло 18 марта в Питере — уже опубликовали! Рассказал про то, как мы учим VLM, какие данные мы используем и с какими трудностями сталкиваемся! Мне кажется, получилось живо и здорово!

В кулуарных беседах обсуждали примерно следующее:
— Для чего вообще делать VLM и как бизнесу показать, что это нужная история?
— Очень много кто сейчас завозит VLM к себе: в основном слышу про документные срезы, когда нужно вытащить какую-то инфу из доков в удобном для обработки виде;
— Услышал про то, что есть ребята на рынке, кто занимается маленькими мультимодальными моделями — это было прям неожиданно;
— Немного обсуждали про то, как строить процессы в R&D командах.

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

Запись доклада:
Youtube: https://www.youtube.com/watch?v=QpF8qlmCyEA
VK: https://vkvideo.ru/video-17796776_456241574

Читать полностью…

Дратути Антон

Про сатанизм с планированием встреч

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

Достоверно не известно, но кажется выглядел он примерно так:

1. Назначайте встречи всегда впритык. Самое кайфовое это прислать приглашение за 15 минут до встречи со словами СРОЧНО и ВАЖНО в заголовке.

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

3. Если встреча запланирована на полчаса, то обязательно опоздайте на 15 минут. Вообще начинать вовремя это занудство, пусть вас ждут и видят какой вы важный пингвин, тем ценее будут оставшиеся 15 минут

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

5. Если на встрече гибрид (часть в офисе и часть онлайн) - не давайте неудачникам из онлайна говорить, че это они в офис не приехали. Ссылайтесь на неработающую связь, перебивайте и вообще бесите их побольше, так и в офис ездить начнут

6. Регулярно отменяйте встречу за 5 минут до встречи. Во первых ну а чо бы и нет, а во вторых вы же человек уважаемый, у вас что-то более приоритетное может случится. И пусть весь мир подождет

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

#сережинымысли

Читать полностью…

Дратути Антон

Кому что прихватить?)

Читать полностью…

Дратути Антон

Каждый день улучшайся на 1% — будешь молодцом

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

Допустим у вас есть какой-то навык. И чтобы вы его поддерживать делаете усилие X — будем его для приближения считать равным величине навыка. Собсна если X уменьшается, то ваш навык ухудшается, если наоборот — увеличивается.

Мысль первая
Если будешь каждый день прикладывать на 1% усилий меньше, то через год у вас будет 0.02X — и это грустно. Тут я с математикой согласно, очень просто начать делать что-то на 1% хуже.

Мысль вторая
Если будешь каждый день прикладывать чуть-чуть больше усилий, порядка 0.01%, то через год будет около 1.0037X от навыка. И как будто бы это очень мало, легче было полежать на диване 🙂 (нет).

Мысль третья
Если будешь каждый день прикладывать усилий порядка 1%, то через год будет около 37.8X от навыка. Ничоси как много, а звучит-то как — всего на 1% лучше каждый день!

Последняя мысль как по мне — ну полный булшит 😊. Невозможно прогрессировать каждый день на 1% (только если начинать с очень низкого старта).

Допустим, тот же жим лёжа. Во-первых, не получится каждый день (ну это ладно). Но даже если каждый день. Если начнёте с базы 1 кг — то в целом да, через год жать 37-38 кг вполне реально (в реальности будет куда больше, с этой базы прогрессировать будете быстрее). Увеличим базу в 10 раз — в конце года должны по математике жать 370-380кг. Смогёте? Не думаю. Но если сможете, больше никому битки не должны будете.

Проблема в том, что чем ближе мы к абсолюту, тем дороже и сложнее нам даётся пресловутый 1%. Это и в наших с вами задачах по машинному обучению, и в жизни, и в спорте. Когда я ходил в зал тягать тяжести, тренер мне рассказывал, что на больших весах (ну типа 150-200кг+ прогресс в 1кг за полгода-год — это крупное достижение для многих).

Но как мотивашка, вероятно, мысль весьма верная. Но среди всех этих дней должна быть не только работа над навыком и бездумное улучшение на 1%: а отдых, познание мира, время для себя, родственников, друзей, семьи, т.е. тот самый налог на жизнь, без которого она — уже не такая уж и жизнь 😍.

Читать полностью…

Дратути Антон

Опа, легендарная реакция вернулась, спасибо за бусты! 😂
Кинуть буст можно сюда: /channel/blog_toxa?boost

Читать полностью…

Дратути Антон

Футбольчик

Я тут на днях решил начать ходить на футбол 🌿. В детстве я практически всегда зависал на поле, а как переехал в Питер — в зале был 2-3 раза за все 9 лет. В третий раз я чуть не умер на тренеровке, было очень тяжко сердечку.

Сегодня был четвёртый. Я пошёл сегодня на треню. До этого регулярно на дорожке ходил (не бегал) в высоком темпе, думал всё будет норм. Но нифига!!! Просто во время игры команды через минуту две уже становилось так себе, так что до конца матча я как будто бы реально выживал. Вы, кстати, можете на скрине из приложения понять, когда я играл на поле, когда я стоял на воротах 😀.

Я сидел, отходил. Рядом сидел человечек, который старше меня лет на 10-15, говорит: "Братишка, ты чего? Ну ты даёшь, молодой же!" 😊

Тут я подумал, что надо выносливость как-то возвращать. Итак, подписчики, какие есть варианты?

Ну и 🔥 за футбольчик 😍

Читать полностью…

Дратути Антон

Сегодня пытался кидать юморески в рабочие чатики. Закидали клоунами...

Я решил поворчать, закидали ещё раз клоунами...

Фазовый переход в деда, кажется, начался...

По традиции давайте накидаем 🐳

А для ценителей кидайте анекдоты в комменты (а, ой...)

Читать полностью…

Дратути Антон

Про командировку

Нынче прошла ещё одна командировка в Москву. Работы было много, а потому писать было некогда 😍.

Наверное, это была самая продуктивная командировка за всю мою историю работы в компании и вот почему:
— Уделил время больше чем обычно всем тем, кто работает в Москве;
— Увиделся со всеми руководителями и менеджерами, с кем планировал встречи;
— Классно потусили московским составом после работы;
— Порешал какое-то невероятное число вопросов, которые по разному стечению обстоятельств не удавалось решить на удалёнке!

Я всё ещё сторонник живых встреч, считаю, что они существенно продуктивнее zoom-встреч. Поэтому в этот раз подход был именно встретиться со всеми, раз есть такая возможность. Правда, накопился некоторый беклог задач, который надо разгрести, но оно того стоило.

А как вы проводите свои командировки 😍?

Читать полностью…

Дратути Антон

Ничоси, в Москве-то нынче тепло и солнечно!

Читать полностью…

Дратути Антон

Вторая трёхдневка в Стратоплане

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

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

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

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

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

Также разговаривали про то, что такое "защищать" команду, как формировать её имидж. Тут много чего я уже делаю, но пару пунктиков забрал на обдумывание 🤔.

Если как-то прописывать итог: было очень много полезных вещей. Каждый день уходил как минимум на час подумать о том, что мы сегодня прошли, очень много чего щёлкало в голове "агаа, так вот как можно это всё делать" 😍!

Если вам нравится читать про моё обучение — поставьте 🔥, чтобы я понимал! Сталкивались ли вы с топиками из поста?

Читать полностью…

Дратути Антон

5 подписчиков получат по 20$ 🤯

В честь своего дня рождения я решил разыграть небольшую сумму. Изначально идея была просто 5 подписок ChatGPT Plus, но потом я подумал, что у всех разные запросы, а потому просто денюжка будет полезна 🤩.

Правила очень просты:
1. Быть подписаным на канал;
2. Жмякнуть кнопку — участвовать.

Через неделю подведём итоги и выберем 5 победителей. А дальше там уже порешаем, чо куда можно перевести 😎.

Участников: 4787
Призовых мест: 5
Дата розыгрыша: 23:59, 24.03.2025 MSK (завершён)

Победители розыгрыша:
1. ^__^ ;D :3 - 2p14l7
2. 8 (888) 888-88-88 - 2ous5g
3. ʕ•́ᴥ•̀ʔ mysoul - 2op7ko
4. 𝒩𝑒𝓶𝑜 - 2op7a5
5. Gigabrain - 2op839

Читать полностью…

Дратути Антон

Cursor

Пока ходил на дорожке, посмотрел ролик про использование Cursor 😍. Его мне скинули в комментах к одному из постов — спасибо за полезный контент! Вот ссылка: https://youtu.be/2PjmPU07KNs.

В ролике автор делает приложение для парсинга Reddit. В практическом смысле это решение вряд ли нужно, но как обучающий пример — самое оно. Я проникся этим инструментом, особенно возможность редактировать отдельные куски кода и интерактивно обновлять дизайн-доку. Надеюсь, в скором времени доберусь его попробовать 😊.

В течение всего ролика меня не покидала мысль: "Как же полезно писать дизайн-доки", потому что построение приложения строится именно на нём. Чем точнее будут описаны все твои требования, тем лучше получится приложенька.

Думаю, если у вас грамотная архитектура, а ещё вы придерживаетесь модульности на проекте, то Cursor может помочь с улучшением отдельных модулей (при условии, что есть хорошая дизайн-дока для этого модуля). Но пока не встречал примеров его применения в крупных проектах 😍.

Чтобы подобные инструменты действительно работали в сложных задачах, они должны имитировать поведение реальных разработчиков. Представим, что где-то возник баг, и его надо отладить (допустим, приложение можно запустить в дебаг режиме):
1. Запускаем GDB и снимаем корку 🏥 (если нужно);
2. Находим место бага 🤨;
3. Начинаем исходя из входных данных по стектрейсу двигаться выше и выше, пытаясь обнаружить, где что-то пошло не так (и не тупо, а проходимся по доп зависимостям, которые через AST какой-нибудь в IDE подгружаются) 🔼;
4. Попутно ставим принты или брейкпоинты, если нужно 🤓;
5. Если нужно, запускаем всякие тулзы, типа профилировщиков .

И это уже всё напоминает какую-то экспертную систему, к которой мы обязательно придём. Думаю, как я уже писал в одном из прошлых постов (/channel/blog_toxa/352), в этом году умных агентов станет куда больше 🔼.

Если мы говорим про людей, то те, кто уже сейчас экспериментируют с инструментами вроде Cursor, могут в будущем стать в разы производительнее. Пока что они просто нарабатывают опыт и интуицию в работе с такими системами. И когда придёт очередное решение, которое уже будет работать "огого!", ребятки уже будут в курсе, как это использовать, а не пытаться вкатываться 🤔.

Интересное нас будущее ждёт!

Читать полностью…

Дратути Антон

Решил потрогать лес на этих выходных!

А что делаете вы?

Читать полностью…

Дратути Антон

Попросил ChatGPT проанализировать мой TG-канал. Итак, вывод

Читать полностью…

Дратути Антон

YandexVLM в Алисе 🔼

Сегодня достаточно крупный релиз для всего Яндекса, для нашей команды в частности, ведь теперь Алиса умеет "видеть". Я очень сильно горжусь всей командой 😍!

Сам ходил и тестировал, приносил фидбеки. Бегал по офису, по Питеру, по дому — лишь бы понять, чо как там Алиса умеет видеть. И знаете — это круть 😍!

Дальше предстоит огромный путь по улучшениям, новым фичам. Но первый шаг в большой мир — уже сделан!

Приходите тестировать, приносите свой фидбек! Надеюсь, вам понравится!

Читайте про все новые фичи здесь: https://alice.yandex.ru/pro_new

Читать полностью…

Дратути Антон

Что-то недавнее мне напоминает 😀 (слишком олдовый мем, но да ладно, посчитаем сколько нас здесь любит классику)

Читать полностью…

Дратути Антон

Заметки менеджера из Anthropic

Бен Кун раньше был CTO в финтех-компании Wave (около 8 лет). Сейчас в Anthropic — руководит исследовательскими командами, в том числе в области RL. Так что его подходы к управлению проектами как будто бы не с потолка.

Недавно прочитал его статью о том, как он ведёт большие проекты. Сделал себе короткие заметки (многое из статьи уже делаю, мне бы её пару-тройку лет назад).

Фокус
Чтобы делать проекты действительно быстро (особенно если он находится на критическом пути) у тебя должен быть фокус на него и в нём 😍. Любое действие, которое ты делаешь, должно исходить из мысли: “это точно сейчас про этот проект”?

Из личной практики: ты в целом должен всегда кратко и ёмко сформировать картинку, что вы делаете и почему именно это.

Четкий план действий для достижения цели
Хороший детальный план позволяет тебе в каждый момент времени понимать: а всё ли хорошо с проектом😍? Если что-то застопорилось — самое время включиться и помочь решить проблему. Конечно, идеального плана не будет — всё равно и сроки могут поехать, и какие-нибудь упячки по пути обнаружатся — тем не менее наличие его делает работу более прогнозируемой, что ощутимо важно в быстроразвивающихся проектах.

Частый цикл обновления информации и планов
Нужно стремиться оптимизировать (с точки зрения скорости) цикл обновления всей информации. Это может быть и в рамках проекта в целом, как и по каким-то конкретным вопросам. Нужно постоянно заниматься оценкой главных приоритетов — действительно ли они еще главные🤓?

Это накладывает на менеджера достаточно большое количество коммуникации, но ради ускорения стоит инвестировать личное время 🥺.

Чрезмерная коммуникация и как следствие самостоятельность команды, локальное принятие решений
На самом деле, хочется, чтобы люди в команде тоже быстрее справлялись с обновлением информации (нужно ли делать то или другое) и могли самостоятельно решать локальные вопросы без менеджера. Для этого нужно, чтобы все имели картину приоритетов, все понимали кто чем занимается. Это часто требует больше встреч внутри команды, но это окупается 🤨!

Делегирование (не только задач, но и менеджмент проектов)
Когда вас в команде становится достаточно много, невозможно следить за всем происходящим. В этом плане нужно учиться делегировать не только задачи, но и сам менеджмент проектов, т.е. чтобы кто-то из команды мог подсвечивать проблемы на проекте, готовить какой-то статус, устранять проблемы и т.д.

Мы часто в компании это назваем ownership 🤓. Ну как такое делать менеджеру — это уже мастерство делегирования!

Что думаете про эти советы?

Читать полностью…

Дратути Антон

В настройках chatgpt написал, что люблю шутки. Итак 😀

Читать полностью…

Дратути Антон

не по теме канала, но орнул

Читать полностью…

Дратути Антон

Когда первый раз установил себе курсор

Читать полностью…

Дратути Антон

VLM и OCR в Нейроэксперте

Наверное, уже из кучи каналов, как минимум компании, донеслось про то, что мы выпустили Нейроэксперта — некий сервис, который позволит вам сделать RAG над вашими документами. Под капотом куча технологий и человекочасов, чтобы это выпустилось сегодня, в том числе близкие и мне: VLM, OCR.

Для нашей VLM команды это важный, значимый шаг. На секундочку, это один из немногих сервисов для !!!пользователей!!!, в которых участвует VLM. Я очень рад тому, что это случилось и сложилось. Лично сидел и тестировал некоторые сценарии промежуточных стадий, иногда был в недоумении, а всё чаще в шоке, что и так можем 😍!

Я не буду приводить каких-то примеров, цифр и прочих штук, которые вы можете прочитать и в других источниках 🤓.

С этим поводом в этом посте я бы хотел сказать спасибо своей команде, всем тем, кто работает вообще над VLM в компании, всем, кто развивает и улучшает нашу классную технологию OCR. Я знаю, что часть из вас читает этот канал, а кому-то возможно его друг/подруга перешлёт. Знайте — вы невероятно классная команда и вы делаете космические штуки 🤯 каждый день! То, что произошло сегодня — это всё мы 🔼!

Обнял-приподнял ☺️!

P.S. Зачем в канал? Да просто захотелось, порыв души.
P.P.S. Накидайте ❤‍🔥 или 🔥, отнесу команде!

Читать полностью…

Дратути Антон

Про сотни встреч руководителя

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

/channel/quant_valerian/679
/channel/quant_valerian/680

Среди всего контента больше всего мне откликнулось следующее:

В хорошо отлаженной системе основная задача руководителя — не мешать людям работать. Но есть один нюанс: сотрудникам может мешать что-то, кроме руководителя! И вот именно эти вещи и должны привлекать внимание начальства. То есть вам, как управленцу, нужно устранять препятствия на пути к цели и не создавать новых.

Читать полностью…

Дратути Антон

Мдаааа, кто-то накрутил ботов в розыгрыше... И чо теперь делать?


Вычищать еще из подписок, жесть... Если кто знает, как это сделать автоматом — дайте знать

Читать полностью…

Дратути Антон

Будущий IT-hub в центре Петербурга специально для C++ разработчиков! (шутка)

P.S. Кто не понял.

Читать полностью…

Дратути Антон

Итак, ML Party уже меньше, чем через час!

Таймлайн:
19:10Константин Кузнецов расскажет, как из простого TTS сделать настоящие аудиокниги;
19:45Евгений Паринов покажет, что такое поисковый аукцион Яндекс Маркета и как он работает;
20:20Антон Клочков (это я) продолжу серию рассказов про развитие картиночной мультимодальности в Яндексе!

Те, кто в офлайне — увидимся!

Те, кто в онлайне, ловите ссылочки:
🔼 YouTube: https://youtube.com/live/fx3o5Jr9quY?feature=share
🔼 VK: https://vkvideo.ru/video-17796776_456241501

Приходите слушать все доклады!

Читать полностью…

Дратути Антон

27

Ого, как быстро летит время! Ещё вчера я соревновался с пацанами во дворе, кто палку круче найдёт и кто выше на дерево заберётся, а сегодня уже мне 27, вроде даже работаю и что-то получается 😍.

За последний год, наверное произошло супер многое, но если касается личного, то:
— Я стал тимлидом крутой команды, которую собрал с нуля (ребята, спасибо что вы со мной 😍);
— Я женился на самой прекрасной девушке 🌿;
— Я с женой посетили Францию, отведали круассанов (они и правда топ), посетили несколько городов ☺️;
— Ребят, кто меня читает — стало куда больше 🔼!

Я боюсь представить, что мне ожидать от грядущего года. Ощущаю всё больше осознанности в жизни, как будто бы какая-то мудрость начинает появляться 🏥.

BTW, раз у меня днюха, то буду просить подарков у подписчиков!
— Побустите меня, пожалуйста, а то кастомных реакций охота!
— Приходите завтра (18 марта) оффлайн/онлайн послушать меня на ML Party (ссылочку попытаюсь раздобыть)!

Ссылочка на буст: /channel/blog_toxa?boost

Читать полностью…

Дратути Антон

Чо по графику работы?

Читать полностью…

Дратути Антон

Личный опыт инженеров Яндекса — Антон Клочков

Продолжаем рассказывать об ML`щиках в Яндексе, их успехах и трендах, на которые они делают ставку. Сегодня наш герой — руководитель подгруппы распознавания текста в VLM Антон Клочков.

Больше карточек — по хештэгу #YaMLpeople.

CV Time

Читать полностью…
Subscribe to a channel