epsilon correct – Telegram
epsilon correct
7.66K subscribers
166 photos
7 videos
3 files
222 links
Машинное обучение, графы, языковые модели. Чуток про карьеру исследователя в FAANG, путь PhD и щепотка полезной математики.
Связаться с автором: @deltaincorrect. Рекламы в канале нет.
Download Telegram
Выбор научрука

Для многих людей, которые хотят поступать на PhD в разных странах, непонятно то, как вообще выбирать потенциального руководителя. Я постарался их немного систематизировать и рассказать о тех, которые, по моему мнению, играют главную роль в успехе аспиранта.

Во-первых, близость и качество контакта с научным руководителем и его группой. Одним людям больше подходит высокоуровневое руководство и подсказки, тогда как другим удобнее учиться писать статьи, когда обсуждается почти каждый шаг. К соэалению, зачастую в больших и успешных научных группах у профессора банально нет времени разбираться с каждым студентом и статьёй. В таких группах обычно несколько постдоков, которые могут помочь вам в понимании того, как работает академия. А могут и не помочь – у них и своих забот хватает. Часто от более молодых профессоров можно добиться большего участия, хотя я также знаю научных руководителей с 20+ годами опыта, которые много времени проводят со студентами.

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

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

В-четвёртых, банальный материальный фактор. Хоть я и не придаю фактору железа большого значения (ссылка на пост), если вы хотите заниматься большими моделями, а у научника кластер забит на недели вперед – возможно, стоит поискать что-то другое. Намного более важен, по моему мнению, отношение к поездкам на конференции. Конференции – это чуть ли не единственное место, где можно пообщаться с другими студентами и почувстсовать, чем и как живёт научное сообщество. Как минимум, должна быть возможность поехать на все конференции, где вы являетесь первым автором. Мой научник отправлял на одну из больших конференций каждого студента в начале PhD. Я считаю, что это – отличная стратегия.

Напоследок, стоит понимать, что в разных странах условния PhD программ очень разные. В Германии, где учился я, аспиранты являются полноценными государственными работниками, и им положена достойная зарплата (TV-L 13) и отпуск. А в соседеней Дании срок аспирантуры ограничен тремя годами, а за этот срок тяжело написать много качественных статей. В Штатах аспирантура соединена с магистратурой, а положение аспиратов, пожалуй, худшее из западных стран. С другой стороны, в США – самые большие университеты и научные группы. Каждому подойдёт своё.
👍15
Небольшой лайфхак про JFK

JFK Airport – это такое Нью-Йорксое Домодедово: когда туда прилетаешь, сразу нужно заложить лишние полтора часа, чтобы добраться до города. Спасибо Роберу Мозесу за узкую дорогу и отсутствие общественного транспорта. Не так давно мне подсказали, как сэкономить ±полчаса на этом маршруте.

Long Island Rail Road (LIRR) до Penn station или Grand Central занимает 45 минут, в то время как стандартный путь через Howard Beach займёт существенно больше часа. Билеты можно купить в новом приложении MTA TrainTime, которое вышло в середине прошлого года. Теперь не нужно ждать в очереди на покупку билета, а сразу бежать к нужной платформе. К сожалению или счастью, приложения карт плохо прокладывают маршруты с LIRR, так что такой вариант остаётся непопулярным среди туристов.
1
Пара мыслей об AI alignment

На днях рассказывал на квартирнике про AI alignment, и для многих людей такие мысли были как будто в новинку. Для других замкадышей, которые к нам доехать не смогли, записал кусочек из того, что рассказывал.

При словах “катастрофа ИИ” мы представляем мощный и злонамеренный ИИ, который внезапно захватывает контроль над человечеством. На самом деле, катастрофа может быть менее голливудско-взрывной. Например, с улучшением качества машинного обучения, корпорации могут все больше сосредотачиваться на легко измеримых метриках, таких как прибыль, что приведет к манипулированию потребителями и коррупции. В результате, со временем человеческое мышление станет все менее конкурентоспособным по сравнению с систематическими механизмами манипуляции и обмана, созданными с помощью ИИ. Думеры знают такой сценарий как “going out with a whimper”.

На самом деле, в нашей жизни и без этих ваших ИИ практически невозможно идеально согласовать цели и метрики. Из интересных примеров – promo-driven development в больших компаниях, запоротый Hacktoberfest, и спешное изменение в законодательстве Нью-Йорка по выкупу огнестрельного оружия. Чуть больше примеров можно посмотреть в статье на Википедии.

