new_yorko_times | Unsorted

Telegram-канал new_yorko_times - New Yorko Times

9749

Юрий Кашницкий (Yorko, тут @yurycorn) – про машинное обучение, науку, галеры, матан, фэйлы и прочие интересности. Рекламы нет. https://www.linkedin.com/in/kashnitskiy

Subscribe to a channel

New Yorko Times

#tips

Порефлексируем на одну из самых обсуждаемых в последние дни тем – как правильно поделиться своим жупитер-ноутбуком с другими.

Ну ладно, допустим, это поможет 3-4 людям, но этот тот самый нишевый совет, который может попасть прям в точку. Я долго искал разные способы обернуть контент с кодом, картинками, визуализациями (читай, жупитер ноутбук) в сайт и лучшее, что нашел – JupyterBook (не путать с jupyter notebook). Вкратце упоминал тут, но расскажу чуть подробней: JupyterBook – очень удобный способ завернуть свой материал и поделиться им в виде статического сайта. Особенно если ноутбуков более одного и хочется их структурировать и повесить в вебе в удобном виде. Идеально для курсов/книг с кодом.

Жупитер-бук поддерживает:

- нормальный контроль версий без костылей типа nbdiff, основной контент – markdown (хотя если ооочень хочется, можно и ipynb отрендерить)
- CI/CD для жупитер-подобного контента. Можно все настроить так, чтоб быть уверенным: код рабочий
- Публикация “книги” на сайте одной командой
- Мелкие фишки такие как кнопки для открытия PR, чтоб указать на ошибку, поиск по всему контенту, автоматические оглавления и т.д.
- Если очень хочется дать воспроизвести код – есть интеграция с JupyterHub и Binder (последнее кто-то юзает?)

Вряд ли многие из вас пилят курсы, но для тех кто все же да – помимо quick start в офиц документации, можно подсмотреть в мои проекты с jupyterbook:

- млкурс одс – сайт, гитхаб
- курс ODS по квантовому ML – сайт, гитхаб
- книга Machine Learning Simplified (про которую писал тут) – сайт, гитхаб. Fun fact: автор добавил меня в key contributors как раз за PR с оборачиваением всех упражнений в jupyterbook, оказалось что надо.

Минусы тоже есть: в документации бывает сложно найти какие-то мелочи, где-то нужен MyST-markdown (расширение обычного маркдауна), то есть какие-то заклинания приходится гуглить. И в целом запросы часто выводят на документацию jupyter notebook, а не jupyter book.

Для чего не подходит JupyterBook:
- Если нубук всего один - заморачиваться не стоит, в таком случае старый добрый google colab.
- Для своего персонального сайта/блога. Ну, любители голого маркдауна могут, конечно, и блог на нем написать, но все же для блога JupyterBook выглядит чутка уныло.

Читать полностью…

New Yorko Times

Есть мнение, что телеграм – лучшая соцсеть (хоть и не соцсеть) в разрезе осознанного потребления контента. Нет алгоритмической ленты, рекомендаций, рекламы – минимум (если видите ее внизу – это не я). Чисто подписываешься на тот контент, который считаешь ценным. В ангоязычной среде, кстати, лучше email рассылок ничего не придумали, так что нам повезло с Дуровым и телегой.

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

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

Читать полностью…

New Yorko Times

#career #interviews

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

Читать полностью…

New Yorko Times

Кеша просит повышение, а ты нет
#career #tips

Эпиграф: «синьор ты или нет - это у тебя в голове»


Простая мысль: сидеть и ждать, пока тебя повысят, - не самая лучшая карьерная стратегия. Даже если босс не против, это ж надо телодвижения совершить, заручиться поддержкой своего босса, оформить все документы… Без пинка это может и отодвинуться.

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

У меня в Эльсивире как раз из подопечных был один бодрый парень и двое ждущих. Бодрый не только бодрый был, но еще и пинговал меня постоянно, «что, какие грейды, где я сейчас, сколько мне еще до синьора?». Ну молодец, скоро реально будет синьором.

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

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

Так что call2action для тех, кто замалчивает тему: если критерии повышения не понятны, хотя бы поднимите эту тему с менеджером.

Читать полностью…

New Yorko Times

Ладно, полупост про медовый месяц с Гуглом. Видео «my first day at Google» не будет, так же как нет иллюзий - скоро надо будет пахать вовсю, проекты пошли. Но вот онбординг прям хорош - дают 5-6 недель комфортно поботать, познакомиться с людьми (сходить на массаж, набрать пару кило на бесплатной еде, куда без этого). Из ботвы не только cloud, но и про продажи много всего. Гугл - это, конечно, целая вселенная. Есть свой поиск, эдакий Гугл внутри гугла, свой мемогенератор, оттуда через мемасы и новости компании узнаешь (в первую неделю залил свой мемас, не порвал танцпол, но главное ведь что сам поржал знатно). Кстати, можно язвить про gpt vs. Gemini, но гемини в связке с workspace - топ, использую каждый день. Индексируется все в drive - доки, презентации. Самый популярный сценарий - notes на митинге с последующей суммаризацией. Отголоски sales организации уже слышны, да и хайп с GenAI ммм.. слегка слишком хайповый. Но пока лето, проекты не прижали и кормят вкусно - настрой бодрый.

пс. картинку упёр у @boris_again, тот тоже отмучился с собесами и удачно, может что расскажет.

Читать полностью…

New Yorko Times

#career #interviews

Собрал последние посты про собесы, гугл, кукуху и прочее в один пост. Для тех, кто тут все читал: из нового там только про интересный второй оффер на VP AI в стартап.

Читать полностью…

New Yorko Times

Пшёл. Удачи. Не. Нет. Сорри. Нет. Давай завтра. Нет. Too much leadership. Нет. Welcome to Google!
#career

Ладно, что уж, раскрою карты, я нынче Staff GenAI Field Solution Architect в Google Cloud. Сказать, что я охренел от того, как закончилась серия собесов – ничего не сказать.

Команда абсолютно новая, LLM-консалтинг, чисто прототипы, как мы любим: quick& dirty. Проекты по 4-6 недель будут, задача - показать, что GenAI оправдывает бизнес-надежды, продемонстрировать работающий прототип. Далее внедряют уже либо сами клиенты либо партнеры-консалтеры типа Accenture.

Пока недель 6 комфортный онбординг: ботать, сертификации проходить, знакомиться.

Видимо, тут скоро будут посты про собесы именно в гугл, что помогло и т.д.

