Deep Learn Me
688 subscribers
112 photos
9 videos
3 files
105 links
Чат: https://t.me/deeplearnme_chat
Канал про IT, ML, DL, Research, Python и к ним прилегающее

YouTube: https://www.youtube.com/channel/UCs46uHl7ngm6TTjpFzQHfqA

Канал про мою жизнь в Нью-Йорке: https://t.me/korney3_travel
Download Telegram
Блин, я ничего не понимаю в роботах и во мне умер инженер конструктор, но я правда считаю, что робототехника это одна из самых интересных областей для работы и для мл там сейчас простора дофига

Вот показывают, как hugging face чуваки занимаются робототехникой как хобби 😳

Я сначала просто умильнулась, а потом такая "Погодите-ка!"
Они реально сделали робота, который распознает свое окружение не классическими object detection моделями, а LLM, которая по изображению может написать, что находится на картинке 😮😮😮
Понятно, что это просто игрушка, но я за областью не слежу, теперь реально и обжект детекшон заменили ллм?

#llm #ai_applications #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
7🤔1
Stealing Part of a Production Language Model

Наткнулась тут на прикольную статью, которая хайпово называется КрАжА твоего сердечка КусОчКа ПродАкЩн LLM мОдеЛи.

Звучит ну очень по-хацкерски, но на самом деле это просто отдельная область, которая называется attacks на нейросетевые модели, в частности LLM. В этой конкретной работе авторы при помощи ядерного оружия🌟 линейной алгебры и большого набора (стоимостью 20$ обращений к чатгпт апи) log probs ответов модели на промпты находят hidden size скрытого представления данных и “embedding projection layer of a transformer model” (я сильно глубоко не вчитывалась, но как будто это скрытое представление матрицы Q)🔦

Статья мне понравилась, потому что она опирается на базовый линал (в основном на собственные значения матриц и SVD - обожаю SVD!!!!). Единственное, чего я не оч понимаю - что все эти вычисления полагаются на то, что все вектора скрытых представлений живут в линейном пространстве (для которого все эти собственные значения и разложения работают). Не, ну мы все видели эту картинку про Word2Vec, где король-мужчина=королева, но насколько так же линейно все в пространстве скрытых представлений нейросетей…. Хз, я про это иногда думаю, но пока ничего не читала глубокого на тему.

В общем, хз, насколько нам ценны детали о размерностях продакшн ллм моделей, но раз OpenAI так ревностно инфу эту хранит, то почему бы им назло ее не раскопать? В любом случае интересный кейс применения линала и в целом область🙂

#paper #maths #research #llm
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32
Forwarded from /g/'s Tech Memes (ᅠ ᅠ)
🤣6
Ух, как-то я ушла в конце апреля в отпуск, и так отпустила, что вылетела из своего режима ведения паблика 🙁

Еще меня немного завалило апатией, потому что ровно в том же конце апреля мне пришел отказ от работы, куда я собеседовалась с января (!!!), прошла около 7 стадий интервью (3 технических + тестовое). Спустя огонь и воду, эйчары несколько недель капали мне на мозг, прося ответ на еще выданный оффер, организовывали мне звонки с тимлидом, фирмой, помогающей с переездом, пока оффер проходит стадию одобрения CEO... Ну, и когда я ментально уже запаковала чумоданы, меня этот самый CEO благополучно послал в пешее эротическое 😐😐😐😐

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

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

как-то так, держу в курсе, всем чмок в пупок👋
#deeplearnme_diary
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥8👍4💔2🥰1
Вот начну с того, что мы уже год пишем статью, которую реджектнули на воркшоп NeurIPS в том году за то, что мы не опубликовали данные, на которых ставили эксперименты

(оказывается (вот сюрприз!) пытаться заниматься наукой в рамках не академической среды очень запарно)

Но вот мы наконец-то дошли до стадии оформления и подготовки к публикации. Это вот обложка, которую сгенерил мне DALL-E, и обложка, которую сгенерил мой мозг

(если прогрОммистов все-таки заменят - пойду на панель рисовать научные иллюстрации)

#deeplearnme_diary #deeplearnme_work
👍81🔥1
Еще недавно завершилось соревнование на Каггле по предсказанию молекулярных свойств, про которое я писала туть. Я даже лениво в нем поучаствовала, пытаясь организовать на моем маке обучение XGBoost модели на данных размером ~200*10^6 строк с использованием фичи в XGBoost, которая позволяет делать загрузку данных on-fly по типу даталоадеров для нейросеток (писала про фичу тут). Спойлер: для всех featurized данных моего жесткого диска не хватило, так что я просто делала downsample датасета по количеству позитивных примеров. Супер результата достичь не вышло, но поиграться с этой фичой было прикольно, код можно посмотреть туть.