В этом смысле я вижу очень интересное пересечение на стыке рисерча про alignment и поведенческой экономики. Хороший дизайн структуры стимулов, учёт неопределённости, эгоистического поведения рациональных агентов, и стабильных исходов может позволить нам проектировать системы ориентированные в первую очередь на людей, например, налоговую. А в совсем прекрасном мире будущего, может, и мэрия Сан-Франциско решит alignment-related проблемы города.
👍8👎1
This media is not supported in your browser
VIEW IN TELEGRAM
.. но всё-таки Снуп Дог комментирует alignment лучше меня.
🤣8
Нашёл тут свежую багулю в TensorFlow, сейчас ругаюсь с челом, который её сделал. Зато хороший контент для канала подъехал!

Багуля заключается в следующем. Предположим, мы хотим заимплементить Standard score, ну или какой-нибудь z-score whitening для картинок или эмбеддингов. Делается это примерно так:

def whiten(tensor):
mean = tf.math.reduce_mean(tensor)
std = tf.math.reduce_std(tensor)
return tf.math.divide_no_nan(tensor - mean, std)


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

При константых инпутах дисперсия внутри tf.math.reduce_std равна нулю, а градиент 0/0 – NaN. Начиная с этого коммита, этот NaN прекратили прятать, так что теперь любая модель с криво написанной нормализацией улетит в NaN. Корректным будет такой код (телеграм не умеет в код под спойлерами):

def whiten(tensor, epsilon=1e-6):
mean = tf.math.reduce_mean(tensor)
std = tf.math.sqrt(tf.math.reduce_variance(tensor) + epsilon)
return tf.math.divide_no_nan(tensor - mean, std)


Вот так бывает. Я нашел ~500 некорректных использований такого паттерна на гитхабе, и еще сколько-то во внутреннем коде. Посмотрим, будут ли править.
🆒10🗿5❤‍🔥1👎1👏1
Апдейт: багулю починили. Вернее, не починили, а некорректные градиенты оставили для всех функций, как и было раньше. Если что, в питорче от нас тоже скрывают некорректные градиенты для некоторых функций.

Вот такая грустная прод-сказочка: на неявные поведения вашей системы опираются другие важные системы, так что менять API в глубине становится почти невозможно. В гугле такое называют Huryum’s law.

Ну ладно, хотя бы тысячи людей в мире втихую не сломались ¯\_(ツ)_/¯.
🤝8
Рисёрч интервью в FAANG

Чтобы попасть на исследовательскую позицию в эти наши фаанги, нужно пройти несколько интервью, обычно 2-3 исследовательских и 2-3 программистских. И если с программистскими всё довольно понятно (хотя там може есть свои лайфхаки), то вот по исследовательской части я материалов для подготовки почти не нашёл. У меня, конечно, всей информации тоже нет, так что расскажу пару наблюдений из своего опыта поиска работы два года назад и небольшого опыта собеседований интернов.

В целом, как мне кажется, в рисёрчерских интервью могут быть смешаны три вещи. Смешаны они оказываются в абсолютно случайных соотношениях, так что стоит быть готовым к любому варианту развития событий.

Во-первых, вас могут просто гонять по содержанию ваших же статей. Вот ты написал что-то там первым автором на ICML, а теперь перескажи это мне, и заодно расскажи, как эту статью вы писали. В таком рассказе критически важно понимать, что длина ш-индекса и сложность доказательств в вашей статье интервьюера волнует меньше, чем то, как вы думаете над статьями, как работаете и мыслите. На вопросы из серии "а как ты выбираешь идеи, над которыми стоит работать?" и "как ты работал с соавторами в такой-то статье?" стоит заранее подумать, как отвечать. Ответ вида "один я умный в белом пальто стою красивый" могут произвести не самое лучшее впечатление.

Чаще всего интервьюеры, которые идут по такому скрипту, заранее подготовили 1-3 вопроса, которые могут чуть выходить за рамки обсуждаемой статьи. Обычно там нет ничего сложного, но слишком часто я спрашивал вещи вида "а можно уменьшить сложность вот этого терма в лоссе?" и получал ответ "нет". Честное слово, можно было! Как минимум, показывайте свой мыслительный процесс на таких вопросах – абсолютно нормально, если ни к чему конкретному не получится прийти.