Отвечая на самый предсказуемый вопрос «чё? скока?»: 40 ч/нед.

Читать полностью…

New Yorko Times

Consensus: RAG поверх научных статей для ответов на бытовые вопросы
#tips

Посоветую-ка я вам вот такую штуку: Consensus.app. Это приложение по типу RAG поверх научных статей (прям как Эльсивир пилит, только b2c, для людей). Оно умеет взять Yes/No вопрос про науку, найти релевантные статьи и понять, какие из них утвердительно отвечают на вопрос, а какие - отрицательно.

Скажем, интересно, как кофе влияет на умственную деятельность и здоровье. Фантазия у меня так себе, так что я написал промпт, чтоб он породил кучу таких вопросов.

You are a life coach giving advice on coffee and productivity. Generate scientific questions about coffee in our life that can be checked for truth based on a corpus of scientific papers.

Examples:
- Does coffee increase my productivity?
- Is drinking too much coffee bad for my digestion?
- Is coffee bad for my heart?


Дальше ручками вбиваем эти вопросы в Consensus (если чутка упороться, можно и агента сделать, чтоб дернул API Consensus) и собираем, сколько статей – За, сколько не определились, а сколько против. Получается примерно так:

- Does coffee improve cognitive function and memory? – 67/17/17 (18 papers)
- Are there long-term health effects of consuming high quantities of coffee daily? – 73/13/13 (15 papers)
- Can coffee consumption reduce the risk of developing neurodegenerative diseases like Alzheimer's and Parkinson's? – 71/29/0 (17 papers)
- Is there a correlation between coffee intake and improved physical performance during exercise? – 77/15/8 (13 papers)
- Does coffee consumption negatively affect sleep patterns and overall sleep quality? – 69/12/19 (16 papers)
- Does coffee have any impact on mental health conditions such as anxiety and depression? – 29/57/14 (14 papers)
- Can coffee consumption lead to increased levels of cortisol and stress? – 83/0/17 (6 papers)
- Is there a link between regular coffee consumption and a lower risk of certain types of cancer? – 74/5/21 (19 papers)
- How does coffee affect metabolic rate and weight management? – 50/50/0 (6 papers)
- What are the effects of coffee on blood sugar levels and the risk of developing type 2 diabetes? – 76/18/6 (17 papers)
- Does coffee have any protective effects against liver diseases, including liver cancer and cirrhosis? – 80/15/5 (20 papers)
- Is there a positive relationship between coffee consumption and cardiovascular health, including blood pressure and heart disease risk? – 87/13/0 (13 papers)

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

В бесплатной версии дают примерно с 12-15 вопросами поиграться. Проблема таких инструментов, что 9 евро/мес. за такое вряд ли будешь платить. Но поиграться и в нужный момент вспомнить про такую штуку – здорово.

Читать полностью…

New Yorko Times

Стата по 48 собесам на Applied ML Scientist
#interviews #ml

Кто не заметил, я тут недавно отмучился (см. #interviews #fails). Провел небольшой EDA своих собесов. По типу собеседований из 48 событий распределение такое:
• Поведенческое - 13.5
• Кодинг – 8.5
• ML в ширину – 6
• ML в глубину – 5
• ML-кодинг – 4
• Рисеч-презентация – 4
• ML дизайн – 3.5
• Домашнее задание – 3
• System design – 0.5

Тут, конечно, надо оговориться, что поведенческие – это что угодно, от бесед за жизнь с менеджером (”ну, что делал?”) до амазоновских “tell me about a time you took an urgent decision without data”. Кодинг – не только пресловутый литкод, больше было даже другого: попарсить данные, посчитать CTR + из области scientific computing (оцени Пи, посчитай доверительный интервал бутстрепом).

Еще меня немало спрашивали про лиды, то есть как я заходил на первый собес. Тут такая стата:
• Реферал – 7
• Холодный отклик – 4
• Написал напрямую HM – 4
• Рекрутер/HM сам написал – 3
• ODS/Singularis – 2

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

По источникам рефералов: хорошая экселька висит в синулярисе в career, вижу треды с рефералами в Blind и slack Rands – можно попробовать, но кажется, спрос на рефералы там огромен, а о предложении сложно судить.

Хотел еще стату подбить по вопросам, что вообще спрашивали. Но я все-таки не все логировал. Из того что запомнилось:
• кодинг на позиции Applied Science – в целом уровня изи, это порадовало, медиум всего один раз (с Яндексом), хард тоже один раз, но код не надо было писать (Нвидиа)
• раза 4 на ML breadth спрашивали про p-value, это надо и зазубрить, и понимать
• на ML breadth с уклоном в NLP почти все лезут в устройство трансформера и внимания
• бихейв заковыристый только у Амазона. С другим бигтехом тоже было много поведенческих собесов, но ни разу вопросы на ставили в тупик. В большинстве случаев это все же “расскажи про проекты, которыми гордишься”, могут спросить еще про фэйл или конфликт
• ни разу (!) меня не спросили про слабости. Показалось даже, что важность вопроса переоценена либо у меня bias и повезло с собеседующими

В след посте пособираю ссылки на ресурсы, которые особенно помогли при подготовке #todo

Читать полностью…

New Yorko Times

Вакансия Senior DS manager @ Elsevier
#career

Этикет подсказывает, коль уходишь, помоги кого-то на свое место найти. И вот наконец официально: job description. Описание по классике слегка водянистое, так что отмечу основные моменты:

- Локации: Амстердам и Лондон, из других локаций – очень маловероятно (по крайней мере, в NL есть закон, обязывающий сначала прошерстить локальный рынок, потом искать кандидатов извне);

- Босс – VP DS (правда, VP не один, но эта DS команда – самая крупная в компании), скип – COO, то есть в иерархии Senior DS manager – это CEO минус 3. С CEO лично я не общался, а вот с COO – регулярно. Босс – очень классный, дружелюбный грек, живчик, всегда топит за команду, конфликтов у меня за 4 года вообще не было;

- Хоть формально вакансия на менеджера, ищется техлид, и разница с Principal ML Scientist невелика: примерно 50/50 hands-on и менеджерская работа. Как техлид, будешь тащить небольшую команду, 3 прямых подчиненных, то есть уже как менеджер будешь с ними обсуждать карьерное развитие, цели на год и т.д.;

- В отделе ~40 чел, из них около половины – subject matter experts, остальные DS, в каждом проекте примерно по 2-3 чел из DS на этапе рисеча, далее в зависимости от проекта можно довольно плотно работать в кросс-функц команде от пары месяцев вплоть даже до года

- Работа очень творческая, чистый applied science, делать прототипы, работать с экспертами и разрабами, прорабатывать бизнес-кейсы с менеджерами, порой и с топами;

- Кто читал канал, представляет, что примерно по проектам, они тоже топ, очень интересные, часто с огромным импактом. Вот пост, еще можно посмотреть все по тегу #projects. Отдельно я тут рассказывал про #research_integrity, прошлый пост – пересказ, этот проект тоже перепадет преемнику;

- На эту позицию нужно сочетание академического и индустриального опыта, будут как и cutting-edge исследовательские штуки типа того же LLM-детектора, но также и рутина с большими коллекциями текстов и Spark. Собесы – 1) лайтовый кодинг, ML coding а-ля покрутить датасет, построить модель, провалидировать 2) ML system design 3) поведенческий с VP DS и COO;

