rusta::mann
190 subscribers
120 photos
79 links
Мемоблог упоротого растовика

Поделиться важным мнением можно сюда: @rustachat
Download Telegram
Почти разобрался с местной бюрократией, на неделе напишу пост про мою борьбу.

Краткий апдейт: я получил назад свой паспорт, электронную версию Emirates ID, и встал на учёт для получения водительского удостоверения.
Как же хочется тяночку negative trait bounds.
https://frehberg.com/2022/12/docs-as-code-mermaid-inline-diagrams/

Антон наткнулся на просторах интернетов на фичер aquamarine.

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

*довольно урчит*
С Днем Рождения, @insert_reference_here!
А ведь я, получается, тоже злостный нарушитель трейдмарки :(
Average Stable Rust User

Пишет код
@
Код компилируется

Chad Nightly Rust Enjoyer

Пишет код
@
Код компилируется
@
Через неделю код не компилируется
@
Код компилировался из-за stable-to-nightly regression
@
Фикс бэкпортирован в предыдущие билды
@
Переписывает код
- Дорогой, я хочу увидеть Токио
- У нас уже есть Токио дома

@ Токио дома
При устройстве на работу:
- Условия мне нравятся, и индустрия у вас интересная, но скажите, какой у вас технологический стек?
- Мы используем Rust и Tokio на бэкенде

@ Rust и Tokio на бэкенде
Tell me you use Nightly without telling me
В преддверии годовщины Иисуса Христа — 24 декабря — объявляю о начале AMA (Ask me anything). Оставляйте в комментариях свои вопросы (и только вопросы, пожалуйста), потом на них отвечу — но не обещаю, что запосчу ответы в канал. Вопросы буду принимать до, собственно, двадцатьчетвертого числа.

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

- They would remove all sentences containing obscenities, all those dirty naughty words, right?
- So they would remove Javascript from webpages.
xxx: если задачу можно решить конечным парсером, то решать ее LLMкой кончено
yyy: если парсер нужен конченый, то лучше, конечно, решать ллмкой
xxx: дейсвительно, в обе стороны работает
Я теперь девопсина/SRE в AI стартапе, кстати, а у вас как дела?
- Какой твой язык любви?
- kill -s SIGTERM
У нас очень много железа. И облачного, и локального, всякого много. Все таки большие модели учим.
И когда железа много, оно неизбежно обрастает системами управления, распределения нагрузки, очередями задач с хитрыми политиками под наш кейс, итд.

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

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

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

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

Схема такая:

1. Закидываешь в очередь с интервалом в 1 час задачи с низким приоритетом — тут стоит уточнить, что приоритет учитывается только для preemption внутри команды, как локальный инструмент, не влияющий на другие команды
Таким образом почти всегда есть как минимум одна задача, на которую для команды выделена машина
2. Когда нужно что-то запустить, создаешь задачу с высоким приоритетом
3. Шедулер выкидывает задачу-пустышку, и на ее месте в очереди ставит новую задачу
4. PROFIT, вы великолепны, ваши задачи всегда выполняются в любое время суток, независимо от загрузки кластера и глубины очереди!

Я даже немного горжусь!
Было жаль ломать такой замечательный эксплоит.

Теперь политика дает больше веса командам, которые использовали меньше GPU часов, и наказывает такое поведение понижением приоритета в очереди. Обучение с подкреплением так сказатб.

* естественно это не единственный режим аллокации, для основных задач реализован другой, куда более гибкий механизм 😉