Еретики
С конца 2022 всё никак не может улечься волна хайпа ChatGPT – каждый уважающий себя блогер успел поделиться своим бесценным анализом способностей и, сильно реже, ограничений новой диалоговой модели. Сама модель мне стала не очень интересна после того, как она усердно пыталась убедить меня в том, что граф – это график, но ни в коем случае не математический объект. С другой стороны, интересно подумать о разных
Почему-то многие люди думают, что в этой нашей "серьёзной науке" нет места моде и стадному поведению. Это, очевидно, не так – достаточно последить за статьями на "топовой троице" ML конференций – ICML/NeurIPS/ICLR. Лет пять назад был расцвет генеративных состязательных сетей, сейчас им пришли на смену диффузионные модели. Да и само обучение гигантских моделей градиентным спуском тоже является текущей модой.
По модным направлениям очень невыгодно публиковаться долго – приходит большое количество увлеченных людей, которые публикуются на скорость, не оставляя интересных тем для последующих исследований. В таких условиях выигрывают "еретики", которые отказываются заниматься текущим трендом и гнут свою исследовательскую линию. У таких людей получается обмануть "эффект уличного фонаря" – ведь совершенно нет смысла искать интересную тему, по которой только что были написаны десятки статей людьми с абсолютно разными бэкграундами. Поэтому в своей работе я стараюсь не писать статьи на темы, которые уже успели расхайпить другие люди.
К слову, Costică Brădățan не так давно написал отличную статью про еретиков и нонконформистов в науке в мой любимый aeon.co – очень рекомендую.
С конца 2022 всё никак не может улечься волна хайпа ChatGPT – каждый уважающий себя блогер успел поделиться своим бесценным анализом способностей и, сильно реже, ограничений новой диалоговой модели. Сама модель мне стала не очень интересна после того, как она усердно пыталась убедить меня в том, что граф – это график, но ни в коем случае не математический объект. С другой стороны, интересно подумать о разных
Почему-то многие люди думают, что в этой нашей "серьёзной науке" нет места моде и стадному поведению. Это, очевидно, не так – достаточно последить за статьями на "топовой троице" ML конференций – ICML/NeurIPS/ICLR. Лет пять назад был расцвет генеративных состязательных сетей, сейчас им пришли на смену диффузионные модели. Да и само обучение гигантских моделей градиентным спуском тоже является текущей модой.
По модным направлениям очень невыгодно публиковаться долго – приходит большое количество увлеченных людей, которые публикуются на скорость, не оставляя интересных тем для последующих исследований. В таких условиях выигрывают "еретики", которые отказываются заниматься текущим трендом и гнут свою исследовательскую линию. У таких людей получается обмануть "эффект уличного фонаря" – ведь совершенно нет смысла искать интересную тему, по которой только что были написаны десятки статей людьми с абсолютно разными бэкграундами. Поэтому в своей работе я стараюсь не писать статьи на темы, которые уже успели расхайпить другие люди.
К слову, Costică Brădățan не так давно написал отличную статью про еретиков и нонконформистов в науке в мой любимый aeon.co – очень рекомендую.
Непопулярные статьи, выпуск 1
Одной из причин, почему я хотел завести свой канал, было желание делиться не очень известными статьями, на которые я набредаю в ходе своей работы. Первой в этом списке по праву будет "On the Behavior of Intrinsically High-Dimensional Spaces: Distances, Direct and Reverse Nearest Neighbors, and Hubness" авторства Fabrizio Angiulli (без всяких там et aliī). В статье длиной в 60 страниц и 38 теорем – которые, между прочим, все аккуратно доказываются в конце – скурпулёзно разбирается то, как работают расстояния до ближайших соседей в пространствах высокой размерности для случайных данных.
Почему это важная статья? Потому что даже в текущем мире с гигантскими языковыми моделями поиск ближайших соседей – одна из самых базовых операций, на которой работают практически все сервисы рекомендации контента и поиска в мире. На практике оказывается, что очень сложно задать конкретный порог ε для поиска ближайших соседей для произвольной точки – даже для равномерно распределённых данных мы с высокой вероятностью получим либо ноль, либо кучу соседей. Скорее всего, в реальных данных с кучей кластеров дела обстоят только хуже. В статье также разбираются несколько случаев расстояний до k-го ближайшего соседа в данных с разными распределениями.
Отдельно стоит отметить аккуратно выписанные доказательства в конце статьи и эмпирическую проверку того, насколько близко предсказания теорем в экспериментах на синтетических данных. Становится сильно понятнее, насколько вообще практичные теоремы доказываются в этой статье.
Ссылка на статью: https://www.jmlr.org/papers/volume18/17-151/17-151.pdf
Одной из причин, почему я хотел завести свой канал, было желание делиться не очень известными статьями, на которые я набредаю в ходе своей работы. Первой в этом списке по праву будет "On the Behavior of Intrinsically High-Dimensional Spaces: Distances, Direct and Reverse Nearest Neighbors, and Hubness" авторства Fabrizio Angiulli (без всяких там et aliī). В статье длиной в 60 страниц и 38 теорем – которые, между прочим, все аккуратно доказываются в конце – скурпулёзно разбирается то, как работают расстояния до ближайших соседей в пространствах высокой размерности для случайных данных.
Почему это важная статья? Потому что даже в текущем мире с гигантскими языковыми моделями поиск ближайших соседей – одна из самых базовых операций, на которой работают практически все сервисы рекомендации контента и поиска в мире. На практике оказывается, что очень сложно задать конкретный порог ε для поиска ближайших соседей для произвольной точки – даже для равномерно распределённых данных мы с высокой вероятностью получим либо ноль, либо кучу соседей. Скорее всего, в реальных данных с кучей кластеров дела обстоят только хуже. В статье также разбираются несколько случаев расстояний до k-го ближайшего соседа в данных с разными распределениями.
Отдельно стоит отметить аккуратно выписанные доказательства в конце статьи и эмпирическую проверку того, насколько близко предсказания теорем в экспериментах на синтетических данных. Становится сильно понятнее, насколько вообще практичные теоремы доказываются в этой статье.
Ссылка на статью: https://www.jmlr.org/papers/volume18/17-151/17-151.pdf
Сокращения в гугле
Ну вот и до гугла добрались сокращения – уволили 12к человек, или около 5% персонала. Вышло довольно ожидаемо, учитывая безумный постковидный хайринг и высокую ключевую ставку. Нашу команду это не затронуло от слова совсем, в целом, сокращения в рисёрче были минимальными. Из того, что я увидел, сокращали несколько типов людей:
1. Команды, которые приносили мало импакта и в продукт, и во внешний мир (в случае рисерча - почти не публиковались).
2. Очень дорогие люди в не очень успешных продуктах.
3. Исторические лоу перформеры.
Соболезную людям на визах, которым дано 60 дней, чтобы найти новую работу. Получается вот такая печальная мотивация писать статьи на ICML и KDD, и побыстрее получать гринкарту. This is America. :)
Ну вот и до гугла добрались сокращения – уволили 12к человек, или около 5% персонала. Вышло довольно ожидаемо, учитывая безумный постковидный хайринг и высокую ключевую ставку. Нашу команду это не затронуло от слова совсем, в целом, сокращения в рисёрче были минимальными. Из того, что я увидел, сокращали несколько типов людей:
1. Команды, которые приносили мало импакта и в продукт, и во внешний мир (в случае рисерча - почти не публиковались).
2. Очень дорогие люди в не очень успешных продуктах.
3. Исторические лоу перформеры.
Соболезную людям на визах, которым дано 60 дней, чтобы найти новую работу. Получается вот такая печальная мотивация писать статьи на ICML и KDD, и побыстрее получать гринкарту. This is America. :)
Вдогонку вам график инфляции в США в 70х и сейчас. Вызывает опаску, что у Пауэлла сейчас намного меньше политической независимости, чем в свое время было у Волкера. Научились ли мы эффективно бороться с инфляцией?
Пост-дедлайн пост
В четверг был дедлайн подачи на ICML, и я таки успел кое-как состряпать туда статью. По такому поводу стоит записать немного мыслей – как раз перестал дергаться глаз от выпитого редбулла.
Идея для этой статьи пришла ещё в ноябре, тогда она была слишком абстрактная и никого не заинтересовала. В итоге работал над ней я примерно неделю "честного" времени в декабре, но результаты оказались достаточно хорошими, чтобы попробовать написать статью в ускоренном темпе. В янвере в плотном режиме я работал над ней три недели, и последнюю неделю отменил все встречи, чтобы успеть дописать хоть сколь-нибудь приличную версию.
Одной из ошибок было то, что я не сразу запустил все эксперименты, которые в итоге пошли в статью, в итоге пришлось кучу времени потратить на решение технических проблем. Из-за багов файловой системы (ха-ха!) эксперименты приходилось запускать в максимально ручном режиме, следя, чтобы файлы с результатами записывались, куда надо. Кажется, на будущее стоит все-таки разобраться, как подобные задачи решаются на внутренней архитектуре, а то мои велосипеды с отловом ошибок ФС приличными назвать никак нельзя.Из-за этих проблем долго не мог заставить себя писать текст – непонятно же, про что! В результате текст был написан почти без редактуры в полтора прохода. Пока пару недель решил его не читать, чтобы сильно не расстраиваться. На архив пока выгладывать не буду – стыдно за текст, да и код надо переписать и почистить.
Из уроков на будущее – в подобных проектах надо пушить MVP всех экспериментов, и только потом садиться качественно писать статью. И все-таки постараться убедить хоть кого-то помочь со статьей, а то делать всё самому получается накладно.
А теперь пора толкать прод, шоб не уволили.
В четверг был дедлайн подачи на ICML, и я таки успел кое-как состряпать туда статью. По такому поводу стоит записать немного мыслей – как раз перестал дергаться глаз от выпитого редбулла.
Идея для этой статьи пришла ещё в ноябре, тогда она была слишком абстрактная и никого не заинтересовала. В итоге работал над ней я примерно неделю "честного" времени в декабре, но результаты оказались достаточно хорошими, чтобы попробовать написать статью в ускоренном темпе. В янвере в плотном режиме я работал над ней три недели, и последнюю неделю отменил все встречи, чтобы успеть дописать хоть сколь-нибудь приличную версию.
Одной из ошибок было то, что я не сразу запустил все эксперименты, которые в итоге пошли в статью, в итоге пришлось кучу времени потратить на решение технических проблем. Из-за багов файловой системы (ха-ха!) эксперименты приходилось запускать в максимально ручном режиме, следя, чтобы файлы с результатами записывались, куда надо. Кажется, на будущее стоит все-таки разобраться, как подобные задачи решаются на внутренней архитектуре, а то мои велосипеды с отловом ошибок ФС приличными назвать никак нельзя.Из-за этих проблем долго не мог заставить себя писать текст – непонятно же, про что! В результате текст был написан почти без редактуры в полтора прохода. Пока пару недель решил его не читать, чтобы сильно не расстраиваться. На архив пока выгладывать не буду – стыдно за текст, да и код надо переписать и почистить.
Из уроков на будущее – в подобных проектах надо пушить MVP всех экспериментов, и только потом садиться качественно писать статью. И все-таки постараться убедить хоть кого-то помочь со статьей, а то делать всё самому получается накладно.
А теперь пора толкать прод, шоб не уволили.
LaTeX, который пригождается в жизни
Ладно, не пригождается – я соврал. С другой стороны, раз уж пришлось нам выучить LaTeX для написания статей и прочего бумагомарания, можно и попробовать пользоваться им и для других вещей в жизни. Я бы хотел рассказать о паре пакетов, которые позволяют готовить довольно красивые векторные иллюстрации и графики.
Называются эти пакеты PGF/TikZ и pgfplots. Начнем с TikZ, так как он является базовым для pgfplots. Свои названием – TikZ ist kein Zeichenprogramm – нам намекают на то, что рисовать у нас в ней не получится, но подготавливать технические иллюстрации, даже очень сложные, получается очень хорошо. Модель программирования в TikZ через примитивы, соединенные между собой линиями, очень проста, но позволяет красиво рисовать небольшие технические иллюстрации в векторе намного красивее, чем в каком-нибудь Inkscape.
Второй пакет – pgfplots – я очень люблю за то, что позволяет отделять при рисовании графиков код для подготовки от кода для рисования. Чаще всего я обрабатываю результаты экспериментов в питоновском ноутбуке и сохраняю csv со всеми результатами. Дальше можно играться со стилем графиков сколько угодно. Это особенно удобно, когда через N месяцев после написания статьи резко нужно чуть-чуть поправить что-нибудь на каком-то графике. Соавторы, конечно, поначалу сильно удивляются, когда забредают в TikZ или pgfplots файлы, но потихоньку учатся там что-то менять по своему усмотрению.
Отдельно стоит отметить документацию обоих пакетов - у TikZ она занимает 1321 страницу, у последней версии pgfplots – книжка на 573. В документации всё очень легко ищется и много примеров, которые работают "из коробки".
Для вдохновления иногда посматриваю сайт tikz.net и гитхаб с иллюстрациями про графы, которые делает Petar Veličković. Анимацию для нашего с Джоном поста в Google AI Blog делал я в pgfplots.
Ладно, не пригождается – я соврал. С другой стороны, раз уж пришлось нам выучить LaTeX для написания статей и прочего бумагомарания, можно и попробовать пользоваться им и для других вещей в жизни. Я бы хотел рассказать о паре пакетов, которые позволяют готовить довольно красивые векторные иллюстрации и графики.
Называются эти пакеты PGF/TikZ и pgfplots. Начнем с TikZ, так как он является базовым для pgfplots. Свои названием – TikZ ist kein Zeichenprogramm – нам намекают на то, что рисовать у нас в ней не получится, но подготавливать технические иллюстрации, даже очень сложные, получается очень хорошо. Модель программирования в TikZ через примитивы, соединенные между собой линиями, очень проста, но позволяет красиво рисовать небольшие технические иллюстрации в векторе намного красивее, чем в каком-нибудь Inkscape.
Второй пакет – pgfplots – я очень люблю за то, что позволяет отделять при рисовании графиков код для подготовки от кода для рисования. Чаще всего я обрабатываю результаты экспериментов в питоновском ноутбуке и сохраняю csv со всеми результатами. Дальше можно играться со стилем графиков сколько угодно. Это особенно удобно, когда через N месяцев после написания статьи резко нужно чуть-чуть поправить что-нибудь на каком-то графике. Соавторы, конечно, поначалу сильно удивляются, когда забредают в TikZ или pgfplots файлы, но потихоньку учатся там что-то менять по своему усмотрению.
Отдельно стоит отметить документацию обоих пакетов - у TikZ она занимает 1321 страницу, у последней версии pgfplots – книжка на 573. В документации всё очень легко ищется и много примеров, которые работают "из коробки".
Для вдохновления иногда посматриваю сайт tikz.net и гитхаб с иллюстрациями про графы, которые делает Petar Veličković. Анимацию для нашего с Джоном поста в Google AI Blog делал я в pgfplots.
Правильный HPO: Vizier
Сегодня коллеги наканецта заопенсорсили тулсет для оптимизации гиперпараметров Vizier, который, в отличие от множества альтернатив, адекватно работает. Вот тут можно почитать блогпост о нем, вот тут можно сразу прыгнуть в гитхаб.
Надеюсь, опен-сорсная версия окажется такой же полезной, как и внутренний продукт. К слову, он продается в Google Cloud, и теперь не совсем понятно, как эти два продукта будут сосуществовать (classic Google).
Сегодня коллеги наканецта заопенсорсили тулсет для оптимизации гиперпараметров Vizier, который, в отличие от множества альтернатив, адекватно работает. Вот тут можно почитать блогпост о нем, вот тут можно сразу прыгнуть в гитхаб.
Надеюсь, опен-сорсная версия окажется такой же полезной, как и внутренний продукт. К слову, он продается в Google Cloud, и теперь не совсем понятно, как эти два продукта будут сосуществовать (classic Google).
В Нью-Йоркере очень классная колонка, которая предлагает довольно мощную метафору для ChatGPT. Редкий пример качественной научно-популярной журналистики, которая заинтересовала многих исследователей и что-то новое рассказала обывателям.
The New Yorker
ChatGPT Is a Blurry JPEG of the Web
OpenAI’s chatbot offers paraphrases, whereas Google offers quotes. Which do we prefer?
Забавной применение моей старой статьи – оказывается, по структуре графа взаимодействия персонажей можно определить, является ли произведение комедией или трагедией (по крайней мере, у Шекспира :)
Для этого нам нужно уметь сравнивать графы разных размеров, что и описывается в моей статье.
Для этого нам нужно уметь сравнивать графы разных размеров, что и описывается в моей статье.
cameronraymond.me
🍿Classifying Shakespeare with Networks - Cameron Raymond🍿
What distinguishes Shakespeare's comedies from his tragedies? Without looking at a single line of dialogue, this article shows that it is possible to use networks to classify Shakespeare's plays. Posted on Towards Data Science.
Про железо для рисерча
Часто читаю в интернете жалобы о том, что не хватает железа, чтобы сделать свой классный рисёч. Мне тяжело это понять, потому что только для очень небольшого процента опубликованных исследований на условном ICML нужен был по-настоящему большие ресурсы. Да, у всех на слуху последние огромные сетки от индустриальных лаб с тысячами GPU, но ведь большинство статей выходит без подобных излишеств. Более того, научной новизны в статьях "а давайте TPU сделают brrr" меньше, чем в среднем по больнице.
В начале моего PhD у нас в группе не было серверов. Ни одного. Все эксперименты для моей первой статьи запускались на довольно обычном домашнем ПК. Потом ситуация чуть наладилась, и появилось два 40-ядерных сервера с 256Gb RAM – ничего сверхъестественного. Б/Ушные такие сервера сейчас стоят около $2000 – такое может себе позволить плюс-минус любой.
Если возможностей заиметь железо вообще нет, AWS, Google Cloud и Miscorsoft Azure дают железные гранты на довольно внушительные суммы. Также на Google Cloud есть $300 бесплатных кредитов, что примерно равно цене месяца 20-ядерного CPU инстанса. В те же $350 в месяц обойдется сервер с двумя V100 на vast.ai – и это если его не выключать и тренировать 24/7. Всё решаемо.
Часто читаю в интернете жалобы о том, что не хватает железа, чтобы сделать свой классный рисёч. Мне тяжело это понять, потому что только для очень небольшого процента опубликованных исследований на условном ICML нужен был по-настоящему большие ресурсы. Да, у всех на слуху последние огромные сетки от индустриальных лаб с тысячами GPU, но ведь большинство статей выходит без подобных излишеств. Более того, научной новизны в статьях "а давайте TPU сделают brrr" меньше, чем в среднем по больнице.
В начале моего PhD у нас в группе не было серверов. Ни одного. Все эксперименты для моей первой статьи запускались на довольно обычном домашнем ПК. Потом ситуация чуть наладилась, и появилось два 40-ядерных сервера с 256Gb RAM – ничего сверхъестественного. Б/Ушные такие сервера сейчас стоят около $2000 – такое может себе позволить плюс-минус любой.
Если возможностей заиметь железо вообще нет, AWS, Google Cloud и Miscorsoft Azure дают железные гранты на довольно внушительные суммы. Также на Google Cloud есть $300 бесплатных кредитов, что примерно равно цене месяца 20-ядерного CPU инстанса. В те же $350 в месяц обойдется сервер с двумя V100 на vast.ai – и это если его не выключать и тренировать 24/7. Всё решаемо.
Тулзы: GNU Parallel
Раз уж пошла речь о железе, нужно чуток рассказать о том, как его эффективно использовать. Эксперименты к статьям – это чаще всего усредение по десяткам запусков методов на разных датасетах. Если мы говорим не про нейросети, которые гоняются на ГПУшках, то почти всегда *гораздо* эффективнее запустить X параллельных процессов, чем один процесс на X ядрах. Поможет нам в этом GNU parallel.
Я строил свои эксперименты примерно следующим образом:
1. Создавал бинарник с флагами, по которым шел перебор – датасеты, параметры, сиды. Бинарник пишет свой выход в уникальный файлик.
2. Простеньким питоновским скриптом генерировал текстовый файл с командой на каждой строке, перебирая все интересующие значения флагов.
3.
4. Ещё одним простым скриптом собираем данные с выхода в удобную табличку.
У
Раз уж пошла речь о железе, нужно чуток рассказать о том, как его эффективно использовать. Эксперименты к статьям – это чаще всего усредение по десяткам запусков методов на разных датасетах. Если мы говорим не про нейросети, которые гоняются на ГПУшках, то почти всегда *гораздо* эффективнее запустить X параллельных процессов, чем один процесс на X ядрах. Поможет нам в этом GNU parallel.
Я строил свои эксперименты примерно следующим образом:
1. Создавал бинарник с флагами, по которым шел перебор – датасеты, параметры, сиды. Бинарник пишет свой выход в уникальный файлик.
2. Простеньким питоновским скриптом генерировал текстовый файл с командой на каждой строке, перебирая все интересующие значения флагов.
3.
parallel --ungroup -j N_CORES --nice 19 < command.txt.
Флаг nice
задаёт задачам низкий приоритет, чтобы ОС могла выполнять свои задачи. ungroup
отвечает за то, чтобы вывод всех программ выводился на экран параллельно.4. Ещё одним простым скриптом собираем данные с выхода в удобную табличку.
У
parallel
намного больше опций, но даже базового примера достаточно, чтобы сильно ускорить эксперименты и упростить себе жизнь. При использовании этого софта в исследованиях его нужно процитировать по лицензии (можно даже просто добавить в список литературы без прямого цитирования в тексте).Доход и счастье
На днях вышла статья в коллаборации с Канеманом. Она по сути опровергает довольно вредный мем (который пошёл с более ранней статьи того же Канемана) о том, что после доходов $75000 в год уровень счастья (emotional well-being) людей в среднем не растёт. В новой статье показывается, что в общем грустным людям уровень счастья деньгами действительно не повысишь, а вот людям из верхних персентилей деньгами гораздо проще сделать приятно. В исследовании 2010 года Канеман смешал все группы, и эффект пропал – похоже на парадокс Симпсона, только менее ярко выраженный. Та статья довольно плотно критиковалось.
Отдельно стоит отметить то, как статья была написана. В отличие от подавляющего большинства статей, которые пишутся коллаборативно, эта статья – продукт adversarial collaboration. Идея проста: находим учёного, у которого противоположная точка зрения на то, что означают данные, и пытаетесь друг друга убедить в обратном, проводя дополнительные эксперименты и анализы. В результате получаются статьи лучшего качества, так как самая серьёзная критика оказывается уже рассмотрена. Жаль, в methods research так не получится.
На днях вышла статья в коллаборации с Канеманом. Она по сути опровергает довольно вредный мем (который пошёл с более ранней статьи того же Канемана) о том, что после доходов $75000 в год уровень счастья (emotional well-being) людей в среднем не растёт. В новой статье показывается, что в общем грустным людям уровень счастья деньгами действительно не повысишь, а вот людям из верхних персентилей деньгами гораздо проще сделать приятно. В исследовании 2010 года Канеман смешал все группы, и эффект пропал – похоже на парадокс Симпсона, только менее ярко выраженный. Та статья довольно плотно критиковалось.
Отдельно стоит отметить то, как статья была написана. В отличие от подавляющего большинства статей, которые пишутся коллаборативно, эта статья – продукт adversarial collaboration. Идея проста: находим учёного, у которого противоположная точка зрения на то, что означают данные, и пытаетесь друг друга убедить в обратном, проводя дополнительные эксперименты и анализы. В результате получаются статьи лучшего качества, так как самая серьёзная критика оказывается уже рассмотрена. Жаль, в methods research так не получится.
Forwarded from qtasep 💛💙
Решили тут задачу эйн штейна о замощениях (айн штайн - одна плитка, но пишется как будто Эйнштейн, так что название пришлось поправить)
- о существовании фигуры, копиями которой можно замостить пространство, но только непериодичным способом.
Статья
Веб-страничка с приожением и другими деталями
Например, есть целое семейство таких плиток, и есть завораживающее видео, как они переходят друг в друга
- о существовании фигуры, копиями которой можно замостить пространство, но только непериодичным способом.
Статья
Веб-страничка с приожением и другими деталями
Например, есть целое семейство таких плиток, и есть завораживающее видео, как они переходят друг в друга
Wikipedia
Einstein problem
problem in geometry
Выбор научрука
Для многих людей, которые хотят поступать на PhD в разных странах, непонятно то, как вообще выбирать потенциального руководителя. Я постарался их немного систематизировать и рассказать о тех, которые, по моему мнению, играют главную роль в успехе аспиранта.
Во-первых, близость и качество контакта с научным руководителем и его группой. Одним людям больше подходит высокоуровневое руководство и подсказки, тогда как другим удобнее учиться писать статьи, когда обсуждается почти каждый шаг. К соэалению, зачастую в больших и успешных научных группах у профессора банально нет времени разбираться с каждым студентом и статьёй. В таких группах обычно несколько постдоков, которые могут помочь вам в понимании того, как работает академия. А могут и не помочь – у них и своих забот хватает. Часто от более молодых профессоров можно добиться большего участия, хотя я также знаю научных руководителей с 20+ годами опыта, которые много времени проводят со студентами.
Во-вторых, количество и "качество" людей, с которыми можно общаться и коллаборировать вне научной группы. В Германии, где учился я, существует негласное правило университетов не нанимать профессоров по слишком близким темам. Из-за этого получается, что размер научной группы определяет круг твоих самых вероятных соавторов. Только начав работать в Гугле я по-настоящему оценил, насколько помогает быть окруженным людьми со схожими интересами.
В-третьих, "связанность" профессора с сообществом. В науке работает не так много людей, и все друг друга знают. Стажировки, гостевые визиты на семинарах, предложения о работе, новые интересные статьи и направления – все это распространяется по научной социальной сети. При выборе научного руководителя стоит посмотреть, ходит ли он с Хинтоном попивать чай – к сожалению, это во многом определит ваши карьерные перспективы.
В-четвёртых, банальный материальный фактор. Хоть я и не придаю фактору железа большого значения (ссылка на пост), если вы хотите заниматься большими моделями, а у научника кластер забит на недели вперед – возможно, стоит поискать что-то другое. Намного более важен, по моему мнению, отношение к поездкам на конференции. Конференции – это чуть ли не единственное место, где можно пообщаться с другими студентами и почувстсовать, чем и как живёт научное сообщество. Как минимум, должна быть возможность поехать на все конференции, где вы являетесь первым автором. Мой научник отправлял на одну из больших конференций каждого студента в начале PhD. Я считаю, что это – отличная стратегия.
Напоследок, стоит понимать, что в разных странах условния PhD программ очень разные. В Германии, где учился я, аспиранты являются полноценными государственными работниками, и им положена достойная зарплата (TV-L 13) и отпуск. А в соседеней Дании срок аспирантуры ограничен тремя годами, а за этот срок тяжело написать много качественных статей. В Штатах аспирантура соединена с магистратурой, а положение аспиратов, пожалуй, худшее из западных стран. С другой стороны, в США – самые большие университеты и научные группы. Каждому подойдёт своё.
Для многих людей, которые хотят поступать на PhD в разных странах, непонятно то, как вообще выбирать потенциального руководителя. Я постарался их немного систематизировать и рассказать о тех, которые, по моему мнению, играют главную роль в успехе аспиранта.
Во-первых, близость и качество контакта с научным руководителем и его группой. Одним людям больше подходит высокоуровневое руководство и подсказки, тогда как другим удобнее учиться писать статьи, когда обсуждается почти каждый шаг. К соэалению, зачастую в больших и успешных научных группах у профессора банально нет времени разбираться с каждым студентом и статьёй. В таких группах обычно несколько постдоков, которые могут помочь вам в понимании того, как работает академия. А могут и не помочь – у них и своих забот хватает. Часто от более молодых профессоров можно добиться большего участия, хотя я также знаю научных руководителей с 20+ годами опыта, которые много времени проводят со студентами.
Во-вторых, количество и "качество" людей, с которыми можно общаться и коллаборировать вне научной группы. В Германии, где учился я, существует негласное правило университетов не нанимать профессоров по слишком близким темам. Из-за этого получается, что размер научной группы определяет круг твоих самых вероятных соавторов. Только начав работать в Гугле я по-настоящему оценил, насколько помогает быть окруженным людьми со схожими интересами.
В-третьих, "связанность" профессора с сообществом. В науке работает не так много людей, и все друг друга знают. Стажировки, гостевые визиты на семинарах, предложения о работе, новые интересные статьи и направления – все это распространяется по научной социальной сети. При выборе научного руководителя стоит посмотреть, ходит ли он с Хинтоном попивать чай – к сожалению, это во многом определит ваши карьерные перспективы.
В-четвёртых, банальный материальный фактор. Хоть я и не придаю фактору железа большого значения (ссылка на пост), если вы хотите заниматься большими моделями, а у научника кластер забит на недели вперед – возможно, стоит поискать что-то другое. Намного более важен, по моему мнению, отношение к поездкам на конференции. Конференции – это чуть ли не единственное место, где можно пообщаться с другими студентами и почувстсовать, чем и как живёт научное сообщество. Как минимум, должна быть возможность поехать на все конференции, где вы являетесь первым автором. Мой научник отправлял на одну из больших конференций каждого студента в начале PhD. Я считаю, что это – отличная стратегия.
Напоследок, стоит понимать, что в разных странах условния PhD программ очень разные. В Германии, где учился я, аспиранты являются полноценными государственными работниками, и им положена достойная зарплата (TV-L 13) и отпуск. А в соседеней Дании срок аспирантуры ограничен тремя годами, а за этот срок тяжело написать много качественных статей. В Штатах аспирантура соединена с магистратурой, а положение аспиратов, пожалуй, худшее из западных стран. С другой стороны, в США – самые большие университеты и научные группы. Каждому подойдёт своё.
Небольшой лайфхак про JFK
JFK Airport – это такое Нью-Йорксое Домодедово: когда туда прилетаешь, сразу нужно заложить лишние полтора часа, чтобы добраться до города. Спасибо Роберу Мозесу за узкую дорогу и отсутствие общественного транспорта. Не так давно мне подсказали, как сэкономить ±полчаса на этом маршруте.
Long Island Rail Road (LIRR) до Penn station или Grand Central занимает 45 минут, в то время как стандартный путь через Howard Beach займёт существенно больше часа. Билеты можно купить в новом приложении MTA TrainTime, которое вышло в середине прошлого года. Теперь не нужно ждать в очереди на покупку билета, а сразу бежать к нужной платформе. К сожалению или счастью, приложения карт плохо прокладывают маршруты с LIRR, так что такой вариант остаётся непопулярным среди туристов.
JFK Airport – это такое Нью-Йорксое Домодедово: когда туда прилетаешь, сразу нужно заложить лишние полтора часа, чтобы добраться до города. Спасибо Роберу Мозесу за узкую дорогу и отсутствие общественного транспорта. Не так давно мне подсказали, как сэкономить ±полчаса на этом маршруте.
Long Island Rail Road (LIRR) до Penn station или Grand Central занимает 45 минут, в то время как стандартный путь через Howard Beach займёт существенно больше часа. Билеты можно купить в новом приложении MTA TrainTime, которое вышло в середине прошлого года. Теперь не нужно ждать в очереди на покупку билета, а сразу бежать к нужной платформе. К сожалению или счастью, приложения карт плохо прокладывают маршруты с LIRR, так что такой вариант остаётся непопулярным среди туристов.
Пара мыслей об AI alignment
На днях рассказывал на квартирнике про AI alignment, и для многих людей такие мысли были как будто в новинку. Для других замкадышей, которые к нам доехать не смогли, записал кусочек из того, что рассказывал.
При словах “катастрофа ИИ” мы представляем мощный и злонамеренный ИИ, который внезапно захватывает контроль над человечеством. На самом деле, катастрофа может быть менее голливудско-взрывной. Например, с улучшением качества машинного обучения, корпорации могут все больше сосредотачиваться на легко измеримых метриках, таких как прибыль, что приведет к манипулированию потребителями и коррупции. В результате, со временем человеческое мышление станет все менее конкурентоспособным по сравнению с систематическими механизмами манипуляции и обмана, созданными с помощью ИИ. Думеры знают такой сценарий как “going out with a whimper”.
На самом деле, в нашей жизни и без этих ваших ИИ практически невозможно идеально согласовать цели и метрики. Из интересных примеров – promo-driven development в больших компаниях, запоротый Hacktoberfest, и спешное изменение в законодательстве Нью-Йорка по выкупу огнестрельного оружия. Чуть больше примеров можно посмотреть в статье на Википедии.
В этом смысле я вижу очень интересное пересечение на стыке рисерча про alignment и поведенческой экономики. Хороший дизайн структуры стимулов, учёт неопределённости, эгоистического поведения рациональных агентов, и стабильных исходов может позволить нам проектировать системы ориентированные в первую очередь на людей, например, налоговую. А в совсем прекрасном мире будущего, может, и мэрия Сан-Франциско решит alignment-related проблемы города.
На днях рассказывал на квартирнике про AI alignment, и для многих людей такие мысли были как будто в новинку. Для других замкадышей, которые к нам доехать не смогли, записал кусочек из того, что рассказывал.
При словах “катастрофа ИИ” мы представляем мощный и злонамеренный ИИ, который внезапно захватывает контроль над человечеством. На самом деле, катастрофа может быть менее голливудско-взрывной. Например, с улучшением качества машинного обучения, корпорации могут все больше сосредотачиваться на легко измеримых метриках, таких как прибыль, что приведет к манипулированию потребителями и коррупции. В результате, со временем человеческое мышление станет все менее конкурентоспособным по сравнению с систематическими механизмами манипуляции и обмана, созданными с помощью ИИ. Думеры знают такой сценарий как “going out with a whimper”.
На самом деле, в нашей жизни и без этих ваших ИИ практически невозможно идеально согласовать цели и метрики. Из интересных примеров – promo-driven development в больших компаниях, запоротый Hacktoberfest, и спешное изменение в законодательстве Нью-Йорка по выкупу огнестрельного оружия. Чуть больше примеров можно посмотреть в статье на Википедии.
В этом смысле я вижу очень интересное пересечение на стыке рисерча про alignment и поведенческой экономики. Хороший дизайн структуры стимулов, учёт неопределённости, эгоистического поведения рациональных агентов, и стабильных исходов может позволить нам проектировать системы ориентированные в первую очередь на людей, например, налоговую. А в совсем прекрасном мире будущего, может, и мэрия Сан-Франциско решит alignment-related проблемы города.
This media is not supported in your browser
VIEW IN TELEGRAM
.. но всё-таки Снуп Дог комментирует alignment лучше меня.
Нашёл тут свежую багулю в TensorFlow, сейчас ругаюсь с челом, который её сделал. Зато хороший контент для канала подъехал!
Багуля заключается в следующем. Предположим, мы хотим заимплементить Standard score, ну или какой-нибудь z-score whitening для картинок или эмбеддингов. Делается это примерно так:
Но на некоторых инпутах код сломается, начиная с вот этого коммита (ни в какую релизную версию и даже в 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 некорректных использований такого паттерна на гитхабе, и еще сколько-то во внутреннем коде. Посмотрим, будут ли править.
Багуля заключается в следующем. Предположим, мы хотим заимплементить 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 он еще не попал). Как думаете, в чём тут проблема? Ответ за спойлером:
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 некорректных использований такого паттерна на гитхабе, и еще сколько-то во внутреннем коде. Посмотрим, будут ли править.
Апдейт: багулю починили. Вернее, не починили, а некорректные градиенты оставили для всех функций, как и было раньше. Если что, в питорче от нас тоже скрывают некорректные градиенты для некоторых функций.
Вот такая грустная прод-сказочка: на неявные поведения вашей системы опираются другие важные системы, так что менять API в глубине становится почти невозможно. В гугле такое называют Huryum’s law.
Ну ладно, хотя бы тысячи людей в мире втихую не сломались ¯\_(ツ)_/¯.
Вот такая грустная прод-сказочка: на неявные поведения вашей системы опираются другие важные системы, так что менять API в глубине становится почти невозможно. В гугле такое называют Huryum’s law.
Ну ладно, хотя бы тысячи людей в мире втихую не сломались ¯\_(ツ)_/¯.
GitHub
Revert "safe gradients" change - C++. · tensorflow/tensorflow@afad6ed
PiperOrigin-RevId: 531315285