- По плюшкам хорошо, WLB, стоит отметить, что Эльсивир очень щедр с командировками, в том числе можно кататься на конференциям практически неограниченно. Я успел съездить в Вену на IJCAI, пару раз в Париж на SDG митапы, в ЮАРе и Афинах рассказывал про Research Integrity;

- Компенсация – в целом по рынку, так что надо хорошо торговаться на входе. Дальнейшие повышения в Европе весьма унылы по деньгам. Про компенсацию меня не надо спрашивать, обещал боссу не раскрывать, но можно считать, что шаг №0 в подготовке – узнать вилки на эту позицию;

- Весь негатив вокруг Эльсивира и заслуженная критика – это фактор, да, каждый сам принимает решение, для меня киллер-фичей стала возможность что-то менять изнутри, особенно проект по Research Integrity. Он набирает обороты, и тут импакт огромный, CEO лично следит за фродом в науке. Мы пропитчили расширение команды Publication Ethics в 5 раз, из недавнего – указали особенно стремные Special Issues журналов, с кучей фрода, политика компании меняется, таких Special Issues будет сильно меньше.

Если чувствуете матч – кидайте мне CV на yury.kashnitsky@gmail.com с темой “Senior DS Manager: <Name> <Surname>”, можно с коротким интро. Реферал просить не надо, я уже все, сдался-расписался. Я субъективно отранжирую батч заявок и прокину VP DS (возможно, в 2 захода, вторник, пятница на след неделе).

Читать полностью…

New Yorko Times

#promo

- @ai_newz – если еще не читаете Артема (staff Research Scientist в Meta), тут можно вдохновиться: как он тащил разработку самого быстрого text2image, про собеседования в бигтех от новоиспеченного стаффа и инженерные грейды там же. И в целом Артем продуктивен не только в Мете, но и в своем канале; можно найти и дайджесты новостей, и порой почти онлайн трансляции таких событий как Google I/O (без булщита, но с ёрничеством), и всякие слухи из мира AI;

- Идет DataFest 2024, и там как всегда куча всего интересного, а я как всегда еще почти ничего не видел. Из того что видел отмечу трек Advanced LLM, особенно доклад Рината @llm_under_hood про борьбу с галлюцинациями RAG-а и упрощение дизайна RAG-систем за счет вдумчивой беседы с клиентом и имитации того, что делают люди для решения задач;

- Алексей Григорьев, основатель DataTalksClub (олды его помнят как ololo), 17 июня запустит бесплатный LLM Zoomcamp (GitHub). Какие-то предварительные митапы уже идут, можно следить за активностью Алексея на LinkedIn;

- Оказывается, Валерий @cryptovalerii будет читать бесплатный курс по ML system design на русском (пост). За это, правда, придется отдать персональные данные некому СравниТех, а также предварительно пройти тест по ML (интересно, я осилю?). Но все равно может выглядеть интересно.

Читать полностью…

New Yorko Times

Суть собесов: марафон, гигиена кукухи и контролируемая лотерея (продолжение)
#career #interview

- (не универсальный совет): я сразу верил в лучшее. Когда видишь, что отваливаются крутые варианты на самом последнем этапе, невольно думаешь о той самой лотерее и что не может все время не везти. Рано или поздно повезет. Совет не универсальный, так как есть куда более тяжелые ситуации, чем моя, например, срочный поиск работы для визы, клиническая депрессия от постоянных неудач или фатальное отсутствие приглашений даже на разговор с эйчаром. Кстати, один психологический трюк мне папа подсказал, пока еще был жив и я на физтехе учился. Перед типичным экзаменом на завал, допустим, по теорфизике, я ботал днями напролет с ощущением, что лох и все равно завалят на первом же вопросе. Папа давал такой совет: “Смотри, ты нормальный парень, значит, лет через 5 нормально закончишь физтех. Каждый год его заканчивают тысячи ребят, ты ничем не хуже. Значит, отматывая назад, завтрашний экзамен ты нормально сдашь. Ну, может, с пересдачи, но сдашь”. Эдакий working backwards, только за много лет до книжки Амазона, которую каждый попугай прочитал. Это аналогия, у меня она работала скорее на подкрепление в стиле “в конечном счете мне повезет, значит, это вполне может быть и этот вариант с ядреным собесам завтра”.
- Не запариваться с фидбеком. “Во мне что-то не так”, “почему они взяли другого” – вот тут можно очень глубоко и надолго провалиться в ненужную рефлексию. Да, они взяли другого, это нормально. Может, у него опыта больше, может еще что, да банально по локации взять туземца – типичное дело. Как пример, Apple отшил меня после первого собеса, который я, как казалось, отлично прошел. Вакансия в Лондоне была, и в итоге они взяли моего бывшего коллегу: он уже в Лондоне и с чуть большим опытом в рекомендашках, лучше фит. Ну и стоило ли мне днями-ночами рефлексировать, почему меня не позвали дальше. Нет (благо, на тот момент я уже это понял и просто двигал дальше)

Все равно прилетит критика, что это survivorship bias, но кому-то советы все же помогут. В целом да, рыночек тяжелый, но я видел уже очень много хэппи-эндов. Удачи!

Читать полностью…

New Yorko Times

Все инвайты на LinkedIn – одним махом
#tips

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

- Заходишь в список контактов/приглашений https://www.linkedin.com/mynetwork/invitation-manager/
- Раскрываешь весь список "See more"
- Включаешь консоль девелопера: F12, на маке Fn + F12
- Копируешь туда сниппет (предварительно я написал "allow pasting" ибо опасно):

let parent = document.querySelector('.mn-invitation-list');
let children=parent.children;
for(let i=0; i<children.length; i++){
console.log(children[i])
children[i].getElementsByClassName("artdeco-button--secondary")[0].click()
}