Второй вариант – это обсуждение какой-нибудь современной исследовательской проблемы в вашей области. Такое случается довольно редко, когда ваша область и область вашего интервьюера максимально пересекаются. И хотя в компаниях HRы пытаются назначать интервью по смежным вам темам, сильное пересечение получается крайне редко. Тут хорошо показать не только глубину, но и широту своих знаний. Например, когда я интервьюировался в разные компании, vision transformers были на пике популярности, и на одном из интервью мы довольно долго обсуждали, как можно их адаптировать для графовых нейронок.

И последнее – вариант наименее приятный, но зато к нему проще всего готовиться. На нём вам просто дают стандартные по основам теории машинного обучения. Это максимально похоже на интервью на МЛ инженеров, только задачи могут попадаться со звёздочкой (да ещё с какой). Сборники таких задач легко найти в интернете, так что готовиться к ним можно и нужно. Иногда какой-нибудь максимально простой вопрос, вроде bias-variance tradeoff, могут спросить "на разогрев" перед другим скриптом. Мой любимый вопрос из этой категории – обсудить k-means и скорость различных вариантов решения проблемы.
👍24❤‍🔥3🔥2
Нас с вами теперь больше тысячи, и я бы хотел сказать спасибо всем читающим. ❤️

В комментариях к прошлому посту попросили рассказать про то, как выбирать идеи для рисёрча. Пока я пишу про это пост, мне было бы интересно узнать, есть ли ещё какие-то темы, которые вас волнуют в МЛ рисёрче, про которые не напишут в крупных газетах каналах с 24/7 GPT. Академия vs. индустрия, PhD life, как предохраняться от реджектов, кто круче: Google Brain или Google DeepMind, вот это вот всё.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉213
Отвечаем на вопросы:

Кинг Конг против Годзиллы

Очевидно, выигрывает Годзилла, потому что по лору фильмов в него запускают тактическое ядерное оружие, и Годзилла это спокойно переживает. В то же время, Кинг Конга убивали обычными пулями (возможно, крупного калибра). Неоспоримо побеждает Годзилла.

Google DeepMind vs. Google Brain

Наполовину шутка, наполовину интересный вопрос про столкновение двух моделей менеджмента и довольно разной культуры. У DeepMind гораздо более вертикальная структура управления, проекты больше и масштабнее. В Brain, с другой стороны, больше индивидуальной свободы, зато проекты меньше и более гранулярные, такой традиционный полуакадемический рисерч. Что произойдёт со структурой при слиянии – загадка.

По духу мне ближе брейновская культура – я работаю в Google Research, который остаётся островком фундаментального рисерча внутри “большого гугла”.
👍12
Внезапно понял, что нигде в канале не написано, чем я вообще занимаюсь, кроме аналитики кайдзю.

Зовут меня Антон. В 2021 я защитил PhD по машинному обучению в Германии, и с тех пор работаю исследователем в Google Research. Не так давно перебрался в Нью-Йорк на постоянку, поближе к основной команде, чему несказанно рад.

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

Лично я работаю в основном над тем, как делать representation learning на сверх-больших объёмах данных, графовыми нейросетями и щепоточкой дифференциальной приватности. Примерно половину времени я трачу на статьи, половину – на разработку внутреннего софта и внедрение нарисёрченного вместе в продуктовыми командами. Работа над статьями и внутренними продуктами происходит в течение года очень неравномерно, так что приходится переобуваться из PhD студента в прод-девелопера и обратно несколько раз в год.

Примерно так, если очень крупными мазками. Подробнее – в следующих сериях.👆
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🥰16🔥9🕊5🏆3❤‍🔥21
epsilon correct pinned «Внезапно понял, что нигде в канале не написано, чем я вообще занимаюсь, кроме аналитики кайдзю. Зовут меня Антон. В 2021 я защитил PhD по машинному обучению в Германии, и с тех пор работаю исследователем в Google Research. Не так давно перебрался в Нью-Йорк…»
Калибровка курильщика

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

Немногие знают, что с калибровкой связан один неприятный факт: в работе Foster & Vohra, 1998 было показано, что можно достичь идеальной калибровки без каких-либо знаний о распределении таргетов. Более того, даже в adversarial режиме, когда следующее событие выбирается с учётом предсказаной вероятности, возможно добиться точной калибровки.

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

