Трансформеры в машинном обучении

Привет. Добро пожаловать в 103-й эпизод подкаста "Бизнес мысли". Сегодняшний гость - Кристофер Хороманский, получивший степень доктора философии в Колумбийском университете. Уже более 7 лет он работает в Google Brain Robotics. Кристофер является автором интересных научных публикаций. Сегодня мы поговорим о так называемой Performance. Что такое Performance? Это такая архитектура производительности трансформеров (Transformance). Что такое трансформеры в машинном обучении? Это решение, о котором важно знать, если хочешь иметь дело с машинным обучением.

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


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


То, о чем Кристофер собирается рассказать сегодня, - это решение для конкретных случаев, когда у нас есть немного больше данных, то есть то, что мы предоставляем в качестве входных данных (например, большие фотографии или тексты). Если классические трансформеры не работают, то нам могут помочь Performer-ы.


Стоит отметить, что трансформер был изобретен в контексте NLP (обработка естественного языка), но позже его удалось адаптировать и к другим областям, например, к компьютерному зрению, где он также произвел революцию.

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

Владимир:
Привет, Кристофер. Представься: кто Ты, чем занимаешься и где живешь.
Кристофер:
Добрый день. Меня зовут Кристофер Хороманский. Я работаю ученым в команде Google Brain Robotics Team в Нью-Йорке, которая занимается робототехникой. Помимо работы в Google, я также преподаю в Колумбийском университете. Я присоединяюсь к разговору из прекрасного Нью-Джерси, где я работаю удаленно в период пандемии.
Владимир:
Что интересного Ты недавно прочитал и почему именно это стоит прочитать?
Кристофер:
В целом, нет ничего особенного, но есть одна книга, к которой я иногда возвращаюсь - это "Мечты об окончательной теории" Стивена Вайнберга. Эту книгу купил для меня отец много лет назад, и я постоянно возвращаюсь к ней. Это очень интересная история о попытках людей создать теорию всего. В ней показан очень крутой взгляд одного из ведущих физиков Америки, лауреата Нобелевской премии. Он в значительной степени ответственен за объединение (по крайней мере, частичное) взаимодействий, что является большим шагом к созданию теории всего. Я часто возвращаюсь к этой книге, в ней затронуты всевозможные крутые темы, так что рекомендую ее всем энтузиастам.
Владимир:
Большое спасибо. Расскажи нам о своем научном опыте.
Кристофер:
Я работаю в "команде робототехники", в то время как весь научный опыт шире. Мое серьезное научное приключение началось в Колумбийском университете, куда я приехал в Нью-Йорк, чтобы изучать теорию графов, это была абстрактная математика, не обязательно с приложениями.


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


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

Владимир:
Ты упомянул, что занимался  математикой, в частности, графами, но потом появилось ML. Мне интересно узнать, какие вопросы, дилеммы возникали у Тебя в голове, возможно, были другие варианты развития событий? Как выглядели эти решения.
Кристофер:
Это было трудное решение, потому что после защиты докторской диссертации у меня было очень хорошее время. Это был один из самых прекрасных периодов в моей жизни. С другой стороны, встал вопрос: что я хочу делать дальше? Очевидно, что вопрос о продолжении работы в теории графов всегда волновал меня, но я также понимал, глядя на то, чем занимаются мои друзья, что есть ряд областей, которые потенциально могут быть гораздо более важными с точки зрения развития технологий и влияния на то, как мы живем. Абстрактная теория графов не влияет на это так, как, по крайней мере, машинное обучение сегодня.


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


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


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


В то время, когда я выбрал Google, я еще не знал о команде робототехники. С другой стороны, у меня уже была интуиция, что машинное обучение станет большим событием, и это произошло в течение следующих нескольких лет.
Google Brain Robotics
Владимир:
Это хорошее решение. Ты уже более 7 лет работаешь в Google. В настоящее время Ты работаешь в команде Google Brain Robotics. Было бы неплохо, если бы Ты рассказал немного больше о том, чем занимается команда, какова ее цель, какие проблемы вы решаете и какие достижения у вас есть.
Кристофер:
Brain Robotics является естественным следствием революции в машинном обучении, которая происходит на наших глазах, потому что следующим конкретным, естественным шагом после всего, что было сделано в машинном обучении (мы все еще, в конце концов, далеки от создания искусственного интеллекта), является выяснение того, могут ли роботы, к которым было применено больше таких стандартных методов, извлечь пользу из этой самой революции. Могут ли роботы использовать сверточные сети, чтобы посмотреть, как заменить такую стандартную теорию управления (которая использовалась в робототехнике во времена до машинного обучения) новыми методами, которые доказали свою исключительную эффективность в классической Data Science.


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


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


