人工知能
Tim Davis, Co-Founder & President of Modular – Interview Series

Tim Davisは、Modularの共同創設者兼社長です。Modularは、AIインフラストラクチャを簡素化する統合的な、組み立て可能なツールのスイートで、チームが開発、展開、革新をより迅速に実行できるように設計されています。Modularは、Mojoの開発で最もよく知られています。Mojoは、Pythonとシステムおよびメタプログラミングの最良の部分を組み合わせて、研究と生産の間のギャップを埋める新しいプログラミング言語です。
リピートエントレプレナーおよび製品リーダーです。Timは、Google BrainおよびCore SystemsでGoogleのAIインフラストラクチャの大部分を構築、創設、拡大するのに役立ちました。(TensorFlow、コンパイラ(XLAおよびMLIR)、サーバー(CPU/GPU/TPU)およびTF Lite(モバイル/マイクロ/ウェブ)のランタイム、Android MLおよびNNAPI、大規模モデルのインフラストラクチャおよびOSSを数十億のユーザーとデバイス向けに提供しました。走ること、製品を構築および拡大して、人々や世界を助けることを愛しています。
あなたはいつ初めてコーディングを発見し、どのようなことがあなたを引き付けたのですか?
オーストラリアで子供の頃、父親がコモドール64Cを家に持ち帰り、ゲームが私を引き付けたのは – Boulder Dash、Maniac Mansion、Double Dragon – それが私が生きていた時代でした。そのコンピューターは私にBASICを紹介し、それで遊ぶことが私にとって最初の本当のプログラミングへの紹介でした。高校と大学では、より伝統的な静的言語を使用しましたが、最終的に私はPythonに落ち着きました。私は以前のスタートアップで多くのコードを書きましたが、現在はもちろん、Mojoと私たちがそれの周りに作成したツールチェーンを使用しています。
5年以上、Googleのシニアプロダクトマネージャーおよびグループプロダクトリーダーとして働き、Google BrainでのGoogleのAIインフラストラクチャの大部分を拡大するのを支援しました。その経験から何を学びましたか?
世界を変える技術や製品を構築するのは人々であり、大きなビジョンに結びついた人々の献身的なグループがそれらを世界に持ち込むことです。Googleは、信じられないほど素晴らしい会社であり、そこには驚くべき人々がいます。私は幸運にも、Brainチームに参加するために移住したときに、AIの分野で最も明るい頭脳の多くと出会い、働くことができました。私が学んだ最も重要な教訓は、常にユーザーに焦点を当て、複雑さを進んで開示することです。ユーザーが世界にユニークなストーリーを伝えることを可能にすることです。たとえば、グレートバリアリーフを修復したり、Jason the Drummerのような人々を助けたりすることです。共通の目標に向けて多様な人々の混合を集めることも重要です。非常に賢く、才能のある人々がいる大きな会社では、これは想像以上に難しいことです。そこでの私の時間を振り返ると、本当に覚えているのは私と働いた人々です。私はいつも彼らに感謝の気持ちでいっぱいです。彼らは私に多くのリスクを負ってくれましたが、私は彼らに感謝しています。彼らは私にリーダーとして、そして人として優れるようになりたいと思わせてくれました。私にはAIシステムの力が世界に与える影響の深さを実感させてくれました。これが私にModularを共同創設する勇気を与えてくれました。
Modularの創設ストーリーを共有してください。
Chrisと私はGoogleで出会い、現在のAIの世界に大きな影響を与える多くの影響力のある技術を共同で開発しました。しかし、我々はAIが複雑で断片化されたインフラストラクチャによって妨げられていると感じました。私たちは、AIの影響を世界に及ぼすことを加速させることで、産業を生産品質のAIソフトウェアに向けて引き上げることを望んでいました。私たちは、どのくらいの問題がAIによって解決できるか、どのくらいの病気が治癒できるか、人間がどのくらいの生産性を上げることができるか、AI技術の浸透度を高めることで、私たちの存在を将来の世代のためにさらに進歩させることができるか、などについて考えました。
私たちが一緒に数年間、Googleでの大規模な重要なAIインフラストラクチャに取り組んだ結果、開発者の大きな痛みを直接見ました – 「どうしてものがうまくいかないのか?」AIが採用され、発見されるためには、研究から生産までスケーラブルで、高度にアクセス可能なソフトウェアと開発者インフラストラクチャが必要です。これにより、次の科学的発見の解錠が可能になります – その中でAIが重要な役割を果たします – これはグランドエンジニアリングチャレンジです。この動機の背景を考えると、私たちはAIインフラストラクチャに対する新しいアプローチを構築し、開発者にAIを使用して世界をより良い場所にするのを助けることを目指しました。私たちは、世界最高のAIインフラストラクチャチームを持っていることを幸運に思っています。
Mojoプログラミング言語が最初にどのように構築されたかについて説明してください。
Modularのビジョンは、誰でもどこでもAIを使用できるようにすることです。Modularで行うすべてのことは、この目標に向けて後ろ向きに進めています。私たちの製品や技術を構築する方法は、その目標から始めています。私たちの最初に私たちの開発者の速度が重要です。世界でAIインフラストラクチャの大部分を構築したので、私たちのチームがより迅速に移動できるようにする方法を慎重に検討する必要がありました。私たちは、AIの2つの世界の言語の問題に直面しました。研究者はPythonで生活し、生産性とハードウェアエンジニアはC++で生活しています。私たちは、既存の道を進むか、またはアプローチを再考するかを選択しました。私たちは後者を選択しました。問題を解決する必要性は明らかでしたが、さまざまな方法で解決できました。私たちは、エコシステムが現在存在する場所で出会い、将来へのよりシンプルなリフトを可能にすることを目指しました。私たちのチームは、大規模なソフトウェア移行の傷跡を負っています。私たちはそれを繰り返したくありませんでした。現在、すべての課題を解決できる言語がないことを私たちは認識しています。そこで、最初の原則に基づいてアプローチし、Mojoが生まれました。
Mojoは、さまざまなハードウェアの種類間でシームレスなスケーリングと移植性をどのように可能にしますか?
Chris、自分、そして私たちのチーム(Googleでの多くの人々)は、MLIRを世界に導入するのを助けました。MLIRは、AIモデルを一貫して表現および実行できるようにする新しいオープンソースコンパイラインフラストラクチャです。MLIRは、LLVMを介して、コンパイラを構築するための新しい標準になりつつあります。私たちのチームがこれらのインフラストラクチャを作成したという経歴を考えると、Modularでそれらを大量に使用するのは自然なことです。これは、私たちが世界に新しいAIインフラストラクチャを開発するための最先端アプローチの基盤です。Mojoは、MLIRの力を初めて開発者にユニークでアクセス可能な方法で公開する最初の言語です。これにより、Python開発者、パフォーマンスエンジニア、ハードウェアエンジニアがすべて、低レベルのシステムコードを書くことができます。
Mojoへの参照は、基本的にPython++であると主張しています。PythonのアクセシビリティとCの高パフォーマンスを備えているというのは、大きな単純化ですか? どうやって説明しますか?
Mojoは、Pythonプログラマーにとって非常に親しみやすいものとなるはずです。なぜなら、Pythonの構文を共有しているからです。しかし、PythonプログラムをMojoにポートするときに気付くいくつかの重要な違いがあります。私たちの主な目標の1つは、Pythonのスーパーセットを提供することです。つまり、Mojoを既存のPythonプログラムと互換性があるようにすることです。CPythonの実装を長尾のエコシステムサポートのために採用し、コードを段階的に拡張して、パフォーマンスの低い部分をMojoの低レベル機能で置き換えることができます。メモリを明示的に管理したり、型を追加したり、自動チューニングを行ったり、多くの他の側面を活用してCやそれ以上のパフォーマンスを得ることができます。私たちは、Mojoが両方の世界の最良の部分を提供し、アルゴリズムを複数の言語で書き直す必要がないと考えています。Python++は、巨大な目標であり、数年間の取り組みになるでしょうが、私たちはそれを現実にすることに尽力しています。私たちは、140Kを超える開発者の伝説的なコミュニティと一緒に未来を構築することを目指しています。
最近の基調講演では、MojoがPythonよりも35,000倍速いことが示されました。この速度はどのように計算されましたか?
実際には、現在は68,000倍です!しかし、認識してください。Mandelbrotの単一プログラムだけです。私たちがそれを達成した方法については、3つのブログポストのシリーズを読むことができます – ここ、ここ、およびここ。もちろん、私たちは長い間これを行っており、パフォーマンスゲームが言語の採用を推進するものではないことを知っています(それらは楽しいですが!)。開発者の速度、言語の使いやすさ、高品質のツールチェーンおよびドキュメント、インフラストラクチャを使用して、想像できない方法で発明し、構築するコミュニティが重要です。私たちはツールビルダーであり、私たちの目標は、世界が私たちのツールを使用して、驚くべき製品を作成し、重要な問題を解決できるようにすることです。私たちがより大きな目標に焦点を当てている場合、それは私たちがあなたが今日いる場所で出会い、より良い世界に簡単に引き上げる言語を作成することです。Mojoは、高度にパフォーマンスの高い、使いやすい、静的に型付けされた、移植可能な言語を提供し、既存のPythonコードとシームレスに統合します。つまり、Pythonでは現在実現できないハードウェアの真の力を実現し、多スレッドと並列化を可能にします。世界中の開発者コミュニティに、上から下までスケーラブルな単一の言語を提供します。
Mojoの魔法は、プログラミング言語を1つのツールセットで統一する能力です。これはなぜ重要ですか?
言語は、周囲に形成されるエコシステムとコミュニティの力によってのみ成功します。私たちは長い間、オープンソースコミュニティと協力してきました。コミュニティに適切に取り組み、コミュニティに尽くすことを心がけています。私たちはインフラストラクチャを出荷するために非常に努力していますが、チームを拡大して開発する時間が必要です。答えがすぐにはないかもしれませんが、そこに到達するでしょう。後退してみると、私たちの目標は、全体の 既存の エコシステムを引き上げることです。私たちは、他の多くのプロジェクトのようにそれを分割しようとはしていません。相互運用性は、コードを書き直す必要なく、私たちのインフラストラクチャを試すことがコミュニティにとって簡単にします。それはAIにとって重要です。
私たちは、過去10年間でAIインフラストラクチャとツールの開発から多くを学びました。既存のモノリシックシステムは、初期のターゲットドメイン以外では簡単に拡張または汎用できないため、結果としてAIの導入業界は、さまざまなトレードオフと制限を持つさまざまなツールチェーンで断片化しています。これらの設計パターンは、使いやすさ、移植性、スケーラビリティが低いため、イノベーションのペースを遅くしています。
次世代のAIシステムは、生産品質で、開発者がいる場所で出会う必要があります。ユーザーコードの高価な書き直し、再構築、または再ベース化を必要とすべきではありません。ネイティブのマルチフレームワーク、マルチクラウド、マルチハードウェアでなければなりません。最良のパフォーマンスと効率を、最良の使いやすさと組み合わせる必要があります。これが断片化を減らし、次の世代のハードウェア、データ、アルゴリズムのイノベーションを解放する唯一の方法です。
Modularは最近、1億ドルを新たな資金調達で集めたと発表しました。General Catalystが主導し、既存の投資家であるGV(Google Ventures)、SV Angel、Greylock、Factoryが参加しています。次に何が予想されますか?
この新しい資本は、主にAIインフラストラクチャのベストの人々を雇用し、Modularで見られている巨大な商業的需要に応えるために使用される予定です。私たちのプラットフォームを開発し続け、コミュニティに提供するために努力しています。Modverse、開発者が13万人を超え、企業が数千件あり、私たちのインフラストラクチャを求めています。私たちは、非常に高い基準を設定しています。私たちが出荷する製品は、私たちがチームとして誰であるか、会社として誰になるかを反映しています。誰かが、ソフトウェアとハードウェアの境界を愛し、AIが世界に有意義で肯定的影響を与えるのを助けたいと考えている人がいれば、私たちに連絡してください。
プログラミングの将来はどう考えていますか?
プログラミングは、社会の誰でも開発して利用できるスキルであるべきです。多くの人にとって、プログラミングの「アイデア」は、複雑な低レベルのコードを書く開発者のイメージをすぐに思い起こしますが、必ずしもそうである必要はありません。テクノロジーは常に社会の生産性を高めるものでした。プログラミングをよりアクセスしやすく使いやすくすることで、より多くの人にそれを採用することができます。繰り返しのプロセスを自動化し、人々の生活をよりシンプルにすることは、人々に時間を与える強力な方法です。
Pythonでは、すでに時間の試練に耐えた素晴らしい言語があります。それは世界で最も人気のある言語であり、信じられないコミュニティがありますが、限界もあります。私は、それをさらに強力にする機会があると考えています。美しさとシンプルさをさらに多くの人に伝えることができます。私が前に述べたように、プログラミングは、複雑さの進んでの開示を持つべきです。高レベルの抽象化を可能にし、非常に低レベルの抽象化までスケールします。私たちは、AIモデルがテキストからコードへの進歩的な翻訳を可能にする大きな飛躍を目撃しています。私たちは、開発者がコードを書き、展開してそれを動かす魔法の背後にはまだいます。私たちは、これについて以前に書きました。AIは、プログラミング言語全体で創造性と生産性を解放し続けるでしょうが、私はMojoがエコシステムの開口をさらに広げ、開発者全体にアクセシビリティ、スケーラビリティ、ハードウェアの移植性を提供することも信じています。
最後に、AIは私たちの生活に計り知れない方法で浸透し、どこにでも存在します。私が戦う価値のある未来は、開発者が最も重要な問題を解決するのを助けることです。世界のどこに住んでいても、気にしないでください。私はそれが戦う価値のある未来であると考えています。
素晴らしいインタビュー、詳細についてはModularを訪問してください。
