Boris Burkov
998 subscribers
712 photos
34 videos
2 files
806 links
Download Telegram
Alexey_Murzin-150x105.jpg
32.1 KB
Сегодня в кафе нежданно-негаданно налетел на знаменитого Алексея Мурзина, точнее, даже он "сбежался" к нам, заслышав русскую речь =)

Мурзин - биоинформатик из Института Белка в Пущино, вотчины А. Спирина, Финкельштейна и Птицына, в чьей лаборатории он работал.

В 1991 35-летний Мурзин перебрался на Запад, а в 1994, в 38 лет, начал проект по классификации 3D-доменов белков под названием SCOP, который так и ведет до настоящего времени сам (хотя году в 2009 я вроде слышал, что он ушел на пенсию или что-то такое).

Сегодня он договаривался в EBI с PDB - банком 3D-структур - о сотрудничестве.

Я думал, что Мурзин совсем пожилой, но ему всего 62 года.

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

Знаменитый Ричард Ленский 25 лет занимается тем, что каждый день пересевает бактерии и откладывает образец, чтобы потом их секенировали.

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

Кстати, усы были обязательным атрибутом униформы британского офицера времен Первой мировой - считалось, что они повышают уважение к нему со стороны солдат.
This media is not supported in your browser
VIEW IN TELEGRAM
Ашманов рассказывал известную историю про продавца жестких дисков на "Горбушке". У того была целая пачка битых жесктих дисков, про которые тот знал, что они заведомо битые, но тем не менее продавал. Если диск приносили возвращать - отдавал деньги без вопросов. В итоге вся коробка разошлась...

Мошенничество это или нет?

А вот профессор, который делает научную работу руками постдока и знает, что статьи достаточно высокого уровня из этой работы не выйдет, и постдок все равно пойдет работать в индустрию, просто потеряет время, делая рутину у профессора. Отличается ли он от продавца тех дисков?

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

Он очень хотел вспомнить что-нибудь значимое, что-то большое и важное. А смог рассказать только как получил квартиру.

А у кого-то получается вот такое резюме. Какую из этих жизней выбрали бы вы?
Forwarded from Boris A. Burkov
Если я еще надумаю жаловаться на жизнь, покажите мне это =)
Недавно разговаривал с очень классным софтверным архитектором Расселлом, работавшим в куче интересных мест.

Расселлу 48, его "девушке" (они до сих пор не женаты, хотя она ждет ребенка), я бы сказал, чуть за 40 (западный мир сходит с ума, сдвигая рождение детей куда-то далеко за пределы предусмотренного биологией).

В конце 90-ых они с другом сделали компанию, подключавшую к интернету пол Кембриджа. За несколько лет они выросли с 4 клиентов до 2000. Им очень повезло, что Эппл обратил на них внимание и сделал их своим де-факто субподрядчиком в Кембридже.

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

Поэтому он закончил MBA, чтобы что-то понимать в бизнесе и продвинуться выше по карьерной лестнице. Замечу от себя, что не сильно помогло. Когда мы разговаривали про Китай, Рассел заявил, что те вложили $100 миллиардов в спутник для квантового шифрования. Я, разумеется, не поверил и правильно: $100 миллиардов - это годовая выручка Гугла с почти 100 тысячами сотрудников. Оказалось $100 миллионов - и то, что человек легко ошибается на 3 порядка говорит о его плохом понимании крупных бизнесов.

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

Потом Расселл был одним из ведущих инженеров в GSK лет 10 назад. Как технарь - очень компетентный, в 48 лет - за всем успевает следить, от телекомовского железа и квантовых компов до js-фреймворков и машинки. Что-то я не уверен, что у меня хватит пороху в 48 гоняться за очередными Аурелиями и Дюрандалями, а он все успевает. Плюс, основал парочку стартапов аккурат под крах доткомов и под ипотечный кризис - было бы очень уместно сейчас еще один открыть...

Рассказывает, что всего у GSK минимум 4 больших отдела в UK и минимум 3 в US, всего 110,000 сотрудников; тот отдел, где работал он, был R&D SmithKline Beecham, там было 4000 сотрудников и 400 программистов/инженеров, которые их всячески автоматизировали. Фактически, они там написали собственный EBI (400 и 500 человек - примерно равные по количеству штаты, но наверное не по качеству - в EBI я таких компетентных людей как он не встречал вообще).

Так вот, он утверждает, что фармы сейчас режут свои R&D-отделы и отдают поиски лидов на аутсорс маленьким компаниям, а сами фокусируются на третьем этапе клинических испытаний, который дико дорогой и опасный.
Дофамин