Вы можете иметь алгоритм, который хорошо работает в симуляторе, но перенести его на реального робота, как правило, очень сложно и требует больших усилий. У нас есть возможность сделать это, у нас есть парк роботов, и поэтому сочетание теоретического подхода к решению сложных алгоритмических задач очень практично. У нас есть физические роботы, вот такой хороший баланс у нас в команде. Вот как выглядит наш бизнес с высоты птичьего полета.
Владимир:
Какова жизнь ученого в такой команде? Как проходит обычный день, как вы определяете проблему, сколько длится спринт, например?
Кристофер:
Это выглядит по-разному. Этих проектов очень много, и научных проблем, над которыми мы работаем, довольно много, потому что команда тоже большая. Это люди и на Восточном побережье, и на Западном. Есть также люди вне команды робототехники, которые работают с нами в Google. А также просто научное сообщество из университетов за пределами Google.


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


Это тоже может занять время. Иногда именно перенос этих идей на реальное устройство является самым большим искусством. Так что проекты могут длиться от нескольких месяцев до нескольких лет, поэтому они очень разнообразны, потому что существует множество проблем. Есть проблемы с манипуляцией, с роботами, которые ориентируются на местности, которые передвигаются, и для решения этих проблем используются различные методы, и, как правило, такие проекты занимают больше времени.
Механизм внимания (англ. attention mechanism, attention model)
Владимир:
Теперь давай поговорим об одной такой публикации, одним из основных авторов которой Ты являешься: Rethinking Attention with Performance. Но прежде чем мы начнем говорить о ней, давай сделаем несколько шагов назад, чтобы все слушатели лучше поняли контекст. Давай сначала попробуем вспомнить, что такое так называемый механизм внимания? Почему именно он так полезен в машинном обучении?
Кристофер:
Механизм внимания - это техника, которая существует в машинном обучении уже много лет. На самом деле, хотя трансформеры стали архитектурой, которая, вероятно, лучше всего продвигает внимание в сообществе машинного обучения, идея проста - это попытка прямого моделирования взаимодействий, отношений между элементами в некоторой потенциально очень длинной строке. Эта строка может быть просто последовательностью слов, как это происходит в NLP.


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


Идея состоит в том, чтобы смоделировать эти отношения напрямую. Идея состоит в том, что, во-первых, многие задачи машинного обучения носят последовательный характер, то есть вы можете думать о данных как о последовательностях этих элементов, с теми отношениями, которые играют ключевую роль в понимании семантики данных. Так, например, если у вас есть предложение, то, конечно, отношения между словами в предложении или в абзаце или более длинном тексте, главе, книге — моделирование этих отношений кажется решающим для понимания смысла текста. Это моделирование может быть выполнено непосредственно с вниманием, так что это основная идея этого механизма.
Как работают трансформеры?
Владимир:
Еще одна такая тема - трансформеры, которые появились не так давно - в 2018 году. Они действительно в некотором смысле начали делать революцию, она началась с NLP, но к этому мы вернемся позже. Но сначала такой вопрос: как объяснить себе на интуитивном уровне, не столько как это работает, сколько почему это работает? Было много разных попыток, комбинаций, и не все выстреливало. Почему?
Кристофер:
Ключевым механизмом является механизм внимания, о котором мы только что говорили. Здесь, на самом деле, моя интуиция заключается в том, что в отличие от многих других архитектур, которые оперировали последовательностями элементов, данными, которые можно естественно интерпретировать как упорядоченные последовательности элементов, в отличие от многих других архитектур (например, LSPM) эти отношения между этими отдельными компонентами - будь то слова в тексте или пиксели на изображении - моделируются напрямую.


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


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



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