Это в том числе означает, что мы не может отличить по калибровке предсказаний "неудачливого эксперта", который честно пытается решать задачу предсказания, от “инфоцыганина”, который свои вероятности выдаёт по такому алгоритму без оглядки на распределение данных. This says a lot about our society. 💡
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11😁5😱21
🚀 @SBERLOGABIG вебинар по дата сайнс:
👨‍🔬 Дмитрий Кобак «Contrastive and neighbor embedding methods for data visualization» ( Контрастные методы и методы
ближайших соседей для визуализации данных )
⌚️ Четверг 25 мая, 18.00 по Москве

Add to Google Calendar

In recent years, neighbor embedding methods like t-SNE and UMAP have become widely used across several application fields, in particular in single-cell biology. They are also widely used for visualizing large collections of documents and/or images used to train modern deep learning architectures such as large language models or diffusion models. Given this academic and public attention, it is very important to understand possibilities, shortcomings, and trade-offs of neighbor embedding methods. I am going to present our recent work on
the attraction-repulsion spectrum of neighbor embeddings and the involved trade-offs. I am also going to explain how neighbor embeddings are related to contrastive learning, a popular framework for self-supervised learning of image data. This will lead to our recent work on contrastive visualizations of image datasets. In the second part of the talk, I will present our ongoing work on visualization of scientific literature, in particular biomedical research papers from the PubMed library.

О докладчике: Дмитрий Кобак - дата сайнтист в Tübingen University, один из ведущих специалистов в мире по методам снижения размерности в анализе данных.

Ссылка на зум будет в https://news.1rj.ru/str/sberlogabig перед докладом.
Видео записи: https://www.youtube.com/c/SciBerloga
👍52
Дмитрий Кобак – один из немногих, кто серьёзно исследует визуализацию многомерных данных. Смотрим, учимся варить tSNE.

Я не так давно эмбедил 100 миллионов вершин при помощи openTSNE – удивительно иногда, насколько быстро все работает по сравнению с тем же sklearn.
🤓43
Закину сюда без особых комментариев эссе Йошуа Бенджио про AI risk. Мне показалось, очень хорошо и ясно написано для любителей технического языка и достаточно точных гипотез, без околофикшн-обёртки.
👍61🔥1
Скорость академиков

Сегодня в JMLR вышла моя статья, описывающая простой, но довольно стабильный способ кластеризации GNNками. Всё хорошо – только статье уже почти три года. Первый раз мы её подали в сентябре 2020 года, потом делали ревизию в феврале 2022 (!), и, наконец, в январе 2023. За это время её успели заимплементить в Pytorch Geometric и процитировать почти 100 раз.

Очень забавно раз в год вспоминать, что у тебя там вообще за статья, разбираться с добавлением экспериментов и выводом теории. В этом году мне снова начала она нравиться! Такое “вечное сияние чистого разума” по-научному. 🛌🛌
Please open Telegram to view this post
VIEW IN TELEGRAM
👏25❤‍🔥91
Мы тут выложили небольшую околопрактическую статью на архив.

Отвечает она на очень криво поставленный вопрос: если у нас есть набор эмбеддингов, как определить, «хороший» ли он? Задача часто встречается в случае unsupervised/self-supervised learning, когда разметки нет, и сделать её не дают (например, юристы). Несмотря на отсутствие меток, часто нам все-таки хочется делать model selection и оптимизировать гиперпараметры.

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

А ещё у Марины, соавтора этой статьи, есть камерный тг-канал с котами! 🐈
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍4❤‍🔥1🦄1
Набросал код статьи на нампи и выложил на гитхаб, чтобы было с чем поиграться. Подписчики просят - мы делаем. 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍51
Хочется чутка поспорить с постом Лаиды (подпишитесь, кстати, на канал – много личного мнения – люблю такое).

Во-первых, стоит разделить переработки и достигаторство. Достигаторство – это чаще всего про нестабильную самооценку, которая зависит от ваших результатов на работе/в науке. Нестабильная – потому что зависит от результата – принятых статей или в срок затащенных проектов. У Лаиды больше про переработки, так что чуть наброшу про них.

Систематические переработки, не за неделю до дедлайна, а в режиме “в любое время суток отвечаю на все вопросы коллег” – это прям почти однозначно плохо, и для тебя, и для отношений с другими людьми в команде. Второе чуть проще – если в команде нормализуются полуночные фиксы, люди начинают этого ожидать. И если для тебя работа – это 90% жизни, для других это вероятнее всего не так. Не надо лишний раз заставлять коллег задумываться, стоит ли ваше письмо ответа в десять вечера. 😟