- Наслаждаешься процессом авто-прокликивания приглашений
- Повторяешь до сходимости

Из меня фронтендер как балерина, не берусь судить, насколько это безопасно, но вроде норм, ничто не взорвалось, мои 1e-6 битка не угнаны.

Читать полностью…

New Yorko Times

#карьера #career #interview #faang

Behavioural interviews in FAANG+

10. Scope / масштаб
Важно показывать масштаб проектов на определённый уровень. Часто самый первый вопрос - проект, которым гордитесь. Это возможность показать масштаб, влияние и импакт.
Будьте избирательны и выбирайте проекты с достаточным масштабом и количеством подчинённых/ менти.
На менеджера первого уровня/staff по IC ожидается 5-10 direct report/супервайзить 5-10 человек. На sr manager/sr staff - уже несколько команд и влияние на 20 человек, principle/director - 50+ человек.
Это размыто, но порядок цифр примерно такой.
Если вы тех лид команды с 2мя людьми вне фаанга - это синьор в фаанге, поэтому выбирайте проекты, где вы лидили 5+ человек из разных команд, если хотите выше.
Приведу пример в комментариях.

11. Какой сигнал хочет получить интервьюер?
Каждый вопрос задан, чтобы считать какой-то сигнал. В behave это чуть менее очевидно, чем в дизайнах. Думайте, "what is the question behind the question?", какой сигнал хочет получить интервьюер, на какой принцип лидества направлен вопрос. И дайте ему/ей этот сигнал или принцип.
Если считывать сложно, готовтесь! По основным вопросам полно разъяснительных бригад в интернете.

12. Будьте аунтентичны
Из курса психологии мы знаем, что найм - это субъективное эмоциональное решение (как большинство решений).
Важно выделяться из череды кандидатов. Подумайте, какую аутентичную часть себя вы готовы показать.
Пример, на вопрос как развиваю soft skills в Мета я ответила, что занимаюсь с психологом и психотерапевтом. Это разбудило моего интервьюера, интервью прошла отлично.
В Shutterstock я рассказывала, что сама художник и мы смотрели на мою галерею картин. Получила офер.
Не бойтесь быть собой.

13. Адаптируйте вопросы
Если вопрос оказался не в совсем удобной форме, перефразируйте его как вам надо. Примеры в комментариях.

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

Моя презентация, которую я сделала 2 года назад для подготовки к behave, там есть детали.

Всем удачи на всяких интервью.
Примеры в треде.

Читать полностью…

New Yorko Times

После вчерашнего выпуска (часть его снята на территории Гёттингенского университета) написал Андрей Коняев – издатель @nplusone, ведущий Kuji Podcast и один из главных амбассадоров науки в России.

Цитирую полностью:

«Хотел про Гёттинген историю рассказать короткую. Это в прошлом был главный математический институт в мире. То есть когда Соня говорит, что там Гаусс – это полдела. Там были все, не было в мире математического центра мощнее.

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

В 30-е годы в этом университете началась чистка. Причем начали ее студенты, одним из которых был Освальд Тейхмюллер – великий математик, реально, член НСДАП с 1931 года. Изгнали всех, даже Гильберту пришлось доказывать, что он не еврей. Когда уже в начале 40-х тогдашний министр науки Германии спросил Гильберта, мол, как поживает математика, избавившаяся от еврейского влияния, тот в ответ спросил: «Какая математика?»

Так вот прикол в том, что математика была уничтожена подчистую. Так больше никогда Гёттинген и не стал математическим институтом.

Если что, Освальд Тейхмюллер в 43-м написал заявление на имя Гитлера, чтобы его отправили на фронт. Его отправили – и лежит он где-то, ориентировочно, под Смоленском».

Читать полностью…

New Yorko Times

#random

Захожу в мюнхенский офис гугла (вторник, 16.00). Первый звук, слышимый еще из двора - шарик от пинг-понга.

Что-то на руки мало остается и фаер не близко…

Читать полностью…

New Yorko Times

Что гугл хотел услышать на стафф-позицию
#career #interviews

Я писал про собесы с гуглом и подготовку. Ключевым моментом было пройти моки, узнать, что спрашивают конкретно на L6, стаффа. Не думаю, что это сверхсекретно, описано в гайдах, можно выловить в видео того же Jeff Sipe. Но не помешает собрать воедино тут. Итак, что конкретно я подчеркивал в историях, когда перелопачивал свой story bank под гугл (основано на советах извне, никакой гугловской кухни тут нет):