Ноооо, соревнование оказалось с сюрпризом. Вообще, на соревнованиях в Каггле обычно есть 2 лидерборда - private и public. Результаты решения на public лидерборде видны всегда, а private открывается после окончания соревнования. И они часто отличаются, поскольку люди оверфиттятся на скоре public лидерборда и могут упасть или подняться на 10-20-100 позиций за счет плохой генерализации на private лидерборде.

Но в этот раз случился вообще цирк: 4 команды на первых местах взлетели на 800-1000 (!!!!!!) позиций, потому что молекулы в private части тестового датасета вообще не присутствовали ни в обучающем датасете, ни в public части тестовых данных.
В такой ситуации, результаты больше похожи на лотерею... И что уж говорить о том, что такой сетап совершенно не похож на реальную ситуацию в drug discovery проектах.

Соревнование взяли на NeurIPS и вообще оно было супер популярно на Kaggle, компания организатор сделала себе неплохую рекламу, но после результатов я бы сказала, что они либо не супер разбираются в том, как такие данные используют, либо сделали соревнование на отЪе-сь, что в любом случае говорит не в их пользу.

Короче, реально от души сочувствую людям из топа public лидерборда, которые серьезно участвовали в соревновании и потратили много времени и сил🥲

#ml_drug_discovery #competitions #git_repo
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡5👍4🔥21
Кстати по ходу соревнования столкнулась с очевидной проблемой: входной сsv файл весил ~50gb, и после первых экспериментов я поняла, что, когда я использую его head для обучения, распределение данных вообще не похоже на тестовое, так что его надо было перемешать.
Пока искала способы помешать гигантский csv, нашла такой прикольный алгоритм - merge shuffle. Он использует жесткий диск вместо того, чтобы загружать все в RAM. Суть как в mеrge sort - проверяем, влезает ли файл в RAM, если да - читаем его и мешаем, если нет - случайно разбиваем на 2 файла и записываем их на жесткий диск. Рекурсивно проводим эту операцию с полученными файлами, в конце в любом порядке append файлы друг к другу.

Жесткий диск алгоритм жрет только в путь... Поэтому у меня на локальной машине у меня все intermediate файлы не влезли лол

Я в итоге использовала тренировочные данные записанные в формате parquet - они записаны шардами, поэтому можно было кусками читать данные в RAM. И я просто перемешала индексы строк, случайно выбрала N индексов, и по очереди читая шарды, записывала строки по случайным индексам в отдельный файл 😇

Но идейно алгоритм обратной сортировки звучит прикольно 😆

#algorithms #useful_links
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆6👍3🔥1
Я вот жаловалась на докер а не наши кривые лапки в апреле
Во-первых, я нажаловалась не на ту команду в Dockerfile 😂 Поэтому вношу коррективы. Во-вторых, оказывается, та команда, на которую я ругалась, на самом деле проблему решает, поэтому заодно рассказываю, как пофиксить 💃


TLDR:
===
У нас в Dockerfile была команда, которая устанавливала наш фреймворк `pip install`ом по ссылке, а-ля

RUN pip install https://FILESERVER/PACKAGE_NAME.whl

И, поскольку мы с командой все пользуем одну машину как docker host, у нас этот слой docker image был все время закэширован, даже когда файл по ссылке https://FILESERVER/PACKAGE_NAME.whl ОБНОВЛЯЛСЯ. Да-да, можно было версионировать название, но тогда для каждого обновления библиотеки, пришлось бы все докерфайлы обновлять
===

В общем, мы эту проблему решали хардкорно - каждый раз, когда PACKAGE_NAME.whl обновлялся, мы зачищали весь кэш у docker host, и ночью заново запускали билды наших 100500 имаджей

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

В общем, нам пришлось подойти к проблеме интеллектуально и все таки почитать доку чатгпт, чтобы найти решение получше

и ОКАЗАЛОСЬ, что команда ADD https://FILESERVER/PACKAGE_NAME.whl PACKAGE_NAME.whl, на которую я набычила, на самом деле не виновата в кэшировании старого файла. Вообще говоря, слой ADD и не кэшируется, файл по ссылке будет скачиваться всегда, вне зависимости от того, обновился он там или нет

