Дратути Антон – Telegram
Дратути Антон
4.11K subscribers
171 photos
30 videos
215 links
Мемы и личные размышления про управление, код, ml и здравый смысл.

Сейчас руковожу командой OCR in VLM в Яндексе.

Автор: @toshiknoscript
Download Telegram
Ловим баги в реальном времени

В общем-то попалось мне на глаза великолепное чтиво 🥹:
https://xuanwo.io/2023/04-rust-std-fs-slower-than-python/

Тут человек пытается разбраться почему один тип чтения работает быстрее, нежели чем другой. Внезапно, посреди статьи оказывается, что чтение файла на Си оказывается медленнее, чем в Python 😫. Ну и потом, путем нехитрых манипуляций автор приходит к выводу, что баг в микрокоде процессора от AMD (ничего удивительного, как всегда в подобного рода статьях 😂).

Одна из деталей мне доставило особое удовольствие: использование strace. Я не читал историю сего инструмента, но кажется его придумали боги, иначе я никак по-другому не могу написать. С помощью этого я такие баги откапывал в продакшн решениях прям на продовых тачках, что мне и снится не могли 👍.

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

Так однажды у меня бинари отрабатывали отлично локально, а потом в тестинге всё сваливалось😔. Я долго не мог понять почему, пока не залез посмотреть с помощью strace, что там по системным вызовам. Оказалось, все зависало на этапе обращения к сети, потому что OS не могла понять, как достучаться до домена, на которые делаются запросы. Как оказалось, не подтягивались необходимые DNS конфиги 🤔.

В общем, изучайте и пользуйтесь! Но с умом. ☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥7🤔1🥱1
ШАД

Вчера состоялось официальное открытие пространства ШАД в СПб🔼. Кто регулярно читает мой канал, знает, что я веду практики по C++ в Питерском филиале ШАДа еще с сентября, а потому меня тоже пригласили на открытие🙃.

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

Вместе с открытием также обсуждалась история про AI в образовании: заменят ли сетки преподавателей или переживать не стоит. Коллеги (не побоюсь этого слова, ведь недавно еще они меня учили 😂) в первую очередь сфокусировались на том, что образование — это не просто передача знаний, а еще и про развитие мышления, передачу опыта, поддержку мотивации и прочие навыки. И я сейчас соглашусь с тем, что в среднем, LLM сейчас это про обмен информации и не больше 😃.

С другой стороны, если смотреть в сторону удаленных регионов, где преподавателей даже по самым базовым дисциплинам порой нет, там в каком-то виде LLMки могут помочь хоть как-то начать упрощать процесс образования 🤔.

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

Очень классно, что мне удалось попасть на такое мероприятие, я даже вдохновился от профессионалов! Надеюсь, что ШАД в СПб будет растить классных специалистов и давать им шикарный и уникальный контент 🥹.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🤝2👎1🐳1
Singleton is all you need (no)

Решил попробовать себя в лонгридах с подробными выкладками кода 🥹. Пишите в комментариях, как вам такой формат. Ну и набрасывайте, если чего не так!

https://teletype.in/@toshiknoscript/g2IANTMvRDv
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🐳3🥰2🗿1
This media is not supported in your browser
VIEW IN TELEGRAM
Иногда просто хочется поделиться мемчиком, так что держите 👨‍🦳
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣32👎1😁1👌1
Синтетическая биология 😫

Иногда интересно почитать чо происходит где-то в параллельной от IT вселенной 👍. И тут мне заслали статейку про синтетическую биологию: https://habr.com/ru/companies/gazprombank/articles/782528/

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

И я как-то не задумывался, что Impossible Foods — это как раз ребята из синтетической инженерии, а не генной. Хотелось бы попробовать бургер из их мяса, но в СПб пока не встречал 🙃.

P.S. Синтетическое пиво — звучит интересно. Я как человек не пьющий, хотел бы попробовать безалкогольный вариант. Ну и посмотреть на лица товарищей, знающих толк в пивасике, которые бы попробовали сей напиток на вкус😂.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🐳3
Персональный компуктер

Я тут чего-то задумался прикупить себе ПК 👨‍🦳. Для игруль (может наконец-то поиграю), МЛя, и мб монтажа (но это можно и на ноуте). Мне вот кажется, что мои примеры — это просто шутка какая-то, а на деле будет пылиться🙆.

Расскажите, есть ли у вас сейчас ПК? Какая комплектация? Для каких задач используете? 🤔

На всякий случай еще раз уточню: речь не про ноутбук, а про ПК в его привычном понимании.
Please open Telegram to view this post
VIEW IN TELEGRAM
4 миллиарда операторов if 🙆