Тот факт, что мы можем напрямую хранить значение этих отдельных элементов и напрямую моделировать отношения между ними, означает, что мы способны лучше понять семантику этих данных, так что это интуиция. Интуиция - это одно, а собрать это вместе (потому что трансформеры - это не только внимание, но и множество различных блоков, которые работают вместе) - это нетривиальная вещь, и, как это обычно бывает в истории машинного обучения, большая часть этого - интуиция, а также множество различных попыток, подходов, и какая бы архитектура вдруг ни сработала. Но именно интуиция предполагает непосредственное моделирование отношений между компонентами.
Где можно использовать трансформеры?
Владимир:
Поэтому еще один интуитивный, концептуальный вопрос. Как уже было сказано, трансформеры зародились в области NLP в том числе, BERT был такой более ключевой архитектурой. Позже оказалось, что она может быть адаптирована. Сначала она пошла в направлении компьютерного зрения . Это интересно. Как Ты интерпретируешь этот факт? Это какой-то закон природы, в том смысле, что удалось создать определенный механизм/архитектуру, которая улавливает определенные отношения в более общем виде? Почему это хорошо работает в разных областях, о которых изначально не думали?
Кристофер:
Мне кажется, что это просто еще один пример эффективности математики в описании окружающего нас мира. Еще один пример того, что метод, который был изобретен в самом начале, возможно, с учетом конкретного применения, оказывается гораздо более универсальным. На самом деле, если посмотреть на другие приложения, математическая структура других задач часто очень похожа на структуру задачи моделирования NLP, например. Если посмотреть на применение в изображениях, то я уже упоминал, что эти слова могут быть заменены пикселями или группами пикселей. Взаимоотношения между ними, похоже, должны иметь решающее значение для понимания семантики изображения. Точно так же, как отношения между словами в предложении имеют решающее значение для понимания смысла предложения.


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


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


Это еще один пример универсальности математики и того, о чем говорит Вайнберг в своей книге, что так или иначе мы движемся к этой унификации, есть ряд таких идей, которые позволяют нам упростить описание мира. Вот эта маленькая унификация происходит и в машинном обучении, которое просто отражает то, как устроен мир. Это то, что позволяет нам делать так много вещей в науке, потому что было бы ужасно, если бы для каждой новой проблемы нам приходилось изобретать новый алгоритм, новый метод с самого начала. Это очень неэффективно, и каким-то чудом оказывается, что эти идеи очень хорошо передаются. Это также объясняет успех науки. Вот как я смотрю на универсальность трансформеров в машинном обучении. До тех пор, пока у вас есть последовательно структурированные данные, эти архитектуры очень полезны.
Владимир:
Трансформеры сами по себе, как я уже говорил сегодня, были такой революцией не только в NLP, но и в компьютерном зрении. С другой стороны, давай сейчас больше перейдем к критике, потому что у каждого решения есть свои недостатки. Какие проблемы есть у трансформеров и почему был создан Performer?
Кристофер:
Я сказал, что то, что делает "Трансформеров" успешными в некотором смысле, также является их самым слабым местом. Трансформеры" порывают с традицией описания сложной последовательности отношений через очень сжатое состояние. Но, конечно, цена, которую приходится платить за сохранение скрытых состояний для всех элементов последовательности, - это вопрос эффективности. Если строки очень длинные - по крайней мере, тысячи элементов или даже миллионы - то, конечно, просто невозможно смоделировать все зависимости. Когда речь идет именно о вычислении времени и пространства.


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


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


Другим примером может быть биоинформатика. Я уже упоминал о белках. Белки обычно состоят из нескольких сотен аминокислот. Последовательность из нескольких сотен элементов не является проблемой для трансформеров, но давай теперь перейдем от белков к геномике. Мы моделируем транскрипцию генов, то есть сопоставление генов с производимыми белками. Геном очень длинный, миллиарды элементов - невозможно смоделировать все эти связи напрямую с помощью трансформеров, и это проблема.


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


Здесь приятно, что оно вызывает еще больший резонанс, особенно когда мы говорим о видеокартах. Признаться, Nvidia уже понемногу исправляет эти вещи, потому что раньше это было еще большей проблемой. Я имею в виду, что у карт GPU обычно довольно мало памяти, и это исключение, одно из самых известных OOM (Out Of Memory), мега утомительно.
Кристофер:
Да, именно так.
Владимир:
Вот это я тоже хотел озвучить, потому что в целом, когда речь идет о подсчете производительности, что нужно немного дольше считать, это проблема, но, допустим, иногда можно подождать, а если мы говорим о памяти, то здесь просто блок. Если памяти не хватает, то все останавливается и не работает. Поэтому так важно, чтобы ресурсов хватало.
Кристофер:
Да, Out Of Memory - это кошмар для людей, пытающихся применить подобные архитектуры к очень сложным проблемам, где эти строки длинные. Такой конкретный пример из робототехники - attentional, которая является ключевым элементом Transformers, пытается использовать сжатие изображений для роботов. То есть у нас есть робот, который получает в качестве входного зрения изображение, например, с камеры, и пытается сжать это изображение, чтобы понять, какие части изображения являются ключевыми для принятия решения в конкретный момент.