- проекты на кучу команд сразу (cross-team collaboration). Стоит показать, что ты не только со своей командой можешь работать, но и также быть в эпицентре кросс-функциональных команд (инженеры, эксперты, DS, продакт, проджекты и т.д.);
- проекты с большим импактом на всю организацию (high-impact projects across the org). Это вроде тривиально, нужны истории про твое большое влияние. Но в историях стоит отметить, как это влияние было не только на пару коллег или команд, а намного шире. Мой пример тут был про антифрод в науке (описывал тут в канале #research_integrity);
- team upskilling – хотят услышать, что ты командный игрок, помогаешь коллегам, кого-то развиваешь персонально, а не просто относишься к людям как к ресурсу;
- Процессы. Процессы. Еще раз setting up processes. Хорошо бы не просто сказать, что удалось где-то что-то запилить так, что сработало. Хорошо бы еще рассказать, как это получилось завернуть в переиспользуемую рутину. В целом процессом может быть даже просто хорошо структурированная серия митингом. Например, я рассказывал, как у нас поначалу был хаос в проекте с кучей рисеч-идей, я завел общий бэклог для нашей команды DS и команды экспертов предметной области и мы стали раз в 2 недели прочесывать бэклог, приоретизировать рисеч-идеи и функциональные улучшения. И в целом это здорово сработало. Ну кстати, за оверфит на своих людей и процессы гугл порой критикуют (пример), типа заигрались, клиент отошел на второй план (в клауде у нас это не так, там реально customer first);
- Applied lessons learned – тут стоит показать, как что-то сработало не просто один раз, а еще потом несколько раз. К слову о процессах, показать, что они реально стали новой практикой. В примере выше – я рассказывал, что потом в других рисеч-проектах переиспользовал этот процесс с общим бэклогом на две команды. Особенно важны applied lessons learned в историях с негативом (фэйлы, конфликты) – показать, что не только прошел по граблям и понял, что так не надо, но еще и что конкретно сделал, чтоб в следующий раз не пройтись по граблям. Вот это было моим основным перелопачиванием историй – добавить applied lessons learned. И вообще популярный формат ответов STAR расширяют до STARS, добавляя Self-Reflection, что как раз и есть lessons learned + applied lessons learned;
- Взаимодействие с самыми топ-менеджерами (communication with higher-up stakeholders). Тут важно показать успешные истории общения с C-level и прочими боссами. Я тут рассказывал, как обучал COO эмэлю (пост) и как выбивали ресурсы на проект у CEO.

Даже если собеседуетесь не на стаффа и не в гугл, все равно подчеркнуть описанные вещи в своих историях будет полезно.

Читать полностью…

New Yorko Times

Мой любимый момент на Kaggle
#coolstorybob #kaggle

Kaggle - это love-hate, как контактные линзы. Не будем начинать эту тему. Но порой там случается красивое, не только +0.000005 к сомнительной по смыслу метрике за счет ансамбля с TTA-SWA, дистилляцией и post-processing.

На дворе был 2019 год, мы участвовали в NLP соревновании от Гугла «gendered pronoun resolution». Накручивали олдскульные LSTM, тогда еще без BPE/wordpiece: токенизацию в лоб подгоняли так, чтоб больше текста можно было покрыть словарем.

И вот как-то мы влачимся, делаем минорные улучшения. И тут «гусь», аспирант универа Пенсильвании Matei Ionita публикует кернел с Бертом, первый на Kaggle. Это, конечно, еще до HF, на базе tensorflow-реализации от гугла. И без файнтюна, чисто достать эмбеддинги, дообучить голову под задачу. Лидерборд был просто порван, а-ля 0.72 -> 0.5 logloss, когда до этого улучшения были уже только в 3 знаке. Бородатые мужики были удивлены.

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

Читать полностью…

New Yorko Times

Опа, литкод пригодился!
#projects

Раза два с половиной мне пригождалась математика в боевых проектах (пример с теорией графов), а тут вот первый случай с литкодом. Попался кейс, где таргет в классификации задать довольно сложно и для него эксперты предметной области сочинили дерево решений из довольно сложных вопросов (это не то дерево, что мы обучаем по тьюториалу склерна). В стиле «Достаточно ли тут контекста, чтоб ответить на вопрос? Да - следующий вопрос. Нет - прыгай к вопросу 4». «Нужны ли перс данные, чтоб ответить?» И т.д. Ну, записываю всю логику блуждания по дереву в промпт, и далее молюсь-матерюсь, чтоб LLM совершила чудо и послушалась. Заработало, кстати, сносно.

А вот для дебага нужно было подсветить, как именно LLM бродила по дереву. И вот тут возникла рутина в стиле литкода. Из LLM я вытащил цепочку ответов на вопросы в вершинах, но сам граф задан в edge-формате, пришлось реализовать DFS. Благо, без рекурсий, итеративный алгоритм пришел на ум. Перед этим, конечно и так, и сяк помучал гемини и джипити - не справились (либо я косорук). Вытащить из LLM нужный путь в дереве тоже не вышло – лагает. И это не то чтобы я уже от гуглеров заразился овер-инжинирингом, я по-честному не придумал, как бы сделать все проще, в два щелчка. Так что всё, можно сказать, 400 часов литкода не прошли зря.

Для самых стойких – в коменте сама задача в +/- литкод-формулировке.

Читать полностью…

New Yorko Times

Еще немного фэйлов
#fail #fake_text_detection #kaggle

Собесов больше нет, а фэйлить хочется. Особенно рассказывать о них публично. Снижать publication bias тксказать. Так что вот еще.

Вторая попытка организовать соревнование по детекции LLM-генерированного контента тоже провалилась. Народ снова повыбивал 99+, причем в решениях я видел даже pre-BERT модели типа AWD LSTM. Будет семинар при ACL, на котором победители расскажут про решения, но уже понятно, что там особого научного прорыва не будет, скорее эксплойт наших косяков. На бумаге все норм, сделали сореву и воркшоп при топовой конфе, но по сути так себе.

Есть еще пара фэйлов, если чуть копнуть в историю. В стиле «мужик сказал - мужик сделал вид, что нихрена не говорил». Как-то мы с Андреем Лукьяненко участвовали в необычном соревновании на кэггле, где надо было эссе писать. Так вот мы ничего не выиграли, где-то на 50 место приземлились. Напрягло чутка, что среди победителей был обзор методов оптимизации, каких на Medium найдешь сотню.

А еще я как-то хотел больше ютуб-видео снимать, и этого, очевидно, не произошло 😅 так что больше обещать не буду, хотя есть идеи вернуться с новым контентом к своим 20к подписчикам. Ща только зарегаюсь в Роскомнадзоре.

Читать полностью…

New Yorko Times

Собесы с гуглом и подготовка
#career #interviews

В Гугл я зашел с реферала, наконец не заигнорили. По иронии, реферила меня героиня поста «она в Мистрале, а ты нет». То есть я ей помог уйти из гугла, а она мне помогла прийти в гугл.

Гугл постепенно сошелся к формату 4-х собеседований (это раньше могло быть и по 15-20). У меня были следующие раунды:

- leetcode + system design
- Role-related knowledge
- leadership & googleyness
- General Cognitive Ability
- “casual” беседа с менеджером

В первом раунде литкод показался простым, а дизайн – сложным. Дизайн я гроккал основательно, по плану описанному в посте (к слову о том, что с собесами успех - это на 50% усилия и на 50% удача, все же ни к одной компании я не готовился так долго). У бигтеха можно попросить пару недель на подготовку, обычно к этому нормально относятся. И моки оказались очень полезны (спасибо Алексу и Сергею), особенно учитывая, что до этого я ни разу не проходил дизайн-интервью.

Role-related knowledge - это про LLM и консалтинг, было немало вопросов о том, как описать LLM для клиентов, топ-менеджеров, инженеров. Технические вопросы показались не сложными (курса “Generative AI with LLMs” и своего опыта с LLM хватило), а вот для вопросов про бизнес-смекалку и консалтинг не помешала бы практика с бизнес-кейсами, как в big4 проверяют.

Leadership & googleyness – это, считай, бихейв. Несмотря на то, что я сам менторю, я прошел 4 мока, узнавал, что именно хотят услышать при собесах на стафф позиции в гугле. Это было дико полезно, огромное спасибо Тане, Семену и Анне. По итогу я довольно основательно перелопатил свой story bank. Благо, на собесе не было вопросов с подвохом типа “tell me how you used data to modify your strategy”, было более-менее понятно по вопросу, о каких лидерских качествах речь и какие свои истории рассказывать.

General Cognitive Ability – это open-ended вопросы в стиле “друг открыл магазин шоколада, посоветуй ему бизнес-план”. Тут есть четкий фреймворк, легко ботается. Мне очень помог вот jeffhsipepi">этот ютуб канал (там же и про переговоры целый плэйлист). Дополнительно я брал консультацию с небольшим моком, где мне посоветовали говорить медленнее.

Ну и “casual” беседа с менеджером – никакая не casual, надо рассматривать как бихейв. О жизни можно потом трепаться, как наймут, на собесе смотрят на сигналы, готовился как к бихейву, заготовил самые крепкие истории.

В целом оцениваю вклад бихейва примерно в 80%. Ага, сам не ожидал, что с гуглом такое может быть. Но тут все же позиция в Sales трек, а не SWE, очень много с клиентами и топ-менеджерами надо будет общаться, поэтому и такой уклон.

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

Читать полностью…

New Yorko Times

Собесы на Applied ML Scientist: крутые ресурсы
#ml #interview #career

По списку самых частых собесов отсюда.

1) Поведенческие