Господи, наконец-то хабр порадовал. Ну и пусть это перевод статьи, но как это захватывающе 👍. Человек запилил проверку 32-битного числа на четность через if операторы 👨‍🦳.

И в статье прекрасно всё: и проблемы с большими бинарями, и производительность этого решения. Жалко только, что особо бенчмарков нет. Но самое главное, что всё в итоге вышло и оно работает😐.

Обожаю такую дичь, если у вас есть еще — скидывайте 👍.

Ссылка на статью: https://habr.com/ru/articles/783714/
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣7👍1😁1🐳1
Всех с новым 2024 годом!

Интересный факт про этот год: если сложить все цифры этого года, то получится 2 в 3 степени, что как бы является одним байтом 🤓. А с одним байтом уже можно и горы свернуть, и сделать много прикольных штук! 👍

Желаю и вам сделать в этом году много невероятных вещей ☺️!
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳26🔥7😁1👌1🎅1
Киты

Я видимо стал слишком стар. А что означают реакции 🐳?
🐳71🌭3🤷‍♂1
Признавайтесь, кто себя вёл плохо? 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣16🥰2🤔2
Продолжаем публиковать IT-истории, которые расширяют кругозор и не перегружают расслабленный новогодний мозг.

История 2 — про то, как в Google взяли в аренду коз🐐

В 2009 году корпорация Google арендовала у компании California Grazing 200 коз. Зачем? Чтобы отказаться от использования газонокосилок, которые работают на бензине и выделяют углекислый газ. В Google решили, что козы работают экологичнее и справляются с травой и сорняками ничуть не хуже.

Так коз привезли на территорию кампуса в Маунтин-Вью, где они паслись всего неделю. Сотрудники отметили, что это позволило снизить выбросы углекислого газа, способствовало удобрению земли, а еще положительно сказалось на психологическом состоянии работников кампуса. Дальнейшая судьба коз неизвестна.
😁15🤣3👍1🤔1
Даже козы попали на работу в гугл. А ты? 😀
Please open Telegram to view this post
VIEW IN TELEGRAM
😭17🐳3
Пека бояре

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

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

Для меня оказалось удивительным, как сильно изменились сборки компьютеров за последние 15 лет (примерно столько лет назад я последний раз собирал свой ПК):
— BIOS стал каким-то более понятным, хотя и есть куча настроек, которые мне не совсем понятны;
— Интересный сокет AM5 от AMD (на процессоре нет ножек);
— Частота оперативной памяти поднялась просто в небеса, я даже не думал, что существует что-то свыше 3000 МГц;
— Продвинутые системы управления кулерами, вентиляторами и подсветкой;
— Сами корпуса стали более красивыми;
— Появилась какая-то эстетика и желание у людей создать красивую маршрутизацию кабелей;

И это только начало 😐.

Я бы хотел сфотографировать сам компьютер, но планирую рассказать о нем более подробно в будущем посте, когда полностью соберу ПК. У меня уже есть все компоненты, просто блок питания оказался бракованным 😔, и мне пришлось его вернуть по гарантии. Вскоре должны прислать замену😫.

На фото видна видеокарта 4090 — не самая топовая в машинном обучении 👨‍🦳, но вполне подходит для небольших pet-проектов и, конечно же, для полноценного игрового опыта на ультрах.

А у меня есть вопросы к аудитории: кто-нибудь занимался андервольтингом процессора и видеокарты? Как вы понимали, что получили какой-то профит? Можете порекомендовать туториалы какие-нибудь🤔?

P.S. Я уже попробовал использовать утилиты для процессора на Windows, и они дали мне хороший результат. Но у меня будет две системы — Windows для игр и Ubuntu для работы и проектов. Поэтому я хочу настроить все через BIOS.

P.P.S. В комментариях будет "молодежная версия" этого поста от ChatGPT.👨‍🦳
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141
Мониторинги

Мой опыт до Яндекса во многом связан с исследованиями или standalone приложениями. Я попал в команду, в которой занимаются и исследованиями, и продом. А потому, первое с чем мне пришлось познакомиться — это как жить в проде👨‍🦳, в который приходят миллионы запросов:
— Как обеспечивать стабильность такого сервиса?
— Как обеспечивать непрерывную поставку решений в работающий сервис?
— Как решать проблемы, возникающие на проде и влияющие на пользователей?
Ну и на самом деле десятки других вопросов. Но самый больной из списочка — это последний👍. Потому что это происходит здесь и сейчас, потому что если твой сервис не работает или сбоит, он вызывает негатив, отписки и прочие подобные ощущения у пользователей🙃.

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