Можно попытаться сделать это сжатие, используя внимание. Существует множество очень интересных работ, демонстрирующих это. Однако на самом деле невозможно смоделировать внимание от пикселя к пикселю с помощью стандартного аттенционального механизма. Вы можете делать крутые вещи с изображениями, скажем, 100×100, но если у вас есть что-то порядка 1024×1024, и вы хотите смоделировать внимание от пикселя к пикселю, то это практически невозможно сделать стандартным способом.


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


Вставка архитектуры, которая имеет миллионы, триллионы параметров, которая съедает квадратную память и требует времени для обработки этих данных - это особая проблема в робототехнике, где время вывода должно быть очень быстрым, чтобы принимать решения немедленно. Разумеется, ресурсы памяти такого робота также невелики. Невозможно перенести огромную архитектуру 1:1 на робота.
Трансформеры в машинном обучении
Ограничения и оптимизация
Владимир:
Как мы уже говорили, Performers в первую очередь фокусируется на производительности трансформеров, отсюда и название. С другой стороны, это был не первый случай, когда люди пытались как-то улучшить Transformers. Были разные подходы, но по разным причинам они не прижились. Какие недостатки были в предыдущих попытках исправить Трансформеров, и почему именно "Performers" добились успеха?
Кристофер:
Существует множество подходов к созданию не только впечатляющих, но и эффективных архитектур трансформаторов.
Действительно, существует целый класс алгоритмов, которые полагаются на разделение внимания. В некотором смысле, именно такой подход является наиболее интуитивным, т.е. если невозможно смоделировать все зависимости между компонентами, то я моделирую только некоторые из них.


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


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


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


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


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


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


Например, там было указано, что Performer на 100% совместим с обычным Transformer или, например, была такая жесткая математическая гарантия, что это решение, эта вероятность, будут стабильными. Поэтому давай попробуем объяснить вот так с практической точки зрения, что это значит и почему именно это было выделено.
Кристофер:
Performer-ы основаны на очень простой идее. Это идея разложения внимания на составные части, которые проще, чем стандартное внимание. То есть это попытка разложить внимание таким образом, чтобы составные части, собранные вместе в некотором приближении, хорошо аппроксимировали истинное внимание, но позволяли бы гораздо более эффективно считать внимание.


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


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


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


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


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


Кроме того, это то, что мы называем unbiased, что означает, что фактически аппроксимация внимания является про-стабильным алгоритмом, в то время как ожидаемое значение внимания, которое вычисляется этим алгоритмом, является именно тем, что мы хотим, то есть это обычное внимание. И ошибка, т.е. дисперсия, может быть достаточно точно подсчитана. Это большая разница по сравнению с другим подходом. Это фактически замена стандартного механизма на механизм аппроксимации с очень сильными теоретическими гарантиями. Существует множество различных, дополнительных методов, которые играют очень важную роль в достижении алгоритма, который достаточно точно аппроксимирует регуляризованное внимание. В частности, алгоритмы из области того, что я бы назвал Quasi-Monte Carlo. 


Методы, которые мы использовали раньше, во многих других проблемах, но математика универсальна, и оказалось, что они играют важную роль и здесь. Поэтому я бы сказал, может быть, немного не скромно, что с точки зрения теоретических гарантий этой внимательности, которые предлагает Performers, с точки зрения теории, я думаю, что это одна из немногих работ, где на самом деле делается попытка понять, почему механизм работает, а не просто показать, что он работает. Я думаю, что мы довольно точно знаем, почему он работает, частично объясняя это также из-за ограничения количества страниц в статье.
Владимир:
Здесь я бы добавил, конечно, что все эти математические подробности настоятельно рекомендую прочитать в публикации, потому что там можно действительно приятно провести время, читая различные детали. С другой стороны, однако, я хотел бы задать еще несколько вопросов, которые, кстати, возможно, не высказаны в явном виде, потому что речь идет немного о другом. То есть то, что уже было сказано до сих пор, что трансформеры завоевывают рынок сами по себе, это просто работает, но есть так называемые узкие места, которые не очень эффективны, то есть этот механизм внимания.


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