Про поведенческие собесы и я уже рассказывал в самом начале, и Таню репостил. Тут главное – расписать story bank (не пожалеть на это времени) и пройти моки.

- IGotAnOffer – блог со статьями от подбора вопросов на MLE в Мету до “Why Amazon?” и как рассказывать про свои фэйлы и конфликты
- Если посидеть, спокойно послушать, почему все это важно – видео Jackson Gabbard
- Гайд от interviewing.io – вольный пересказ Amazon Leadership Principles
- И главное – моки и реальные собесы. Причем моки могут быть полезнее – тебе расскажут прям про подноготную, на реальных собесах еще поди получи внятную обратку. Я приставал напрямую к людям из желаемой компании, но есть и платформы: та же interviewing.io (помните кулстори про brilliant jerk, который сейчас в OpenAI?), еще слышал хорошие отзывы про Exponent.

2) Кодинг

Казалось бы, что тут нового скажешь. Я тут тоже писал, как пстра освежить литкод. Neetcode roadmap и Leetcode Premium – это да. Но я повторюсь про моки. Live-coding это вообще непростое дело: надо думать, писать код, слушать и складно говорить. А все одновременно! Такое надо практиковать. Вот правда, люди не могут внятно озвучивать свой код - идет аа…эээ… ууу.. и прочие бабуинские хмыкания. Для моков по литкоду – тот же interviewing.io, но есть и вариант для простых ребят – pramp, там peer2peer.

3) ML в ширину

- млкурс. Не, серьезно, я как тот дед, читающий свои учебники, перед собесами пролистываю mlcourse.ai. Bias-variance, бустинг vs бэггинг, где там в градиентном бустинге градиенты – все это до сих пор вовсю спрашивают (тот же Amazon на Applied Scientist).
- По NLP есть курс-жемчужина – NLP For You Лены Войты. Плюс посты Jay Alammar про архитектуру трансформера.
- У Дьяконова я подсмотрел вот эти конспекты + еще подборка Daily Dose of Data Science хороша.
- Наконец, есть драфт книги Chip Huyen “Machine Learning Interviews”, там все от видов специализаций в ML до переговоров и списков вопросов по ML, кодингу и матану

4) ML в глубину

Тут особо нечего посоветовать, оно из рабочего опыта все идет. Разве что можно эрудицию развивать чтением блогов а-ля ML in the Wild. У Evidently есть подборка из целых 300 штук (этот же совет и для ML дизайна ниже). Я читаю 2-3 блога о компании, куда собеседуюсь, и еще 2-5 – наиболее близких к описанию вакансии.

5) ML-кодинг

Специально не готовился, так что все тот же совет – моки.

6) Рисеч-презентация

Тут тоже каких-то ресурсов нет под рукой. Совет – уточнить у эйчара или HM, что хотят услышать: хардкор по теории, инженерии или еще что. Чтоб не словить “too much leadership”, как я.

6) ML дизайн

Да, тут есть популярные книги, но реалистично, перед собесом - это не книга нужна. Из всех ресурсов я выделю вот эту репу. Там и шаблон из 9 пунктов, которому можно следовать (problem → metrics → data → etc). И типичные кейсы разбираются, уже форматированные по шаблону.

7) Домашнее задание

Про take home сколько уже срачей только не было. Я не вставал в позу и 3 домашки сделал. Одна просто классная была на instruction fine-tuning LLM, еще одна очень легкая, 3-я – наоборот, сложная, запорол. Могу оставить ссылку на наш командный пет с приложением по анализу тональности новостей о крипте. Как минимум, если в домашке надо будет задеплоить модельку, можно подсмотреть.

8) System design

Наконец, system design, не путать с ML-дизайном, собесы совершенно разные. System design я грокал с нуля, за пару недель, часов 30 наверное заложил. Я заботал все перечисленные ресурсы, от и до:

- гайд все тех же interviewing.io
- Primer (классика)
- книга “System Design Interview” – страниц на 200, куча картинок и схем, быстро читается
- курс Neetcode (платно, некоторые видео на ютубе есть)

И 2 мок-собеса прошел со знакомыми, на одном меня дружелюбно и конструктивно растоптали, второй я уже прошел.

Это все то, что именно мне помогло. Можно в коментах делиться своими ресурсами. Плюс я пару ссылок добавлю, когда компанию объявлю.

Читать полностью…

New Yorko Times

#shitpost

Других вакансий в NL у нас для вас нет

Читать полностью…

New Yorko Times

Типичная Европа
#random #life

У нас в Гааге у бизнес-центра - канал, там ошиваются гуси-утки-лебеди. Чутка посрут на велодорожку - и обратно в камыши. Так и живут. А тут вдруг зачесалось любопытство, как у наших предков, - пошли к бизнес-центру. Ну окна зеркалят, на себя поглядеть интересно же. Переходят дорогу, ну что… пробка! Поскольку одна полоса, то пробка аж на пару кварталов. Все ждут, пока самый последний гусь-песдюк пройдёт, попутно и на дорогу выложит.

Если это недостаточное описание Европы, то вот ещё новость: голландские полицейские бастуют, хотят больше пенсионных отчислений. С начала мая они не выписывают штрафы за мелкие нарушения. В частности, не работает автоматическое определение превышения скорости 🤣 ну пойду погоняю, а то ловлю обычно 70 евро за +4 км/ч - 54 когда можно 50. Какой русский не любит быстрой езды (кстати, за превышение общей суммы штрафов можно лишиться возможности получить нидерландский паспорт). Погоняем! Как я понял, за совокупление с теми самыми гусями штраф тоже не выпишут. Но это в следующей серии.