А вот RUN pip install PACKAGE_NAME.whl файла, который теперь находится в локальной файловой системе, теперь будет проверять хэш PACKAGE_NAME.whl и если файл остался прежним - будет кэшировать слой, а если поменялся - будет билдить его с нуля

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

#devops #docker
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
все так
#memes
Forwarded from RWPS::Mirror
7
Forwarded from Demorianesimo #MovimentoNOBloat (𝕸𝖆𝖘𝖙𝖗𝖔𝕬𝖑𝖇𝖊𝖗𝖙𝖔 | #MovimentoNOBloat)
This media is not supported in your browser
VIEW IN TELEGRAM
😢8👍2😁1
😭😭😭😭
Если вы на этой неделе еще не выделили времени "для себя", чтобы позаниматься самобичеванием по поводу того, что вы делаете недостаточно - вечер пятницы отличное время для этого!
Не благодарите
#memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰12🙈6👍2
POV: тебя настигают дедлайны (но ты быстрее!), поэтому тратишь весь вечер на выбор красивой темы для нового терминала 👋

Или увидела у коллеги на работе новый терминал для зумеров (а я-то все сидела на iterm-е и думала, что я продвинутая....😐)

В общем, для тех, кто в танке, как и я: создатель Terraform выпустил свой новый терминал - Ghostty 👻
https://ghostty.org/
Он написан на языке Zig (вы не знаете его? вот и я тоже...)

Основные его фичи
1. Предполагается, что он СУПЕР быстрый, поскольку он написан с оптимизациями под использование гпу (я не знала, что скорость терминала - это проблема, нудаладно)
2. Работать с приятными настройками из коробки (когда я установила его голышом, не поняла, что в нем такого есть, чего нет в iTerm)
3. Иметь супер простой конфиг в текстовом файлике с синтаксом из пар ключ-знаение - это одобряем, кто-то даже сделал милый сайтик, где можно сделать свой конфиг потыкав кнопочки - смотреть туть https://ghostty.zerebos.com/

В общем, я поигралась на работе, и сейчас пришла еще на свой ноут поставила 💃

Поскольку было настроение, решила заодно попробовать oh-my-bash, чтобы сделать красивый промпт. Поставила себе тему nekonight_moon, потому что у нее вайбы сейлор мун😳 Правда, пришлось внести в нее маленькое изменение, чтобы добавить conda environment, пусть тоже будет тут

В общем, потестим-посмотрим

#git_repo #terminal #pretty_staff #useful_links
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12🥰31
Еще милоты с моей работы

Во-первых, с прошедшим днем числа пи
Во-вторых, команда, которая занимается одним из продуктов нашей компании, который называется PyMol (уже чувствуете, куда это идет??), сделала релиз новой версии на той неделе

В общем, номер релиза 3.1.4 (вау!), так что релиз тематический - https://www.schrodinger.com/platform/products/pymol/

Py от python (наверное) превращается в pi, Mol от molecule в mole, который крот

Так что маскот релиза - это очаровательнейший кротик с пирогом (потому что pi еще и pie 🥧 )
И у последнего релиза даже иконку поменяли на кротика с куском молекулы

Короче, если продукты и разрабатывать, то только с милыми маскотами 🥰🥰🥰

Всем таких же няшных релизов :3

#release #pretty_staff #memes #deeplearnme_work
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰112
Начинаем понедельник с грустного

В пятницу у меня случился коллапс на алгоритмическом интервью с медиум литкодом
Задачка похожая на воть: https://leetcode.com/problems/swap-adjacent-in-lr-string/description/

Я долго сопротивлялась, но, кажется, придется все-таки ботать литкод 😢
Please open Telegram to view this post
VIEW IN TELEGRAM
2😭2👍1
Deep Learn Me
POV: тебя настигают дедлайны (но ты быстрее!), поэтому тратишь весь вечер на выбор красивой темы для нового терминала 👋 Или увидела у коллеги на работе новый терминал для зумеров (а я-то все сидела на iterm-е и думала, что я продвинутая....😐) В общем, для…
Маленький UPD

У ghostty не имплементирована пока что фича поиска по терминалу, i.e. cmd+F 🤡

В качестве решения предлагается использовать tmux и аналоги, пока фича в разработке.

На гите есть длиннотред, пока в ближайших релизах фичу не обещают https://github.com/ghostty-org/ghostty/issues/189

В общем, пока-пока хайповые терминалы, я обратно в iterm 👋
Please open Telegram to view this post
VIEW IN TELEGRAM
😭51👍1🤡1