Однако, когда дело доходит до параметров. Речь идет о нахождении так называемого kernel, которое пытается аппроксимировать это. Там есть разные параметры, например, такие h(x), которые по умолчанию там были равны 1. Также количество функций f и w или omega. Итак, на интуитивном уровне, самые важные выводы, которые можешь сделать, просто экспериментируя с этой публикацией, и как Ты выбираешь эти параметры?
Кристофер:
Приближаясь к вниманию. Как я уже говорил ранее, моделирование внимания - это просто прямое моделирование отношений между элементами. Для моделирования отношений между элементами нам необходимо иметь некоторое определение сходства между элементами. Поскольку два элемента связаны друг с другом, мы хотим иметь некоторую меру сходства. Это сходство в машинном обучении называется kernel.


Это просто классное слово для функции, которая подсчитывает сходство между элементами. Но, конечно, в машинном обучении эта функция сходства тоже обучается. Вы тренируете определенные параметры, но есть структура, которую вы не тренируете. Эта структура подобна скелету функции сходства, скелету kernel. В традиционных Трансформерах эта структура описывается чем-то, что называется softmax kernel. Не вдаваясь в подробности, скажу, что это очень хорошая структура, на которой можно строить функции сходства, и эта структура чрезвычайно эффективна на практике. Ты говоришь о различных функциях h и так далее — играя с этими различными функциями, можно изменить скелеты.


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


На самом деле, одна из больших теоретических идей в этой работе, на мой взгляд, заключается в том, как эффективно моделировать каркас softmax kernel. Это просто связано с конкретным выбором тех h, тех параметров, о которых Ты говоришь. Если вчитаешься в статью, то там говорится, что мы можем моделировать каркас softmax kernel с помощью случайных признаков, в то время как есть новый механизм, который мы там используем.


Стандартный механизм, который мы также предложили в статье, но оказалось, что он плохо работает, - это механизм, который использует тригонометрические функции для моделирования каркаса. Он не стабилен на практике, т.е. получается, что когда вы пытаетесь обучить трансформеров с помощью этого механизма, у него слишком большая ошибка, слишком большая дисперсия. Новый механизм основан на exponential functions для моделирования только этого каркаса, это параметры, которые вы выбираете, и он определенно более стабилен. Фактически, это первый эффективный механизм для моделирования скелета softmax таким образом, что вся архитектура, весь механизм внимания остается линейным.


Как это происходит в других версиях Performers, где мы используем более простые каркасы, где линейность появляется автоматически из определения каркаса.
Так что на самом деле, когда дело доходит до выбора параметров, выбор скелета, связанного с softmax kernel, всегда является очень хорошей идеей. У нас есть новый механизм, просто чтобы использовать этот скелет. Однако очень часто то, что работает на практике, проще, и это так называемое Performers Value.


На практике это неслучайный механизм, там нет Random Features. На практике это очень быстро считается. Даже быстрее, чем случайный механизм. Очень часто он работает действительно круто, поэтому на самом деле выбор параметров, выбор фреймворка, ядра, которое будет выучено, но выбор фреймворка, который не выучен, который используется, очень сильно зависит от приложения.


Если у вас есть приложение, где использование стандартного трансформатора невозможно из-за длины строки (просто эти вычислительные проблемы), то часто просто использование приближения скелета Softmax, использование Random Features - это очень крутая идея, потому что это мгновенно меняет вас к линейной задаче, и вы можете использовать очень мощное ядро.


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


