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

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

Автор: @toshiknoscript
Download Telegram
Персональный компуктер

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

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

На всякий случай еще раз уточню: речь не про ноутбук, а про ПК в его привычном понимании.
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
Чек-листы как способ облегчить жизнь

На прошлом месте работы у меня возникла задача, с которой так или иначе сталкивается каждый, кто по несколько раз говорит/делает одно и то же 👨‍🦳. В частности, впервые я начал об этом задумываться, когда проверял очередной PR и писал одни и те же комментарии по стилю кода, по оформлению доков, тестов, и в целом по читаемости истории изменений 👨‍⚕️.

И это стало реально проблемой, когда ко мне стали приходить другие члены команды и жаловаться на примерно такое же. "Да сколько можно" — пробухтел я про себя и пошел узнавать, чего можно сделать лучше. Именно в тот момент мне попалось видео (которое я сейчас не могу найти), где докладчик рассказывал про использование чек-листов 🤨. Мол, если нужно сделать какое-то многошаговое общепринятное действие (а PR — это именно такое), то стоит сесть с командой и прописать его.

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

И вот мне стало интересно, а какие у вас в командах есть "best practices"😐? Какие проблемы они решают у вас? Очень было бы классно почитать про ваш опыт!😫
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳13👍5
Магия ссылок

Однажды когда я еще учился в школе, мне приспичило скачать видео с youtube 💃. Тогда я пошел к своему Гуру айтишного мира — учителю информатики и спросил, а как это делать. Именно тогда я узнал, что если зайти на страницу ролика, а потом в адрессной строке приписать ss к youtube (т.е. ssyoutube), то тебя перекинет на сайт, где это можно будет сделать 🚶‍♂️. После этого, конечно, мой мир перестал быть прежним.

На днях я в одном из роликов увидел, что если к любому github репозиторию приписать в самое начало vscode.dev (например, https://vscode.dev/https://github.com/ggerganov/llama.cpp), то загрузится vscode прям в браузере😐. И хоть я наверное узнал об этом самый последний, но я снова как будто очутился в школе. Такая магия, такой искренний восторг👍.

В целом, концепция весьма здравая, но пока очень сырая. По крайней мере навигация по коду пока лучше работает на самом github🙆, нежели чем в vscode. Но в Python всё вполне неплохо. В C++ проектах показалось, что вообще не работает...👨‍🦳

При этом поиск быстрый, так что если хочется использовать hot keys VSCode, то вполне неплохая альтернатива, чтобы не выгружать репозиторий себе на машинку.

Ну или можно еще открыть удаленный репозиторий 🤨. В общем всё есть в доке: https://code.visualstudio.com/docs/editor/vscode-web#_github-repos
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18🤝5
Тут ребята из Selectel подсказывают, что у нас есть возможность не замернуть следующей зимой! И такую возможность нам может подарить новенький процессор от Intel на 10-нм техпроцессе, потребляющий в пике жалких 409 Вт 👍

Рекомендуется устанавливать по одному в каждую комнату, чтобы распределение тепла было равномерным!

Подробнее: https://habr.com/ru/companies/selectel/articles/797573/
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3👌2🐳1
Тут у себя в системе задач обнаружил архивное издание — доклад про инструменты классного тимлида 👨‍🦳: https://www.youtube.com/watch?v=1dDBXTu1I7I
Подумал, а почему бы и не посмотреть — и посмотрел 😫.

Доклад хороший, но вполне абстрактный. Автор рассуждает на тему нескольких топиков, описывает зачем, как и что делать:
🔼 Договорись со своим руководителем;
🔼 Настрой свои основные инструменты;
🔼 Настрой коммуникации;
🔼 Заведи личные карточки;
🔼 Приведи в порядок 1:1;
🔼 Систематизируй свое развитие.

Ну и в целом звучит и правда, что делая все эти вещи — ожидает успешный успех 🤨. Одно лишь но — ты должен быть Дмитрием и проживать его жизнь, тогда оно работает. Поэтому смело дели все на 8 и учись думать, а подходит ли оно к тебе и твоей команде, или нет. И неважно, сказал ли тебе этот совет Валера Бабушкин (@cryptovalerii) за пару битков, или же непосредственный руководитель. Тебе потом за это отвечать.

Как же я наслышан историй о применении "тимлидских" инструментов (да и сам грешил 👨‍⚕️), что аж грустно за ребят под управлением таких лидов становится 👍.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔112🐳2
Media is too big
VIEW IN TELEGRAM
Ну и напоследочек, старое доброе
🤣8🤝3🐳2