Недавно мы с друзьями обсуждали 2 статьи про работу в Google:

https://habr.com/ru/post/438328/
https://habr.com/ru/post/350374/

В первой говорится, как здорово работать в Гугле: поддерживаешь легаси-проекты, получаешь за это $200-300k в год за 8 часов работы в день без переработок и уходишь домой курить бамбук. По мнению автора, это гораздо круче, чем пахать по 12 часов в день за те жи деньги врачом, юристом или консультантом.

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

Я встречал цифры, что около 66% технологических стартапов проваливаются, а около 80% софтверных проектов не находят спроса и закрываются.

И вот подумаешь: пусть были 9 хороших программистов, они разбились на 3 команды и делали стартапы по 5 лет каждая в гугловском акселераторе. Одна преуспела, и продалась после нескольких раундов инвестирования, положим, за 30 миллионов долларов, доля каждого сооснователя составила например 4.5 миллиона долларов.

А теперь предположим, что эти же сооснователи сидели в Гугле и спокойно работали по 8 часов в день над теми же проектами, только под присмотром Гугловских менеджеров вместо менторов акселератора. 2 проекта менеджеры закрыли, один взлетел. Все 9 человек получили по 1.5 миллиона долларов каждый.

То есть Гугл просто хеджировал риски и перераспределил прибыль везунчиков равномерно между всеми 9 программистами.

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

Предположим, что фишка стартапов не в технологии, а в бизнес-модели, то есть ежедневная работа программистов состоит в одном и том же - КРУДы писать. Тогда в чем разница? В системе мотивации.

Линейному работнику гаранитровано вознаграждение от повременной работы и его могут только наказать, если он проседает.

Стартапщик же испытывает положительную мотивацию от мысли о возможном успехе и отрицательную от страха все запороть. Плюс, стартапщик еще может гордиться тем, что он - первопроходец в чем-то, ему в будущем приятно будет вспомнить, какой он был молодец, как здорово поработал когда-то.
О докладах 7 февраля:

Про доклад DeepMind AlphaFold в EMBL-EBI:
https://borisburkov.net/blog/2019-02-07-1

Про доклады Amazon Alexa в Amazon Research Cambridge:
https://borisburkov.net/blog/2019-02-07-2
Continuous Integration/Continuous Delivery (CI/CD)

Я на прошлой неделе ненароком снес сервер, хостивший мой персональный сайт (borisburkov.net), так что вчера вновь был вынужден заняться обзором CI/CD-решений, чтобы его воскресить. Этих решеий по-моему уже сотни, а толку все равно никакого...

На всякий случай, еще одна копия моего сайта хостится непосредственно гитхабом (BurkovBA.github.io).

На днях я разговаривал с товарищем, который много по долгу службы общался с техподдержкой популярнейшего облачного Continuous Integration-сервиса Travis CI и стал их большим фанатом, поскольку они хорошие ребята.