Вы также можете перейти от 1 ядра к 2 ядру. Это очень крутая вещь, связанная с Performers. То есть, вы можете тренироваться на одном ядре, а потом делать дообучение или донастройку. С другим ядром - вы можете взять архитектуру, которая обучена на одном ядре, и обучить на другом ядре. Именно эта гибкость, на мой взгляд, является одним из самых привлекательных свойств Performers.
Докторская степень в Университете Колумбии
Владимир:
Я думаю, что здесь воображение уже достаточно стимулировано, поэтому тема Performer-ов пока закрыта. Теперь позволь мне сменить тему. Ты защитил докторскую диссертацию в Колумбийском университете. Как оцениваешь это решение в ретроспективе? В какой степени именно это решение помогло Тебе построить ту карьеру, которая уже есть, в которой Ты процветаешь, изменить свое окружение?
Кристофер:
Это было очень важно, потому что это действительно открыло мне путь к великой науке. Возможность работать с учеными, которые действительно являются мировыми экспертами в своей области. В Колумбийском университете я занимался теорией графов. Это имело очень мало общего с машинным обучением, но я работал над сложными проблемами. Многие из них постоянно остаются открытыми. С людьми, которые действительно находятся на вершине, когда речь идет о таких вещах. Так что это совершенно иной опыт, чем тот, что у меня был раньше.


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


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


Однако финансирование, которое идет на науку в Штатах, несравнимо с другими странами, и это видно даже тогда, когда вы начинаете защищать докторскую диссертацию в Штатах. Так что это оказало огромное влияние на то, как оно направило мое мышление относительно научной карьеры и желание работать над этими сложнейшими проблемами, решать их.
Владимир:
Итак, поскольку это такое важное решение, давай попробуем подсказать людям, которые сейчас находятся на таком этапе жизни, что у них в голове крутятся дилеммы - пробовать или нет. Какие 3-5 приемов Ты бы посоветовал человеку, который раздумывает, поступать ему в аспирантуру или нет? Где это сделать, как это сделать или как зацепиться, например, в США?


Возможно ли это сделать дистанционно в тех условиях, в которых мы сейчас находимся? Дай, так сказать, подсказку, каков кратчайший путь для человека, который, допустим, в данный момент чувствует себя немного потерянным, у него нет денег, но есть желание, мотивация что-то сделать, что он может сделать?
Кристофер:
Существует множество вариантов. Многие люди не знают об этих вариантах, и в этом кроется проблема. В большинстве случаев, фактически (так было со мной), вам не нужно платить университету за PhD - вы получаете стипендию. Конечно, бывают исключения, иногда бывает так, что человека принимают на PhD, но просто без этой стипендии, что является большой проблемой. Однако в большинстве случаев (99,9%) поступление в докторантуру престижного американского университета предполагает получение стипендии.


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


Что касается других советов, то я вообще считаю, что докторская степень в престижном университете, будь то американский или какой-либо другой, - это очень круто. Особенно в Штатах, после получения PhD в области науки, техники, есть много вариантов. Вы можете остаться в университете,  подумать о работе на полную ставку. Можно подумать о работе.


Это был мой путь, когда я перешел в Google. Есть много компаний, которые заинтересованы в тех, кто имеет докторскую степень в научной области - будь то математика, информатика, машинное обучение. Это важные области, в которые сейчас инвестируют. Поэтому я всегда говорю, что PhD в таком университете США или любом другом сильном университете мира - это просто инвестиции в себя. Университет покрывает расходы, но это явно не то время, когда вы собираетесь зарабатывать деньги, тем не менее, это очень крутая инвестиция, которая позволяет вам рассмотреть множество вариантов в дальнейшем.


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


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


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


Конечно, в этих лучших университетах учатся лучшие студенты со всего мира, но, как я уже сказал, этот студент может быть мистером X или мисс Y, и в конечном итоге только от вас зависит, так это или нет. И, конечно, упорный труд. Это избитый термин, но некоторый процент составляет талант, что очень важно, но 70% - это упорный труд. Есть много людей, которые талантливы, но объедините это с повторением, которое необходимо, когда вы получаете степень доктора философии или позже в науке. Это ключевой момент - именно тогда талант срабатывает и можно добиться успеха. Вот и все, что касается нескольких общих замечаний о карьере в науке и ее планировании.
Владимир:
Большое спасибо. Особенно за философские мысли, потому что они мне очень созвучны. Слушая одно из Твоих интервью, Ты сделал замечательный вывод о студентах, которые довольно часто не знают, что что-то невозможно, и поэтому могут быть более эффективными, потому что они не блокируют себя. Да, иногда они совершают простые ошибки, которые, возможно, некоторым людям не следовало бы совершать, но благодаря тому, что у них в голове нет слишком много блоков, они просто пытаются делать вещи более смело. И история показывает, насколько этот подход позволил открыть такие революционные вещи.


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


