Моделі та платформи ШІ
Тим Девіс, співзасновник та президент Modular – Серія інтерв’ю

Тим Девіс – співзасновник та президент Modular, інтегрованого, композитного набору інструментів, який спрощує вашу інфраструктуру штучного інтелекту, щоб ваша команда могла розробляти, розгортати та інновувати швидше. Modular найбільш відомий розробкою Mojo, нової мови програмування, яка поєднує найкраще з Python з системами та метапрограмуванням.
Повторний підприємець та лідер продукту. Тим допоміг побудувати, заснувати та масштабувати великі частини інфраструктури штучного інтелекту Google (GOOGL ) в Google Brain та Core Systems від API (TensorFlow), компіляторів (XLA та MLIR) та середовищ виконання для сервера (CPU/GPU/TPU) та TF Lite (Мобільний/Мікро/Веб), Android ML та NNAPI, великої інфраструктури моделей та відкритого програмного забезпечення для мільярдів користувачів та пристроїв. Любить біг, будівництво та масштабування продуктів, щоб допомогти людям, та світові.
Коли ви вперше відкрили для себе програмування, і що вас до цього привабило?
Як дитина, що виросла в Австралії, мій тато приніс додому Commodore 64C, і гра була тим, що мене зацікавило – Boulder Dash, Maniac Mansion, Double Dragon – яке чудове час бути живим. Цей комп’ютер познайомив мене з BASIC, і експерименти з ним були моїм першим справжнім введенням у програмування. Все стало більш інтенсивним через школу та університет, де я використовував більш традиційні статичні мови для інженерних курсів, і з часом я навіть займався всім, від Javascript до VBA, перш ніж зупинитися на Python для більшості програмування як мови даних та штучного інтелекту. Я написав багато коду в своїх ранніх стартапах, але зараз, звичайно, я використовую Mojo та інструменти, які ми створили навколо нього.
Понад 5 років ви працювали в Google як старший менеджер продукту та лідер групи продукту, де ви допомогли масштабувати великі частини інфраструктури штучного інтелекту Google в Google Brain. Що ви вивчили з цього досвіду?
Люди – це те, що будує технології та продукти, які змінюють світ, і це віддана група людей, об’єднаних великою візією, яка приносить їх у світ. Google – це неймовірна компанія з дивовижними людьми, і я був щасливим зустріти та працювати з багатьма з найяскравіших розумів у сфері штучного інтелекту років тому, коли я перейшов до команди Brain. Найбільші уроки, які я вивчив, полягають у тому, щоб завжди зосереджуватися на користувачі та поступово розкривати складність, щоб дати користувачам можливість розповісти свої унікальні історії світу, як наприклад, виправлення Великого бар’єрного рифу або допомога людям, таким як Джейсон Драммер, і щоб привабити та зібрати різноманітну групу людей, щоб рухатися до спільної мети. У величезній компанії дуже розумних та талановитих людей це набагато складніше, ніж ви можете собі уявити. Оглядаючись на свій час там, саме люди, з якими я працював, справді незабутні. Я завжди буду з теплотою згадувати та цінувати те, що багато людей ризикували на мене, і я надзвичайно вдячний їм за це, оскільки багато з цих ризиків спонукали мене бути кращим лідером та людиною, щоб зануритися глибоко та真正но зрозуміти системи штучного інтелекту. Це справді зробило мене усвідомити глибоку силу штучного інтелекту, який може вплинути на світ, і це була саме та причина, через яку у мене виникла ідея та сміливість покинути Google та співзаснувати Modular.
Можете.tell про походження історії Modular?
Кріс та я зустрілися в Google та відправили багато впливових технологій, які суттєво вплинули на світ штучного інтелекту сьогодні. Однак ми відчували, що штучний інтелект був утриманий надто складною та фрагментованою інфраструктурою, яку ми спостерігали вперше, розгортаючи великі робочі навантаження на мільярди користувачів. Нас мотивувало бажання прискорити вплив штучного інтелекту на світ, піднімаючи галузь до виробничої якості програмного забезпечення штучного інтелекту, щоб ми, як глобальне суспільство, могли мати більший вплив на те, як ми живемо. Хто не може не задуматися, скільки проблем штучний інтелект може допомогти вирішити, скільки хвороб вилікувати, скільки більш продуктивними ми можемо стати як вид, щоб просунути наше існування для майбутніх поколінь, збільшуючи проникнення цієї неймовірної технології.
Працюючи разом протягом років над великомасштабною критичною інфраструктурою штучного інтелекту – ми побачили величезний біль розробників на власному досвіді – “чому все просто не працює”? Для того, щоб світ прийняв та відкрив величезну трансформаційну природу штучного інтелекту, нам потрібне програмне забезпечення та інфраструктура розробників, які масштабуються від досліджень до виробництва, і є високодоступними. Це дозволить нам розблокувати наступний спосіб наукових відкриттів – з яких штучний інтелект буде критичним – і це великий інженерний виклик. З цією мотивуючою історією ми розробили внутрішню віру в те, що ми можемо вирушити будувати новий підхід до інфраструктури штучного інтелекту та дати розробникам можливість використовувати штучний інтелект, щоб зробити світ кращим. Ми також дуже щасливі, що багато людей приєдналися до нас у цьому шляху, і у нас є найкраща команда інфраструктури штучного інтелекту у світі.
Можете розповісти, як мова програмування Mojo була спочатку створена для вашої команди?
Візія Modular полягає у тому, щоб дати можливість використовувати штучний інтелект будь-кому, будь-де. Все, що ми робимо в Modular, зосереджено на цій меті, і ми рухаємось назад від неї у тому, як ми будемо我们的 продукти та технології. У цьому світлі наша власна швидкість розробників є тим, що нас найбільше турбує, і ми створили так багато існуючої інфраструктури штучного інтелекту для світу – нам потрібно було ретельно подумати про те, що дозволить нашій команді рухатися швидше. Ми пережили проблему двох мов у штучному інтелекті – де дослідники живуть у Python, а виробництво та апаратні інженери живуть у C++ – і нам не було іншого вибору, окрім як або йти по цьому шляху, або зовсім переосмислити підхід. Ми обрали останнє. Було явна необхідність розв’язати цю проблему, але багато різних способів розв’язати її – ми підійшли до цього з нашою сильною вірою у зустріч з екосистемою там, де вона є сьогодні, і надання простішого переходу у майбутнє. Наша команда несе шрами програмного забезпечення міграції у великомасштабному порядку, і ми не хотіли повторення цього. Ми також зрозуміли, що немає мови сьогодні, на нашу думку, яка може розв’язати всі виклики, які ми намагаємось розв’язати для штучного інтелекту, тому ми пішли по шляху першої принципи, і Mojo народився.
Як Mojo дозволяє безшовне масштабування та переносимість на різні апаратні засоби?
Кріс, я та наша команда в Google (багато з яких зараз у Modular) допомогли принести MLIR у світ років тому – з метою допомогти глобальному співтовариству розв’язувати реальні виклики, надаючи змогу моделям штучного інтелекту бути послідовно представленими та виконуватися на будь-якому типі апаратного забезпечення. 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 разів швидше за Python, як була обчислена ця швидкість?
На самом деле це вже 68 000 разів зараз! Але давайте визнаємо, що це просто одна програма у Mandelbrot – ви можете прочитати серію з трьох блог-постів про те, як ми досягли цього – тут, тут та тут. Ми робимо це вже давно і знаємо, що ігри зі швидкістю не є тим, що приводить до прийняття мови (хоча вони можуть бути веселими!) – це швидкість розробника, зручність мови, високоякісні інструменти та документація, а також співтовариство, яке використовує інфраструктуру, щоб винаходити та будувати способами, яких ми навіть не можемо уявити. Ми – будівельники інструментів, і наша мета – дати можливість світу використовувати наші інструменти, щоб створити неймовірні продукти та розв’язати важливі проблеми. Якщо ми зосередимося на нашій більшій меті, то це фактично створення мови, яка зустрічає вас там, де ви є сьогодні, і потім піднімає вас у кращий світ. Mojo дозволяє вам мати високопродуктивну, зручну, статично типізовану та переносиму мову, яка безшовно інтегрується з вашим існуючим кодом Python – даючи вам найкраще з обох світів. Це дозволяє вам реалізувати справжню силу апаратного забезпечення з багатопоточністю та паралелізмом способами, яких сирий Python сьогодні не може – розблокуючи глобальне співтовариство розробників, щоб мати одну мову, яка масштабується з верху до низу.
Чарівність Mojo полягає у його здатності уніфікувати мови програмування з одним набором інструментів, чому це так важливо?
Мови завжди успішні завдяки силі своїх екосистем та спільнот, які формуються навколо них. Ми працювали з відкритими спільнотами протягом довгого часу, і ми надзвичайно вдячні за те, що ми можемо взаємодіяти з ними правильним чином та забезпечити, що ми робимо все правильно для спільноти. Ми працюємо надзвичайно важко, щоб відправити нашу інфраструктуру, але нам потрібно час, щоб масштабувати нашу команду – тому ми не матимемо всіх відповідей одразу, але ми доберемось до цього. Відступаючи назад, наша мета – підняти екосистему Python, приймаючи цілу існуючу екосистему, і ми не намагаємось розділити її, як багато інших проектів. Сумісність просто робить це легше для спільноти спробувати нашу інфраструктуру, без потреби переписувати весь свій код, і це багато значить для штучного інтелекту.
Також ми багато чого навчились з розробки інфраструктури та інструментів штучного інтелекту за останні десять років. Існуючі монолітні системи не легко розширені або узагальнені поза їхньою первісною ціллю, і наслідком є величезна фрагментація галузі розгортання штучного інтелекту з десятками інструментальних ланцюгів, які несуть різні компроміси та обмеження. Ці шаблони проектування сповільнили темп інновацій, зробивши їх менш зручними, менш переносимими та важчими для масштабування.
Система штучного інтелекту наступного покоління повинна бути виробничої якості та зустрічати розробників там, де вони є. Вона не повинна вимагати дорогого переписування, перепроектування або ребейзингу користувачевого коду. Вона повинна бути рідною багатоплатформенною, багатомодовою та багаторівневою. Вона повинна поєднувати найкращу продуктивність та ефективність з найкращою зручністю. Це єдиний спосіб зменшити фрагментацію та розблокувати наступне покоління апаратного забезпечення, даних та алгоритмічних інновацій.
Modular недавно оголосила про приватизацію 100 мільйонів доларів для інструментів розробки штучного інтелекту, на чолі з General Catalyst та існуючими інвесторами GV (Google Ventures), SV Angel, Greylock та Factory. Що ми повинні очікувати далі?
Ці нові капітали будуть переважно використані для зростання нашої команди, найму найкращих людей у сфері інфраструктури штучного інтелекту, та продовження зустрічі з величезним комерційним попитом, який ми бачимо для нашої платформи. Modverse, наше співтовариство з більш ніж 130 тис. розробників та 10 тис. підприємств, усіх шукають нашої інфраструктури – тому ми хочемо забезпечити, щоб продовжувати масштабувати та працювати над розвитком її для них, та доставити її їм. Ми ставимо себе до надзвичайно високих стандартів, і продукти, які ми відправляємо, є відображенням того, хто ми є як команда, і хто ми стаємо як компанія. Якщо ви знаєте когось, хто рухається, хто любить межу програмного забезпечення та апаратного забезпечення, і хто хоче допомогти зробити штучний інтелект проникнути у світ позитивним чином – відправьте їх нашому шляху.
Яка ваша візія майбутнього програмування?
Програмування повинно бути навиком, який кожна людина у суспільстві може розвинути та використати. Для багатьох, “ідея” програмування миттєво викликає картину розробника, який пише складний низькорівневий код, який вимагає великої математики та логіки – але це не повинно бути сприйнято таким чином. Технологія завжди була великим стимулятором продуктивності для суспільства, і роблячи програмування більш доступним та зручним, ми можемо дати людям більше часу.
І в Python у нас вже є чудова мова, яка витримала випробування часом – це найпопулярніша мова у світі, з неймовірною спільнотою – але вона також має обмеження. Я вважаю, що у нас є величезна можливість зробити її ще потужнішою, і заохотити більше людей прийняти її красу та простоту. Як я сказав раніше, це про будівництво продуктів, які мають поступове розкриття складності – забезпечення високорівневих абстракцій, але масштабування до неймовірно низькорівневих також. Ми вже спостерігаємо значний стрибок з моделями штучного інтелекту, які дозволяють прогресивний текст-код переклад – і ці переклади стануть ще більш персоналізованими з часом – але за цією магічною інновацією все ще є розробник, який авторизує та розгортає код, щоб надати йому силу. Ми написали про це раніше – штучний інтелект продовжить розблоковувати творчість та продуктивність у багатьох мовах програмування, але я також вважаю, що Mojo відкриє екосистему ще ширше, надаючи більше доступності, масштабованості та переносимості апаратного забезпечення для багатьох більше розробників у світі.
Закінчуючи, штучний інтелект проникне у наш життя нескладними способами, і він буде існувати всюди – тому я сподіваюсь, що Mojo каталізує розробників, щоб вони пішли та розв’язали найважливіші проблеми людства швидше – незалежно від того, де вони живуть у нашому світі. Я вважаю, що це майбутнє, за яке варто боротися.
Дякую за велике інтерв’ю, читачам, які хочуть дізнатися більше, слід відвідати Modular.












