Свяжитесь с нами:

Тим Дэвис, соучредитель и президент Modular – серия интервью

Искусственный интеллект

Тим Дэвис, соучредитель и президент Modular – серия интервью

mm

Тим Дэвис — соучредитель и президент компании модульная, интегрированный компонуемый набор инструментов, который упрощает вашу инфраструктуру искусственного интеллекта, чтобы ваша команда могла быстрее разрабатывать, развертывать и внедрять инновации. Компания Modular наиболее известна разработкой Mojo, новый язык программирования, который устраняет разрыв между исследованиями и производством, сочетая лучшее из Python с системами и метапрограммированием.

Повторный предприниматель и руководитель по продукту. Тим помог создать, найти и масштабировать значительную часть инфраструктуры искусственного интеллекта Google. Google Brain и основные системы из API (TensorFlow), Составители (XLA & МЛИР) и среды выполнения для сервера (ЦП/ГП/ТПУ) и ТФ Лайт (Мобильный/Микро/Интернет), Android ML & ННАПИ, крупная модельная инфраструктура и OSS для миллиардов пользователей и устройств. Любит работать, создавать и масштабировать продукты для помочь людям и мир.

Когда вы впервые открыли для себя программирование и что вас в этом привлекло?

Когда я был ребенком, выросшим в Австралии, мой отец принес домой Commodore 64C, и меня зацепили игры — Boulder Dash, Maniac Mansion, Double Dragon — какое время быть живым. Этот компьютер познакомил меня с BASIC, и работа с ним стала моим первым настоящим знакомством с программированием. Ситуация стала более интенсивной в средней школе и университете, где я использовал более традиционные статические языки для инженерных курсов, и со временем я даже попробовал Javascript и VBA, прежде чем остановился на Python для подавляющего большинства программ программирования в качестве языка данных. наука и ИИ. В своих предыдущих стартапах я написал кучу кода, но сейчас, конечно, я использую Mojo и набор инструментов, который мы создали вокруг него.

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

Именно люди создают технологии и продукты, меняющие мир, и именно преданная группа людей, связанных более широким видением, приводит их в мир. Google — невероятная компания с замечательными людьми, и мне посчастливилось встретиться и поработать со многими из самых ярких умов в области искусственного интеллекта много лет назад, когда я присоединился к команде Brain. Самый большой урок, который я усвоил, заключался в том, чтобы всегда концентрироваться на пользователе и постепенно раскрывать сложность, чтобы предоставить пользователям возможность рассказывать миру свои уникальные истории, например, исправление ошибок. Большой Барьерный риф или помогать таким людям, как Джейсон барабанщик, а также привлекать и объединять самых разных людей для достижения общей цели. В огромной компании очень умных и талантливых людей это гораздо сложнее, чем можно себе представить. Если вспоминать время, проведенное там, то всегда по-настоящему запоминаются люди, с которыми ты работал. Я всегда буду с любовью оглядываться назад и ценить то, что многие люди рисковали из-за меня, и я чрезвычайно благодарен им за это, поскольку многие из этих рисков побудили меня стать лучшим лидером и человеком, погрузиться глубже и по-настоящему понять системы ИИ. Это действительно заставило меня осознать огромную силу, которую ИИ может влиять на мир, и именно по этой причине у меня хватило вдохновения и смелости уйти и стать соучредителем Modular.

Можете ли вы рассказать историю возникновения Modular?

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

Работая вместе в течение многих лет над крупномасштабной критической инфраструктурой искусственного интеллекта (мы своими глазами видели огромную боль разработчиков), «почему все не может просто работать»? Чтобы мир мог принять и открыть для себя огромную преобразующую природу ИИ, нам необходимо программное обеспечение и инфраструктура разработчиков, которая масштабируется от исследований до производства и имеет высокий уровень доступности. Это позволит нам открыть следующий путь научных открытий, в которых ИИ будет иметь решающее значение. грандиозная инженерная задачаБлагодаря этому мотивирующему опыту мы глубоко уверились в том, что сможем создать новый подход к инфраструктуре ИИ и дать разработчикам по всему миру возможность использовать ИИ, чтобы сделать мир лучше. Нам также очень повезло, что к нам присоединилось много людей на этом пути, и благодаря этому у нас лучшая в мире команда по инфраструктуре ИИ.

Можете ли вы рассказать, как язык программирования Mojo изначально создавался для вашей команды?

Модульные видение заключается в том, чтобы позволить ИИ использоваться кем угодно и где угодно. Все, что мы делаем в Modular, ориентировано на эту цель, и мы отступаем от нее, создавая наши продукты и наши технологии. В этом свете наш собственный разработчик В первую очередь для нас важна скорость, и, построив большую часть существующей в мире инфраструктуры искусственного интеллекта, нам нужно было тщательно продумать, что позволит нашей команде двигаться быстрее. Мы столкнулись с языковой проблемой двух миров в искусственном интеллекте (когда исследователи живут на Python, а инженеры по производству и оборудованию живут на C++), и у нас не было другого выбора, кроме как идти по этому пути или полностью переосмыслить подход. Мы выбрали последнее. Необходимость решения этой проблемы была очевидна, но много разных способов Чтобы решить эту проблему – мы подошли к этому с твердой верой в то, что сможем удовлетворить экосистему там, где она есть сегодня, и обеспечить более простой переход в будущее. Наша команда несет на себе шрамы масштабной миграции программного обеспечения, и мы не хотели повторения этого. Мы также поняли, что сегодня, по нашему мнению, не существует языка, который мог бы решить все проблемы, которые мы пытаемся решить для ИИ, поэтому мы применили подход на основе первых принципов, и родился Mojo.