Читать полностью…

New Yorko Times

Про Эльсивир на конфе по Research Integrity
#research_integrity

Я тут в Афинах, сувлаки точил вещал про #research_integrity, бывалые читатели канала знают уже больше, чем можно было осветить за 10 мин. на топовой конференции по теме - World Conferences on Research Integrity. Выступал я сразу после Анны Абалкиной, «сыщика», постоянно находящего новый фрод в науке. В этот раз было про «угнанные» журналы, которые Scopus все еще индексирует. Было неловко, шутил.

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

Осенью 2022-го издатель Hindawi пострадал от массированной атаки от paper mills - организаций, с удовольствием опубликующих любой ваш вшивый рисеч за деньгу. Своего рода академ-дудос. Hindawi тогда отозвал 500 статей (впоследствии - 8к) и как раз тогда же я пришел в проект. Мы пообщались с Hindawi, поняли, куда примерно копать, и прогнали quick&dirty анализ нескольких тысяч статей. Смотрели всего на несколько признаков: слишком продуктивные ревьюеры, слишком быстрые рецензии на статьи, странные имейлы ревьюеров, tortured phrases (а-ля picture acknowledgment вместо image recognition) и т.д. Типичная мешанина из жупитер ноутбуков для одноразового ETL и анализа, но оказалось полезно - мы пометили также около 500 подозрительных статей и команда Research Integrity отозвала десятки из них.

Был обнаружен Потенциал! Посмотрев на наш отчетик, я понял, что тут куда ни копни, найдешь тот или иной фрод. Начал общаться с экспертами, плодить идеи, писать более-менее нормальный код, думая про масштабирование, и привлекать коллег, топя за Research Integrity среди DS.
Хорошо сработало брейнстормить с экспертами и делить с ними бэклог, благо, я сразу распознал главного «технаря среди этиков» (команда publication ethics) и уцепился за него. Часть фич была чисто на реализациюсего-то простого, а часть - прям исследования (где-то анализ соцсетей, где-то поиск LLM-фраз в статьях).

Сейчас либа, хоть все еще прототип, но поднимает ~ 20 сигналов научного форда и анализирует до 1 млн. статей за раз. Киллер-фичей в сравнении с OS аналогами стали доп данные для дальнейшего ручного анализа. А то одно дело сказать «тут у статьи проблемы с пир-ревью», другое, показать все нужные данные по пир-ревью, имена-даты-объем и т.д.

Подозрительных статей - примерно 1%, но представьте, вывалить «этикам» даже пару десятков тысяч и сказать «надо отозвать» - ну прям оверкил. Research Integrity по классике - это знания предметной области, анализ одной статьи за другой, и даже процесс отзыва статьи (retraction) очень медленный (как минимум, надо дать автору 2 недели на шанс оправдаться, даже когда по имейлу очевидно, что автор не ответит). В-общем, назревает революция в этой области.

Далее я полез в политоту - рассказывал в компании всем, кто слушал бы, что репутация - это на длинной дистанции про деньги. Так что нужны инвестиции в Research Integrity (а заодно пссс, мне дайте разрабов, мы же дс, у нас лапки). Пошла типичная возня, у всех свои OKR… И так бы я и боролся еще месяцами, но тут издатели Wiley и MDPI теряют большие деньги из-за фрода, и менеджеры начинают постепенно чесаться. Суть проста: Clarivate, аналитическая команда Web Of Science, стала делать примерно то же, что и мы, но также помечать подозрительные журналы и, если те не смогли оправдаться, - выкидывать их из индекса WoS с обнулением импакт-фактора журнала. Wiley приобрели ранее того самого Hindawi (о чем точно пожалели), а MDPI давно славился своей подозрительно высокой скоростью рецензирования и толерантным отношением к низкому качеству статей.

В-общем, к концу 2023-го Wiley и MDPI потеряли по 30-40 млн. Мы тем временем достучались до CEO и получили много денег на проект. Команда research integrity выросла в 3 раза, и это только начало, DS тоже будет больше.

Читать полностью…

New Yorko Times

Тг-чат под кэггл сореву:

Бля, парни, рил уже не успеем, у меня один инфер 36 часов. Олег, расчехляй бульборезку, пора мешать. Не, хуй знает, икс-ларж добавил децл поверх ларж. Мож че нарукожопил. Давай уже так мешать. А черт, хларж не влезет уже? Дистиллировать некогда? Ладно, хер с ним, мешай просто ларж, только SWA бери, а не last.


Позже на LinkedЫн:

I am thrilled and deeply honored to secure the 127th place in the latest international Hryak Arousal Prediction Challenge on Kaggle hosted by McKeeeenze. Genuinely humbled to become world’s 11th Quadruple Kaggle Expert. Above all, the greatest benefit has been working with such a true master as Oleg. His calm wisdom and patience are second to none.

Oleg: Thanks, Bob! Truly honored to have worked with you. Your energy and passion served as a beacon for the whole team.

Читать полностью…

New Yorko Times

Суть собесов: марафон, гигиена кукухи и контролируемая лотерея
#career #interview

Ну вы поняли, я еще некоторое время буду тут осмысливать такой закаляющий опыт как 1.5 года собесов. Как минимум, до осени тут могут быть всякие посты про это.

Полно историй на LI/Glassdoor/Blind/etc, как чел страдал-хромал, потом таки устроился в компанию мечты. Часто истории приправлены списками вопросов, что полезно. Видел хорошие советы, что это лотерея и просто keep going, несмотря на фэйлы. Поддерживаю, но кажется, надо дополнить. И вроде по тем историям, что я читал, недостаточно говорят о психологической составляющей такой авантюры как X собесов с Y компаниями (50/18 у меня). Я не эксперт в чем-либо касающемся психотерапии и mental health, ни разу не выгорал (уахах, верим в бессмертие телеги, чтоб вернуться к этому посту и этому месту), но все же поделюсь советами, которые помогали мне:

- Марафон: забег по собесам надо сразу рассматриваться как марафон. Да, повезти может и раньше, но на всякий случай лучше настроиться на год и десятки собесов.
- Гигиена кукухи: спорт/медитация - все что помогает. Хоть я и не выгорал по-настоящему, тут с собесами звенели первые звоночки, вся эта хурма лезла в голову, начал посреди ночи просыпаться, обдумывать. Уже даже перестал чай на ночь пить, чтоб не просыпаться и не бежать ссать в 4 утра, чтоб потом валяться бревном, обдумывать это все. Исключайте очевидно нездоровые практики, одна молодая мать с грудным ребенком ботала с телефона в уме медиум-задачки на литкоде, поняла, что оно того не стоит.
- Контролируемая лотерея: крылатая фраза, что собесы – это лотерея и numbers game. Все так, можно душно добавить прилагательное: контролируемая. То есть за счет упорной работы все же можно повышать вероятность того, что тебе в этой лотерее повезет. Мне кажется, называть собесы просто лотереей неконструктивно – снимает с тебя ответственность и имеет некий вайб фатализма. Нет, все же собесы, это на 50% удача, на 50% – твоя усердная работа.
- (тяжело) не привязываться эмоционально к потенциальному варианту, пока не получил оффер. Очень сложно представить себя уже “там”, обломаться и возвращаться к своим баранам и тем же задачам, даже если они интересные. Сам это нарушил со Snorkel, как-то взял да настолько поверил в этот вариант, что лишка привязался.

Продолжение  ⬇️

Читать полностью…

New Yorko Times

Как я рассказываю про attention на собесах
#ml #interview

“66% кандидатов в Амазон проваливают этот вопрос” – такой могла бы быть обложка очередного видео фултайм ютубера-за-еду. Можно смеяться. Но судя по инсайдам по крайней мере от одного знакомого из Амазона (типично для бигтеха с опытом 200+ собесов с нанимающей стороны) – две трети кандидатов на позицию Senior Applied Scientist не могут внятно расписать механизм attention и зачем там в трансформере нужны keys, queries и values.

Думаю, это не самый простой вопрос, тут лично у меня раз в год открывается какой-то следующий уровень понимания. И также меня легко завалить, если глубже копнуть в attention – а-ля “все ли вектора k, q, v должны быть одной размерности?”, “можно ли сделать attention на двух проекциях, а не трех? почему не взять только Q и V” и т.д. Но конструктива ради давайте поделюсь, как я отвечал на базовый вопрос "How does the attention mechanism work?". Его, к слову, задавали не раз и не два, а как минимум 5 раз за мои 50 собесов с 18-ю компаниями (стату по собесам тоже опубликую, уже после раскрытия карт, куда пошел #todo 🧐). Может, survivorship bias, но скорее мой вариант ответа работает, а именно, не только верен, но и помогает выделиться на фоне других кандидатов.

Общий принцип: не формулу зазубривать, а продемонстрировать понимание. Например, через аналогии. В случае классического attention, который еще в RNN появился (сюрприз для тех, кто думает, что до трансформеров никакого attention не было) – я рассказываю про аналогию с переводом, как это описывал изобретатель механизма внимания, “наш” парень Дима Богданов (пост). Когда доходит до k, q, v, я провожу аналогию со словарем, в два этапа (тут бы, конечно, нужен блог пост с картинками, как у Аламмара, но отвечать на собесе вы будете махая руками и говоря словами изо рта, так что и тут далее голый текст).

Итак, основная аналогия: нечеткий словарь. Рассмотрим стандартный hash map, например, питоновский словарь: {’Ann’: 167, ‘Bob’: 182, ‘Zoe’: 192} – имена и рост. Мы из словаря либо достаем значение либо нет, в зависимости от того, совпал ли запрос (Query) с ключом (Key). То есть по запросу “Ann” мы достаем значение (Value) 167, но по запросу “Carl” ничего не достанем. А что делать с запросом “Anna”? Стандартный словарь так же точно ничего не даст, поскольку такого ключа нет. Но понятно, что “Anna” - это почти “Ann”. Что если вытащить некоторый “средний рост” – усредненное значение (value), взвешенное по похожести запроса (query) на ключи (key). Условно с весом 0.96 мы возьмем рост Ann и всего с весом 0.02 значения роста Bob и Zoe. Пример совсем искусственный, но уже позволяет понять и запомнить, почему мы сравниваем похожесть именно запроса (Q) c ключами (K), а только потом эти коэф-ты похожести в качестве весов умножаем на значения (V).

Усложняем аналогию, делаем ее чуть менее искусственной и показываем, как тут еще и kNN появляется. Теперь и запросы, и ключи – вектора, какие-то признаки компаний, например, выручка в том году, число сотрудников и т.д. А значение пусть все еще будет вещественным – выручка в этом году. Тогда словарь будет выглядеть как-то так: {[17, 20000, … <признаки компании 1>]: 400, [11, 10000, … <признаки компании 2>]: 100}. Если приходит запрос – новая компания с каким-то вектором признаков [13, 15000, … <признаки компании 3>], можно примерно оценить ее выручку, сравнив вектор запроса с векторами ключей (вот уже QK^T наклевывается) и так же точно взвесив значения в словаре с весами, пропорциональными похожести компании-запроса на компании-ключи. Аккурат то что делает kNN в задаче регрессии.

И наконец когда значения values уже тоже вектора, а не просто числа – можно упомянуть эмбеддинги токенов и как они обновляются по похожести на эмбеддинги соседних токенов. И совсем в конце можно и формулу dot-product attention описать, чтоб показать, что в математику тоже умеем.

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

Читать полностью…

New Yorko Times

#career

Продолжение Тани про поведенческие собесы (начало – тут). Добавлю совет, который я купил за $300 (мок с экс-рекрутером из фанга был норм, но запомнился именно этот совет): говорить медленнее. Даже так: говорить Мед-Лен-Не-Е (сибиряки, окститесь!). Во-первых, синьоры+ ассоциируются с медленной, взвешенной речью (представьте принципал инженера, описывающего дизайн, потом, по контрасту – возбужденного тараторящего джуна, спешащего тебя впечатлить). Во-вторых, говоря медленнее, ты непосредственно помогаешь интервьюеру, чья задача на ближайшие 30-40 минут - много за тобой записать, накопить «дата-пойнтов» в твою пользу. Люди любят, когда им помогают.

Читать полностью…

New Yorko Times

Вот уж не думал, что буду репостить Дудя. Но эта история - про зачистку математики Гитлером. И кликнуло имя Тейхмюллера: кто следил за триллером вокруг abc-гипотезы с пресловутыми «театрами Ходжа» (пересказывал тут) – вот там это имя, «Inter-Universal Teichmüller Theory I: Construction of Hodge Theaters».

Читать полностью…
Subscribe to a channel