Я отношусь к последним. Действительно, если вы думаете об этом в контексте красивой дуэли с матерью-природой, которая трудна, и вы выведываете эти секреты трудным путем, тогда вы получаете удовольствие, даже если это трудная проблема, даже если вы просто знаете, что сколько людей уже работали над этим и не сделали этого, потому что вы знаете, что это где-то есть. Оно где-то спрятано, и, возможно, вы будете первым человеком, который его увидит. Это такой подход. Детское любопытство. Это то, что я помню с самого раннего детства - просто открыть то, что природа иногда пытается спрятать наглухо. Тогда, когда смотришь на это с такой стороны, ты не думаешь о том, что мистер X, Y, Z делал или не делал раньше, ты просто думаешь о том, что я могу сделать и как выиграть следующий поединок.


Это мой подход. Это немного игра. Ты должен получать удовольствие от того, что ты делаешь. Если вы начнете думать о том, насколько сложна проблема, сколько было других подходов, то можете сдаться в самом начале.


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


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


И последнее, как Ты видишь развитие Machine Learning через 5-15 лет? Какие этапы возможны? Конечно, все это будет проверено историей, и я знаю, что гадание - не самое простое занятие. Но с другой стороны, мне очень любопытна такая Твоя интуиция, может быть, такие научные мечты?
Кристофер:
Мне кажется, что мы находимся в самом начале пути к созданию новой технологии, от которой выиграет вся цивилизация, потому что, конечно, конечный результат, которого все ждут, - это искусственный интеллект. Но когда я часто слышу в СМИ, что у нас уже есть этот искусственный интеллект, я просто улыбаюсь, потому что знаю, как мы далеки от этого. Создание машины, которая хотя бы частично обучалась бы как человек, все еще находится вне пределов нашей досягаемости.


Так что это действительно кажется самой большой проблемой, и я надеюсь, что в ближайшие X лет - не знаю, 20, 50, 100 - мы сможем добиться значительного прогресса. Удивительное свойство, которым обладают люди, - это обобщение, то есть обучение на очень небольшом количестве примеров и обобщение сложных ситуаций, часто ситуаций, в которые вы раньше не попадали, на основе приобретенных знаний.


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


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


Что это будет за новая парадигма - я не знаю. Если бы я знал, я бы, наверное, уже пытался ее опубликовать, и мы бы ее как-то применяли. Кроме того, трудно предсказать развитие такой науки. Это суперслучайная вещь, как работает человеческий мозг, как мы приходим к открытиям. Теория научных открытий - у нас нет хорошей теории научных открытий, к сожалению, с точки зрения этики. В то время как, похоже, необходимо изменить представление о стандартных методах, которые мы сейчас считаем классическими с точки зрения машинного обучения, но они неэффективны с точки зрения объема данных, которые необходимо обрабатывать.


Вот в чем проблема. Это, конечно, и моя мечта - внести определенный вклад в эту новую революцию, которая, как мне кажется, должна произойти, чтобы мы перешли от проблем, где машинное обучение используется, но используется осторожно, к ситуациям, где мы можем полностью довериться алгоритмам машинного обучения в принятии сложных решений, которые были бы приняты на основе простой экстраполяции, этой информации, к ситуациям, где алгоритм никогда не был раньше. Мы не знаем, как это сделать хорошо, и это Святой Грааль для всех тех, кто занимается машинным обучением сейчас.
Владимир:
Кристофер, спасибо тебе большое за прекрасную, классную, а также мотивирующую речь. Здесь прозвучал очень крутой материал, ценный материал. Мы свяжем все - публикацию, Linkedin, так что не стесняйтесь обращаться и к Кристоферу. Спасибо большое, и мы еще услышимся с Тобой.
Кристофер:
Большое спасибо. Мне очень приятно. До новых встреч.
Мы сделали этот эпизод немного длиннее, но я надеюсь, что оно того стоило. Я знаю, что иногда стоит делать более короткие эпизоды, но с другой стороны, когда  разговариваешь с людьми и от них исходит такая разная, интересная информация и такая позитивная энергия - я это очень чувствую, мне очень хочется, с одной стороны, поделиться с Тобой такими вещами, а с другой стороны, сложить некоторые блоки в своей голове, чтобы получить еще больший импульс и мотивацию к действию. Надеюсь, Тебе понравилось.


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


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


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


На сегодня это все.

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

Присоединяйся сейчас и начни свое комфортное обучение.
Поделись своим мнением или задай вопрос - мы ответим :)