Как Mojo обеспечивает плавное масштабирование и переносимость на различные типы оборудования?

Крис, я и наша команда в Google (многие из Modular) помогли МЛИР в мир лет назад – с целью помочь мировому сообществу решить реальные проблемы, обеспечив возможность последовательного представления и выполнения моделей ИИ на оборудовании любого типа. MLIR — это новый тип инфраструктуры компиляторов с открытым исходным кодом, который получил широкое распространение и быстро становится новым стандартом для создания компиляторов посредством LLVMУчитывая опыт нашей команды в создании этой инфраструктуры, вполне естественно, что мы активно используем её в Modular, и это лежит в основе нашего передового подхода к разработке новой инфраструктуры ИИ для всего мира. Важно отметить, что, несмотря на стремительное внедрение MLIR, Mojo — первый язык, который действительно использует весь потенциал MLIR и представляет его разработчикам уникальным и доступным способом. Это означает, что он масштабируется от разработчиков Python, которые пишут приложения, до инженеров по производительности, которые развёртывают высокопроизводительный код, и до инженеров по аппаратному обеспечению, которые пишут очень низкоуровневый системный код для своего уникального оборудования.

В ссылках на Mojo утверждается, что это по сути Python++ с доступностью Python и высокой производительностью C. Является ли это грубым упрощением? Как бы вы это описали?

Mojo должен быть очень знаком любому программисту Python, поскольку он разделяет синтаксис Python. Но есть несколько важных отличий, которые вы увидите, портируя простую программу Python на Mojo, в том числе то, что она будет работать сразу после установки. Одна из наших основных целей для Mojo — предоставить расширенный набор Python, то есть сделать Mojo совместимым с существующими программами Python, а также использовать реализацию CPython для поддержки экосистемы с длинным хвостом. Затем вы сможете постепенно дополнять свой код и заменять неработающие части низкоуровневыми функциями Mojo для явного управления памятью, добавления типов, использования автонастройки и многих других аспектов, чтобы получить производительность C или выше! Мы считаем, что Mojo дает вам лучшее из обоих миров, и вам не нужно писать и переписывать свои алгоритмы на нескольких языках. Мы понимаем, что Python++ — это огромная цель, и это будет многолетняя работа, но мы стремимся воплотить ее в жизнь и позволить нашему легендарному сообществу, насчитывающему более 140 тысяч+ разработчиков, помочь нам вместе строить будущее.

В недавнем выступлении было продемонстрировано, что Mojo в 35,000 XNUMX раз быстрее Python. Как рассчитывалась эта скорость?

На самом деле, сейчас это в 68,000 XNUMX раз больше! Но давайте признаем, что это всего лишь одна программа в последовательности Мандельброта — вы можете прочитать серию из трёх постов в блоге о том, как мы этого добились — здесь, здесь и здесь. Конечно, мы занимаемся этим уже давно и знаем, что не игры на производительность стимулируют внедрение языка (хотя они и увлекательны!) — а скорость разработки, удобство использования языка, высококачественные инструментальные цепочки и документация, а также сообщество, использующее инфраструктуру для изобретения и разработки решений способами, которые мы даже не можем себе представить. Мы создаём инструменты, и наша цель — дать миру возможность использовать наши инструменты, создавать потрясающие продукты и решать важные проблемы. Если же мы сосредоточимся на нашей более масштабной цели, то это, по сути, создание языка, который соответствует вашему текущему состоянию и затем легко перенесёт вас в лучший мир. Mojo позволяет вам получить высокопроизводительный, удобный, статически типизированный и переносимый язык, который легко интегрируется с вашим существующим кодом Python, предоставляя вам лучшее из обоих миров. Он позволяет вам реализовать истинную мощь аппаратного обеспечения с помощью многопоточности и распараллеливания способами, которые сегодня недоступны чистому Python, — предоставляя мировому сообществу разработчиков возможность использовать единый язык, масштабируемый сверху донизу.

Магия Mojo заключается в его способности объединять языки программирования с помощью одного набора инструментов. Почему это так важно?

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

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

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

Модульное недавно объявил о привлечении 100 миллионов долларов нового финансирования, возглавляемый General Catalyst и заполненный существующими инвесторами GV (Google Ventures), SV Angel, Greylock и Factory. Чего нам следует ожидать дальше?

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

Каким вы видите будущее программирования?

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

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

В завершение, ИИ проникнет в нашу жизнь неисчислимыми способами и будет существовать повсюду — поэтому я надеюсь, что Mojo будет стимулировать разработчиков быстрее решать самые важные проблемы человечества — независимо от того, где они живут в нашем мире. Я думаю, что за это будущее стоит бороться.

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

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

футурист, он посвятил себя изучению того, как эти инновации изменят наш мир. Кроме того, он является основателем Ценные бумаги.io, платформа, ориентированная на инвестиции в передовые технологии, которые меняют будущее и преобразуют целые секторы.