Хорошая система мониторинга, лично по моему мнению, должна обеспечивать как минимум следующие вещи:
— предоставлять инструмент для масштабирования сервисов в реальном времени (не так, что ты конфиг где-то поправил, а просто добавил одну тачку, и она сразу отобразилась на дашбордах);
— не должна значительно влиять на производительность системы (а потому не запушишь 100500 метрик с одно хоста 100500 раз в секунду);
— должна уметь говорить пользователем о том, что она сама сломалась, если такое произошло (а значит мониторинги на систему мониторингов тоже должны быть);
— предоставлять механизмы нотификаций о возникающих инцидентах (а значит нужно уметь правильно интерпретировать графики и метрики, подходить к их выбору с умом);
— по возможности хранить всю историю.

Естественно, что в Яндексе всё это есть 🤓, и пишут эти инструменты люди, которые побольше моего знают в этой сфере. Но вот я недавно задумался, а что если бы вообще мониторингов не было в нашем сервисе 😫?

Зря подумал, потому что на время наша система стала сбоить (наш прод). В смысле серьезно, мы начали видеть на графиках всплески неответов, и знаешь это напрягает👨‍🦳. Потому что мы полировали то, что у нас отображается на дашбордах очень долго и продолжаем это дело, мы очень отвественно подходили к тому, какую картину о нам проде мы хотим видеть.

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

Но ладно думаю, гляну. Ну и в общем система сообщила, что у нас (у нашего сервиса) память на мониторинги закончилась😂. Открываю доку, читаю, понимаю, что оказывается-то реально система может выдавать дичь в этом случае. После приседаний с памятью (3000 раз за подход, никак иначе) удалось решить проблему.

Мораль какая: мониторинги настолька важная штука, что со временем ты начинаешь им верить как родным👍. Если у тебя есть продакшн сервис и у него нет мониторингов, то либо у вас прод на 2.5 землекопа, либо иди к лиду и убеждай в необходимости это все дело поставить. Практически все проблемы, которые возникали на моей практике, решались обращением в мониторинги. Единственное, важно иногда за системой ухаживать и спрашивать, как у неё дела, а то начнет капризничать😫.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11🐳8😁21
Создавать проекты с нуля или развивать существующий? 🤔

Время от времени задумываюсь над тем, какой проект интереснее делать: тот, что зарождается на моих глазах или тот, где уже многое было сделано до меня?

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

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

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

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

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

А всё. Надо думать🥲. Статьи читать, конечно, хорошо, но индустрия далеко не всегда решает твою задачу с твоими вводными. И вот тут начаинается самое интересное, чего в новых проектах ты скорее всего, не будешь решать. А это я еще в целом не начал за продакшн говорить. Там своих приколюх хватает😫.

А ответа на вопрос из заголовка я тебе не дам, а то слишком легко будет. Реши сам👍.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11🗿4👍1
Сделаю твой код чуточку лучше

Уверен, что иногда в Python ты пишешь примерно так:


a = arr[0]
for x in arr[1:]:
# usefull action


А знал ли ты, что делаешь копию листа? Так вот лучше делать так:


a = arr[0]
for x in itertools.islice(arr, 1):
# usefull action

Итераторы очень полезны — невероятно крутая концепция. Тут можно прочитать еще больше полезностей от библиотеки itertools.
❤‍🔥12👍6😱41🥱1🐳1🙈1
😁12💅2👍1
Трекер экспериментов

Мой путь в трекинге экспериментов начинался с того, что я смотрел на логи в терминальчике и строил кривые у себя в голове 👨‍⚕️. Потом пришла мысль, что можно использовать matplotlib, а еще позже — tensorboard 🔼.

Через какое-то время хотелось сравнивать не просто эксперименты между друг другом, а пачки экспериментов. И так, чтобы это было удобно шарить между друг другом. Так я познакомился с MLFlow 🔥. А позже, уже подавшись на искушения красивого UI и неплохого такого API, стал использовать wandb 🤨. Последний, кстати, не просто красивый, а чертовски красивый и много чего из коробки может.

Сейчас я думаю, каким искушениям податься еще? Может быть вы знаете какие-нибудь еще прикольные и интересные трекеры экспериментов? А зачем вообще вы их используете? Набросайте в комментарии 😫
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👀3👌2
О, типичный код в какой-нибудь матлибе 👨‍🦳
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔3🤯2
Мем смешной, ситуация страшная 👨‍🦳
Please open Telegram to view this post
VIEW IN TELEGRAM
😁32