STACK MORE LAYERS – Telegram
STACK MORE LAYERS
2.11K subscribers
82 photos
15 videos
3 files
161 links
Еще один канал в твоем списке, который ты не будешь читать
Author: @alxmamaev
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Ну и я еще немнножко по хулиганил
🐊 Varuna

Нашел эту библиотечку достаточно давно, но как-то забыл про нее написать.
Если вы слышали как тренируют, или приходилось тренировать большие модели, вы знаете, что их порой достаточно сложно поместить на одну видеокарту, и обычный пайплайн data parallelism здесь не подходит.
Для этого использую методы pipeline parallelism, когда вы разделяете вашу модель на части, когда одна часть учится на одной машине/карте, другие - на других. Реализовать это с наскока не так то и просто, т.к. эффективная реализация этих алгоритмов не тривиально.
Обычно для таких задач используют библиотечку от Microsoft - DeepSpeed, она достаточно проста, но имеет некоторые особенности с настройкой конфигов, что может несколько смущать в некоторых ситуациях, плюс к этому она содержит в себе множество других опций, которые могут быть не нужны в вашем случае.
Microsoft выпустила еще одну библиотеку под названием varuna, которая возволяет сделать простое разделение модельки прямо в python коде.
ReadMe крайне простой, так что ознакочимиться не составит проблем.

Например, эта библиотека была бы полезна при обучении мультитаск модели в последнем соревновании Сбера.

https://github.com/microsoft/varuna
Итого 14 минут данных, сведение, битло и оксиморон готов.

Конечно, до цели «сделать как оригинал далеко», но что уж вышло! Эксперимент на то и эксперимент
Audio
Для любителей $$о4N0ГО БА$$A
Можно сказать, успех!
🧑‍💻 Open Source 🤲

Я не придирчив к коду людей. По большей части потому, что я не уверен, что я сам пишу его хорошо.
Часто я забиваю на какие-то косяки, т.к. Этот код не приследует цели жить долго, а просто должен отработать свою задачу.

Но порой случаются странные вещи, которых я не понимаю.

Пытаюсь запустить один пейпер от фейсбука.
Код в целом из коробки не работает, в нем есть ошибки, такое можно простить каким-то ноунейм китайским лабам, но это FAIR.
Если код заставить работать, то он будет делать это медленно, т.к. не сделаны элементарные вещи по оптимизации (кеширование штук, которые долго считаются), если их написать то ускорение x50.
Ну и конечно неймниг, что на счет того, чтобы считать mel спектрограмму внутри датасета и назвать ее mel_loss, о дааа давай еще 🤤


В общем, опенсорс это не просто выложить свои исходники в сеть, но и проверить, что они работают и что за них не будет стыдно. Хороших опен сорсов!
🐉ДРАКОН 🐲

В эфире не регулярная рубрика байки computer science.
Серьезно, я в последний год углубляюсь в CS как таковой, и даже не сколько как прикладную науку, сколько как в религию и историю.

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

СССР был могучей страной с точки зрения таланта инженеров. Этот инженерный гений позволил создать космический корабль Буран. Про него я могу говорить вечно, но краткая сводка: это был советский ответ американским шатлам, эдакий космический самолёт, который взлетает как ракета, может подняться на орбиту, украсть чужой спутник и приземлиться как самолёт.
Но мало сделать аналог, нужно догнать и перегнать и сделать круче. Поэтому в буране была убер фича - автопилот. Корабль мог сам полетать вокруг земли и самостоятельно же приземлиться. Чтобы управлять это махиной, нужно разработать софт и не абы какой, а надежный и понятный, с привлечением тысяч инженеров, многие из которых не умеют программировать. Для того, чтобы этой стало возможно был создан новый язык программирования.

Встречайте — ДРАКОН.
Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность

Одно название может вселить ужас в сердца врага, а армию бросить оружие и сдаться. Но этого мало.

Дракон представляет из себя графический язык программирования, где «программист» двигает некоторые логические блоки, формируя из них условия и действия. Сами логические блоки могут быть написаны на любом языке программирования: C, Dephi … JS, Python. Да, оно живо до сих пор.

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

Вот что писали создатели языка:
При решении практических прикладных задач инженеры досконально владеют материалом и прекрасно знают постановку задачи. В отличие от них программисты не знают физику процесса и становятся «лишними людьми», без которых в ряде случаев (хотя и не всегда) вполне можно обойтись.

То есть саму бизнес логику предполагалось делать в графическом редакторе. Блок схема программы напоминает схему логических цепей (если вы занимались радиоэлектроникой или проходили курс дискретной математики, вы знаете о чем я). А сами блоки действий писали бы бородатые программисты. Нормальные люди никогда бы не спускались на этот уровень, так же как и мы с вами не обращаемся к ассемблеру.

Язык используется до сих пор в программе «морской старт» (ее лет 5 назад выкупил S7), в ракетах Протон и Ангара (земля им пухом) и даже в какой-то корейской ракете. Так же предполагалось его использование в бизнес среде, но тут как мы знаем победил 1С.


Говорить можно долго, но я лучше оставлю вам ссылки.
Огромная статья на вики: https://ru.wikipedia.org/wiki/ДРАКОН#Разработка_инструментальных_средств_языка_ДРАКОН_для_широкого_применения

