Глубинный котер
94 subscribers
60 photos
7 videos
4 files
70 links
Download Telegram
Такая жиза, что плакать хочется 😭😞😭
Forwarded from ДНСЙ 🫀
Было дело

🔥Огонек, если собесился и не получилось
❤️Сердечко, если работаешь в Яше
🔥2
Живее всех живых 🤮
🤡1
Адекватная разработка 🦄

Звучит как сказочный единорог, но в своём докладе Евгений сформулировал те принципы, к которым сам шёл долго. Тут и чистая архитектура, тут и локальная среда разработки с тестированием и транк бейсд. Всё это вместе делает разработку приятной, безопасной и немного скучной.

К сожалению, кровавый интерпрайз ещё далёк от таких адекватных условий. Каждый релиз разработчик просыпается в муках и в холодном поту. Тестирование живет своей жизнью. Одна боль, печаль и тихое выгорание. Но верю, что адекватная разработка прийдет и в интепрайз как опенсурс с микросервисами ранее.

У докладчика есть свой канал в тг
Forwarded from эйай ньюз
This media is not supported in your browser
VIEW IN TELEGRAM
Че за Symbolic Search и как он ищет новые оптимизаторы?

Условно, Symbolic Search — это Эволюционый Поиск для программ на стероидах. Параллельно запускается целая популяция программ. Из них выбираются те, что лучше всего перформят на целевой задаче (в нашем случае — это оптимизация нейронок). Далее к лучшим применяются мутации, то есть в них случайным образом менется часть кода. И цикл продолжается.

Через много-много сожженных МВатт⋅часов мы получаем финальную програму с наилучшим перформансом на целевой задаче.

Для любопытных — подробности в блогпосте AutoML-Zero от гугла (2020).

@ai_newz
Надо будет попробовать при следующем порыве на литкоде
Сайт с реализациями алгоритмов на графах с пошаговым выполнением и песочницей

https://dstruct.pro/playground
И тут настало просветление ☯️
Люблю тебя ❤️🔥

def closure_func_0():
cnt = [0]
def f():
cnt[0] += 1
return cnt[0]
return f


def closure_func_1():
cnt = 0
def f():
nonlocal cnt
cnt += 1
return cnt
return f


f_0 = closure_func_0()
f_1 = closure_func_1()

cnt_0 = f_0()
cnt_1 = f_1()

assert cnt_0 == cnt_1 == 1
Твой код есть лишь следствие твоего понимания экономических и производственных процессов
👍2
Админ би лайк
🔥2😁1
Мальчик стал мужчиной
😁1
В голос
Админ сегодня в ударе
👍1
Forwarded from DevFM
This media is not supported in your browser
VIEW IN TELEGRAM
Load balancing

Прочитал на одном дыхании замечательную статью о балансировке нагрузки (load balancing).

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

По сути, оптимизировать можно два показателя: задержки при запросах и количество отклонённых сервером запросов.

Автор рассматривает:
– алгоритм round robin, когда запросы отправляются на сервера по кругу. Этот алгоритм не учитывает, что сервера могут иметь разную мощность. Тогда более мощные сервера будут быстро обрабатывать запросы, а менее мощные могут загибаться и давать отлупы.

– алгоритм dynamic weighted round robin учитывает мощность серверов. На основе среднего времени ответа им динамически устанавливаются веса. И, в зависимости от весов, будет автоматически варьироваться количество запросов.

– алгоритм least connection учитывает количество подключений, поддерживаемых серверами в текущий момент времени. Запрос будет передан серверу с наименьшим количеством активных подключений.

– алгоритм peak exponentially weighted moving average (PEWMA) направлен на уменьшение задержек в запросах. По сути, сочетает в себе dynamic weighted round robin, least connection и немного магии сверху.

Каждый из описанных алгоритмов сопровождается красивой и понятной анимацией. А в конце статьи можно поиграться с наглядным симулятором каждого из методов.

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

#skills
💔1
Forwarded from Experimental chill
Сегодня прям праздник статей!

Я тут писал про оптимизации хеширования и сортировок с помощью Reinforcement Learning, Deepmind выложили статью, я в acknowledgements.

AlphaDev discovers faster sorting and hashing algorithms
https://www.deepmind.com/blog/alphadev-discovers-faster-sorting-algorithms

Faster sorting algorithms discovered using deep reinforcement learning
https://www.nature.com/articles/s41586-023-06004-9

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

HN: https://news.ycombinator.com/item?id=36228125
🤔1
npm найдётся всё !
🔥1
к слову это весь код, ага...
Когда сегодня утром Кирилл кинул мне этот код я подумал что это прикол и я прокомментировал это как: Чо за olympyad style code? Слили кодовую базу tg?
👏1
А вы знали, что есть способ улучшить генерализацию любой кодовой модели? Как? Применив до этого модель от Microsoft – CodeExecutor

Сложно-сложно, непонятно. Как я могу улучшить результаты своей модели, применив до этого CodeExecutor? А как именно надо применить?🤨

Итак, модель вышла в мае этого года. Основана она на предыдущей модели Microsoft под названием UnixCoder (2022). Коротко – чуваки взяли и поверх предыдущей модели на претрэйне обучали ее на предсказание трассировки по коду. Что за трассировка можно посмотреть во вложении, но по сути это состояние переменных в течении выполнения кода.

Они кстати выложили, как выглядит их датасет, но я нашла только test. 😠 А собирали они его следующим образом: брали код из датасета CodeNet и прогоняли в песочнице, которая будет комплитить этот код и выдавать трассировку. Вау, как неожиданно. Ладно, на самом деле это не все, они еще зааугали данные различными операциями (вложения, там список). И получив AST дерево (тоже напомню во вложениях как оно выглядит), они получали элементы к которым они могут применить операции «мутаций»

Еще мне понравилось, что авторы вспомнили древний (ну реально, на фоне всех методов NLP) подход curriculum learning. Если коротко – это обучение с постепенным усложнением функции. Ну то есть начинаем с линейной, постепенно продвигаемся к выпуклой. Соответственно они начинали учить с однострочных кодов и увеличивали постепенно количество строк.

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

🤗Модель
🖥Код
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1