Теперь о том, почему систематически перерабатывать плохо, даже если для тебя работа – это жизнь и судьба (одноимённый роман Гроссмана страстно рекомендую). Тут у меня не такое жёсткое мнение, скорее ощущение, основанное на наблюдениях из жизни. Самые успешные ученые, с которыми мне довелось пообщаться лично – удивительно разносторонние люди. Их объединяет то, насколько хорошо они умеют “выключаться” из работы, и давать мозгу отдохнуть и уложить те знания и опыт, которые были получены в период интенсивной работы. “Стахановцы”, мне кажется, в среднем не переключаются с работы в достаточной степени, чтобы делать какой-то глобальный прогресс.

Моё отношение к переработкам сильно определили мой научник со сколтеха Панос и постдок в нашей лабе Давиде. Панос умеет сосредоточено въёбывать перед дедлайном, Давиде, как настоящий итальянец, показывал, как нужно отдыхать. Когда мы работали в месте, держался очень удачный баланс высокой эффективности и уместного чиллаута после дедлайна. 🏄‍♂️
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍6🤓3🔥1
Как выбирать идеи

Под юбилейным постом меня попросили рассказать, как я выбираю идеи, над которыми работаю. Вопрос сложный, ситуации у всех разные, don’t take this as a medical advice.

Я выделил 5 факторов, которые стоит учесть при выборе проекта на следующие несколько месяцев. Да, те самые Пять Простых Вещей, Которые Нужно Проверить Перед Тем Как Выбирать Проект, без регистрации и смс. Долгосрочное планирование стоит отдельного поста, напишу его как-нибудь потом. 👓

Во-первых, обстоятельства. В этом месяце в университет приехал специалист из сильно другой области? Произошел прорыв в смежной области, который сможет сильно изменить вашу? Получили грант на 9000 ТПУ дней? Стоит подумать, какие возможности от этого открываются и пересмотреть свои текущие приоритеты.

Во-вторых, влияние на мир. Ваша статья будет интересна кому-нибудь, кроме научрука и бабушки? Можно ли её использовать на практике? Поможет ли она решить какие-нибудь проблемы в этом мире? Нет? Может, стоит подумать о чём-то другом. Это очень сложно оценить заранее, потому что мы не очень хорошо умеем представлять, что важно другим людям.

В-третьих, выполнимость. Если для написания статьи нужно пройти пару postgrad level курсов, оно точно стоит того? Пригодятся ли эти навыки потом? Или с другой стороны – есть ли в вашем распоряжении все ресурсы, чтобы выполнить этот проект быстро и эффективно?

В-четвертых, уникальность. Кто-нибудь напишет и опубликует такую же статью за вас на следующем нипсе? Если да, может стоит просто подождать и поработать над чем-нибудь другим?

В-пятых, ваше желание. Какой бы классной ни была статья, если над ней не хочется работать каждый день месяц-другой подряд, может, не стоит себя мучить?

Спасибо Павлу за вопрос, я надеюсь, кому-то будет полезно. Ещё будет три поста «по мотивам», оставайтесь на линии, ставьте лайки, подписывайтесь на канал.
Please open Telegram to view this post
VIEW IN TELEGRAM
23👍6
За последние несколько лет у меня выработалась довольно полезная привычка записывать вещи. Совет записывать звучит максимально по-капитански, но на практике мне понадобилось довольно много времени, чтобы привыкнуть к этому.

У меня есть отдельный документик с идеями для статей и ещё один – для улучшений разных алгоритмов, на которые пока нет времени. Также оказалось очень полезным иметь по гуглдоку с личными заметками по каждому из проектов, который я веду. Из-за того, что много асинхронного взаимодействия, только так получается не терять контекст. 📃

А вот то, что я сделал за день, оказалось проще записывать ручкой на бумажке. Это позволяет избежать ноющего чувства, что ничего не сделал за день, если особых результатов не видно. С учетом того, что иногда не получается что-то неделями, это сильно позволяет снизить стресс.

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

А какие у вас отношения с записями? Ведёте какой-нибудь zettelkasten или orgmode?
Please open Telegram to view this post
VIEW IN TELEGRAM
137👍2