Туториал на Хабре: https://habr.com/ru/post/345320/

У языка есть свой сайт, и он расположен в ДОМЕННОЙ ЗОНЕ СОВЕТСКОГО СОЮЗА: https://drakon.su
👍2
🤖 Copilot 🛬

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

https://youtu.be/dkJKxY9McVQ
✌️VIM 👨‍💻

Я в своем сознании на столько преисполнился, что наконец настроил вим под себя.


Теперь он совсем похож на настоящие IDE и в случае экстренных ситуаций, смогу зайти в контейнер с айпеда и что-то поправить в комфортных условиях.


На самом деле не будь VS Code я бы действительно не видел смысла иметь что-то еще помимо настроенного вима.
📉TermPlotlib📈

Кстати, вчера нашел полезную библиотечку, которая может выручить в некоторых ситуациях.
Бывает так, что решил почитать какие-то json или csv на сервере, но при этом лень запускать юпитер, поэтому я просто юзаю IPython консоль.
Все хорошо до того момента, пока не нужно нарисовать какой-то график, например bar-plot распределения классов.

Тут выручит эта библиотечка, которая позволяет отрисовывать графики с помощью gnu plot в ASCII формате!

https://github.com/nschloe/termplotlib


+ Бонус, такие графики удобно отправлять в личку в телеге.


Cats [ 3] ████████████
Dogs [10] ████████████████████████████████████████
Cows [ 5] ████████████████████
Geese [ 2] ████████
🏢 Петербургские Лайфхаки 🌉

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


Так вот, делюсь лайфхаком с коллегами Москвичами, кто ездит в гости к нам. Недавно на Невском обновился буквоед (сеть книжных Петербурга). Теперь есть целых три этажа книжек, но помимо них, появились читальные/коворкинг зоны с удобными креслами, зоны со столиками, розетки и даже письменными лампами. В общем если устанете гулять, заходите, тут даже кофе-поинт есть.
This media is not supported in your browser
VIEW IN TELEGRAM
Мне нужно простое рабочее место, без этих геймерских изысков

*после пятой рюмки*
👍2
🔉WAV Preview🎧

Если вы часто работаете со звуком по своей работе, рекомендую установить плагин WAV Preview для vscode. Он позволяет прослушивать аудио на удаленном сервере, а с недавних пор показывает аудиодорожку и спектрограмму

https://marketplace.visualstudio.com/items?itemName=sukumo28.wav-preview
🔥5👍2
1️⃣ Calculator 2️⃣

Как ни странно хочу вам порекомендовать калькулятор для мака которым сам пользуюсь - numi.app

Штука достаточно умная, умеет работать с разными системами счисления, конвертитровать различные величины, причем достаточно интуитивно.

Интересно что, такую приятную штуку сделал рускоязычный разработчик
👍8👎2
Часто вижу в русском твиттере самолюбование некоторых разработчиков на тему того какие они крутые, а простые людишки ничего не понимают и получают копейки.

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

Если представить computer science как церковь, а Джон Кармак - батюшка, то твиттеровские-прогеры - дети пришедшие освятить куличик.

Чтобы не быть как они, а присоединиться к движению Computer Church вот вам пару линков:

https://news.1rj.ru/str/experimentalchill - Канал про плюсы и то как делать высоконагруженные сервисы ( очень хорош, чтобы почувствовать себя глупым)

https://news.1rj.ru/str/brainfuckpc - Чел собрал компьютер на реле, а сейчас собирает компьютер на лампах

https://hackaday.com - Хабр каким он должен быть

https://free-van-ec5.notion.site/Reading-List-c9665d42914841f69ad63e7c41e84896 - ноушен где я по мере возможности собираю прикольные ссылки ( это не много, но это честная работа)
👍11
Если есть интересные линки по теме, можете постить их в комменты
🐂 GNU Parallel 🛠

Если вы активный пользователь Linux, вы наверняка пользуетесь кучей инструментов GNU, такие как ls, cat, emacs, tar и прочее

Каждый из этих инструментов обладает большим функционалом, который не используется и зачастую то, что можно было бы сделать с помощью встроенных утилит я делаю на питончике.
Так было и с GNU Parallel, утилитка которая позволяет вам запустить работу скриптов в параллели. Обычно при обработке разных данных я просто использую питон + joblib. Но тут мне понадобилось обработать 300гб аудио. Делать это питоном - глупо, слишком маленький перформанс. Нужен FFmpeg!

Но запускать его в из питона тоже как-то не по канону, тут я и вспомнил про GNU Parallel, двухстрочный код на баше + строчка запуска параллели и вот наши данные обрабатываются во всю мощь.
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Там кстати можно передать флажок и смотреть прогресс бар, советую изучить!

https://www.gnu.org/software/parallel/parallel_tutorial.html
👍5
📹 Computer Vision Math🎞

Нашел очень интересный канал с лекциями по математике применительно к обработке фотографий.
Это лекции не про привычный вам машин лернинг и сверточки, а скорее разбор математических моделей камеры, как работают различные преобразования координат, некоторная математика применительная к self driving и прочее.

Например очень интересно послушать подноготную фотограметрии!
https://www.youtube.com/c/CyrillStachniss/videos
🔥1