Так вот, недавно их купил какой-то стратегический инвестор (https://www.crunchbase.com/organization/travis-ci#section-recent-news-activity) и в первый же месяц уволил половину сотрудников, даже не сообщив об этом их линейным менеджерам. Так что, по-видимому, Трэвис все =(

А я между тем хочу сказать, что все эти CI/CD может и CI, но ни одно из них нифига не CD.

После надоевшего всем Дженкинса я уже перепробовал GoCD, Github Actions и вот теперь CircleCI, и ни один из них мне так и не нравится.

Concourse еще посмотреть, говорите?
Здравствуйте, мои дорогие дата сайнтисты. Решите задачку о динамике вас и вашей карьеры во времени.

На свете около 10 тысяч исследователей машинного обучения и около миллиона индустриальных дата-сайнтистов. Стало быть, на то, чтобы внедрить в продакшн открытие одного машиниста-исследователя, уходит где-то 100 индустриальных машинистов (потому что всякие банки имеют свои заморочки с безопасностью данных, и просто один раз написать одно общее API на каждую технологию и потом его повторно использовать не выйдет - модели придется в каждом банке писать по новой).

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

При этом если исследователей машинки станет не 10, а 20 тысяч, то пренебрегая падением их качества с ростом количества, можем предположить, что число делаемых ими открытий тоже примерно удвоится (или нет - интересно, какова зависимость количества практически значимых открытий от количества исследователей? Еще хотелось бы понять, какова зависимость спроса на индустриальных дата-сайнтистов от численности исследователей машинки?).

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

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

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

Теперь, стало быть, новые открытия каждой группы могут быть только новыми листьями этого графа. Окажется, что зачастую новые открытия будут делать вовсе не AI-профессионалы, а прибежавшие из других областей ребята с другим бэкграундом, потому что машинисты будут топтаться по одному и тому же поддереву, а настоящий свежак - где-то в стороне от этой столбовой дороги.
Недавно прочитал у одного специалиста по машинному обучению и CS, Шона Холдена, интересное назидание аспирантам по поводу выбора темы работы:

"Не заявляйте в теме диссертации, что собираетесь разработать в аспере специальное железо для машинного обучения. У вас на это уйдет лет 5, и к тому моменту, как вы закончите, закон Мура (https://en.wikipedia.org/wiki/Moore%27s_law) вас догонит и перегонит".

Что-то подобное советовал молодым и Джеймс Уотсон: "Не беритесь за проект, который займет 5 лет. Беритесь только за то, что можно успеть за 2 года и работайте без выходных, потому что этим же занимается кто-то в соседнем институте. Я обхожу свои лаборатории по воскресеньям в полдень. Если сотрудников там нет - что-то идет не так".

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

Еще замечательно сказал по этому поводу Эрик Шмидт, бывший CEO Google: "Мы всегда переоцениваем прогресс на год и недооцениваем прогресс на 10 лет". Человечество огромно, и эффекты от прогресса, достигнутого разными людьми, умножаются.

Я почему-то очень долго жил в иллюзии, что я действую, а мир меня ждет. Все наоборот: мир собирается в команды, каждая из которых производит какой-то продукт, а я барахтаюсь как муравей, отчаянно пытаясь хоть немного поспевать за этими новшествами.
Вероятно вы слышали, как играя в Го с Ли Седолем, AlphaGo произвел удивительный "Ход 37", который все приняли за ошибку, но, как оказалось, спустя много ходов он принес программе победу: https://www.youtube.com/watch?v=HT-UZkiOLv8.

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

Так вот, как-то генетический алгоритм сгенерировал плату с полностью изолированным NAND gate'ом (https://en.wikipedia.org/wiki/NAND_gate). Инженеры подумали: что за ерунда, он ни с чем не связан, давайте его уберем. Плата перестала работать. Оказалось, что работа платы держалась на удаленном взаимодействии электромагнитного поля с этим гейтом, и генетический алгоритм нашел его, хотя никакой рациональный дизайнер PCB такого бы не придумал.

Не могу найти ссылку на эту историю к сожалению, поэтому "почем купил...".
На позапрошлой NIPS'17 Pieter Abbeel, работавший тогда в OpenAI, выступал с очень интересным докладом, где показывал видео еще 2009 года, на котором роботы прекрасно справляются с выполнением тонких манипуляций вроде мытья посуды, уборки, открытия бутылки пива и т.п... когда ими удаленно управляет человек.

https://www.youtube.com/watch?v=TyOooJC_bLY

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

Похоже, доклад произвел большое впечатление на многих, потому что Билл Гейтс в своем недавнем MIT'шном обзоре технологий будущего, за которыми он следит, поставил robot dexterity на первое место: https://www.technologyreview.com/lists/technologies/2019/.

Судя по валу впечатляющих публикаций о Reinforcement Learning, с помощью которого как раз и управляют роботами, на этом семействе подоходов сейчас топчется очень много народу.

Похоже, что OpenAI и Vicarious активно работают в этом направлении. Недавно у них вышли сходные публикации о том, что они пытаются научить роботов понимать отностильное расположение объектов:

https://www.vicarious.com/2019/01/18/a-thought-is-a-program/
https://blog.openai.com/learning-concepts-with-energy-functions/

Недавно еще видел забавное видео, где робот складывает бумажные самолетики: https://www.facebook.com/watch/?v=1818684621541763.

Короче говоря, у меня сложилось впечатление, что Deep Reinforcement Learning начал весьма неплохо работать не только в игре в старкрафт, но и в случае роботов.

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

Предположим, вы решаете, в каком возрасте рожать ребенка.

Есть некий ген FOXO3, который может быть представлен одним из 2 вариантов. Один из этих вариантов достаточно сильно продлевает жизнь его обладателю: https://www.nature.com/articles/s41467-017-02183-y.

Технология редактирования геномов CRISPR-Cas9 (https://en.wikipedia.org/wiki/CRISPR) уже достаточно близка к продакшну, моя чуйка подсказывает, что лет через 10 она может быть более-менее доступна богачам, а через 20 - и широкому потребителю.

И вот, вы знаете, что ваш ребенок имеет обычную версию FOXO3, как и вы.

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

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

Забавно вообще, что с каждым прожитым годом жизни вы потихоньку накапливаете груз мутаций (за 10 лет жизни отца после достижени им ~15 лет накапливается порядка 1 слабовредной мутации, делающей ожидаемое число потомков его ребенка на 1% меньше). Со временем эти слабовредные мутации тоже станет можно вычищать. Поэтому ребенок в ваши 25 будет здоровее вашего ребенка в 35, но оба они будут более кривые-косые, чем ваш ребенок "с химчисткой" в 50.

Как быть? Старться не думать обо всем этом? 🙂

Кстати, Эрик Лэндер, глава одного из ведущих НИИ в области биотеха Broad Institute, только что высказался за мораторий на генетическую модификацию эмбрионов до того, как будет выработаны общие правила безопасной работы с ними: https://www.nature.com/articles/d41586-019-00726-5
Пока пил кофе, осознал, что DeepMind со своим мультиагентным actor-learner обучением воспроизвел Сверхразум из старкрафта: https://deepmind.com/blog/impala-scalable-distributed-deeprl-dmlab-30/

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

Поэтому вместо этого лучше сделать много тел (actor'ов), которые бестолково обучаются и отсылают информацию одному сверхразуму (learner'у), а тот на основании их опыта выбирает оптимальную стратегию поведения для всего вида - и получается быстрее. А если для одного сверхразума информации слишком много, то делают несколько дополнительных узлов - cerebrate'ов. 😂

Впрочем, в DeepMind'е много команд, и разные команды пробуют разные подходы - а общие библиотечки компонентов разделяют между собой: https://deepmind.com/blog/trfl/.

Забавно, что OpenAI пробует и распреледенный Reinforcement Learning a la MMO (https://openai.com/blog/neural-mmo/), и, как его альтернативу - просто симулировать эволюцию: https://openai.com/blog/evolution-strategies/.

Это все что вы хотели знать о том, что делают геймдевы в кризисе среднего возраста.
Слышал на днях любопытный доклад Алексея Маклакова из University of East Anglia про эволюционное происхождение старения.

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

Есть популярная гипотеза "антагонистической плейотропии" (https://en.wikipedia.org/wiki/Antagonistic_pleiotropy_hypothesis), объясняющая, почему мы все-таки стареем:

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

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

Есть производная от гипотезы "антагонистической плейотропии" гипотеза "отжившей сомы" (https://en.wikipedia.org/wiki/Disposable_soma_theory_of_aging), делающая более сильное утверждение: молодой организм вынужден выбирать, тратить ему ресурсы на создание потомства, или на сохранение собственной функции. Утверждается, что старение вызвано тем, что часто выгоднее первое.

Однако гипотезу "отжившей сомы" в какой-то мере опровергает следующий красивый эксперимент.

Известно, что ограничение калорийности питания продлевает жизнь. В основе этого механизма лежит известный каскад так называемого инсулиноподобного фактора роста IGF-1. Этот фактор стимулирует стимулирует клетки "есть" глюкозу, производить белок и расти. Однако есть побочка: когда этот фактор связывается со своим рецептором DAF-2 на поверхности клеток и запускает рост, в клетках выключается система ответа на стресс и утилизации белкового мусора - и они стареют (см. картинку выше).

Есть червячок, нематода, которая в норме живет 30 дней. У нее тоже есть ген инсулинового рецептора DAF-2. Этот рецептор полезен в молодости, но вреден в старости. Если его поломать до наступления половозрелости, то нематода получится с нарушениями развития, зато долго живет, 60-70 дней.

Так вот, оказывается, что этот ген можно не полностью поломать, а заглушить РНК-интерференцией не до половозрелости, а во взрослом возрасте. Тогда нематода получается безо всяких нарушений развития, зато живет те же 60 с лишним дней. Более того, в среднем за жизнь она оставляет больше потомства, так что в лаборатории такая долгоживующая нематода может даже имеет небольшое эволюционное преимущество.

Маклаков утверждает, что этот эксперимент, который в их лаборатории недавно удалось повторить (https://www.biorxiv.org/content/biorxiv/early/2018/08/31/405019.full.pdf), показывает, что возможно старение вызвано не столько необходимостью распределять энергию между сохранением собственной функции и воспроизводством, сколько гиперрегуляцией - ускоренный синтез белков в молодости дает нам краткосрочный буст, который впоследствии нас убивает.