モジュラーの共同創設者兼社長であるティム・デイビス- インタビューシリーズ
Modular Co-founder and CEO Tim Davis - Interview Series
ティム・デイビスは、Modularの共同創設者兼社長です。Modularは、AIインフラストラクチャを簡素化し、チームがより速く開発、展開、革新できる統合された、組み合わせ可能なツールのスイートです。Modularは、Pythonの優れた部分とシステムおよびメタプログラミングを組み合わせることで、研究と製品のギャップを埋める新しいプログラミング言語であるMojoを開発することで最もよく知られています。
繰り返し起業家および製品リーダー。ティムは、Google BrainおよびCore SystemsでGoogleのAIインフラストラクチャの大部分を構築、創設、拡大しました。API(TensorFlow)、コンパイラ(XLA&MLIR)、およびサーバー(CPU / GPU / TPU)およびTF Lite(モバイル/マイクロ/ウェブ)、Android ML&NNAPI、億単位のユーザーとデバイスのための大規模なモデルインフラストラクチャ&OSSなど。人々と世界を助けるためにランニング、ビルディング、およびスケーリングすることが大好きです。
初めてコーディングを発見したのはいつで、それに魅かれたのは何ですか?
私はオーストラリアで育った子供として、父がCommodore 64Cを家に持ち帰り、ゲームが私を虜にしました – Boulder Dash、Maniac Mansion、Double Dragon – まさに生きている時代です。そのコンピューターが私にBASICを紹介し、それでいじくり回すことが私の最初の本物のプログラミングへの紹介でした。高校や大学では、より伝統的な静的言語を使用してエンジニアリングのコースでさらに熱心になり、最終的にはJavascriptやVBAまで様々な言語に手を出しましたが、データサイエンスとAIの言語であるPythonに落ち着きました。以前のスタートアップではたくさんのコードを書きましたが、もちろん今日ではMojoとそれにまつわるツールチェーンを利用しています。
- TripAdvisorホテルレビューでの感情分析とChatGPT
- 現代AIにおける知識蒸留の力:パワフルでコンパクトなモデルのギャップを埋める
- テキストから類義語(似た言葉)を抽出する方法:BERTとNMSLIBの活用🔥
Googleで5年以上の間、シニアプロダクトマネージャーやグループプロダクトリーダーとして働き、Google Brainの大規模なAIインフラストラクチャの一部をスケーリングするのに役立ちました。この経験から何を学びましたか?
人々が世界を変える技術や製品を作り上げるものであり、より大きなビジョンに縛られた献身的なグループがそれを世にもたらします。Googleは素晴らしい会社であり、素晴らしい人々と一緒に働くことができ、Brainチームに加わった当時には多くの優秀なAIの専門家と出会い、仕事をする機会に恵まれました。私が学んだ最も重要な教訓は、常にユーザーに焦点を当て、複雑さを段階的に開示し、ユーザーが自分たちのユニークなストーリーを世界に伝えることを可能にし、Greater Barrier Reefの修復やJason the Drummerのような人々の助けといったことを実現することです。また、共通の目標に向かって多様な人々を集めることも重要です。非常に優れた人材で構成される大企業では、これが想像以上に困難です。そこでの経験を振り返ると、本当に忘れられないのは一緒に働いた人々です。多くの人々が私にリスクを負ってくれたことにいつも感謝しており、それらのリスクの中には私がより優れたリーダーや人間になるよう促すものもありました。AIが世界に与える深い力を理解し、それが世界に与える影響を実感することで、私はAIが持つ深遠な力を実感しました。そして、これが私がModularを共同設立するためのインスピレーションと勇気を持った理由です。
Modularの誕生の背後にあるストーリーを共有していただけますか?
クリスと私はGoogleで出会い、現在のAIの世界に大きな影響を与えた多くの技術を共同で開発しました。しかし、私たちはAIが過度に複雑で分断されたインフラストラクチャによって押し戻されていると感じ、数十億人のユーザーに大規模なワークロードを展開する際に直接目にした痛みに動機づけられました。AIの影響を世界に加速させるために、私たちは研究から製品までスケーリングするAIソフトウェアを提供し、それが非常にアクセスしやすいものである必要があると考えました。これにより、AIがどれだけの問題を解決し、どれだけの病気を治すことができるか、どれだけ効率的になれるか、この素晴らしい技術を普及させることで、将来の世代のために存在を向上させることができるかということを考えずにはいられません。
私たちは長年にわたり大規模なAIインフラストラクチャで一緒に働いてきましたが、「なぜ物事がうまくいかないのか」という疑問を抱えていました。世界がAIの変革的な性質を受け入れ、発見するためには、研究から製品までスケーリングし、高度にアクセス可能なソフトウェアと開発者インフラストラクチャが必要です。これにより、AIが重要な役割を果たすであろう次の科学的発見の方法を解き放つことができます。また、これは大きなエンジニアリング上の課題でもあります。このような背景に基づいて、私たちはAIインフラストラクチャの新しいアプローチを構築し、開発者が世界をより良い場所にするためにAIを使用できるようにするという内在的な信念を持つことができました。また、私たちはこの旅に多くの人々が参加してくれて非常に幸運です。世界最高のAIインフラストラクチャチームを手に入れました。
Mojoプログラミング言語は最初に自分たちのチームのためにどのように構築されましたか?
モジュラーのビジョンは、AIを誰もがどこでも利用できるようにすることです。モジュラーで行っているすべての取り組みは、この目標に集中しており、製品や技術の構築方法においてもこの目標に向けて逆算しています。この観点から、我々自身の開発者の速度がまず重要であり、既存のAIインフラストラクチャの多くを世界のために構築してきた我々は、チームがより速く動けるようにするために慎重に考慮しなければなりませんでした。私たちはAIの「2つの世界の言語問題」を経験してきました。研究者がPythonを使い、本番やハードウェアエンジニアがC++を使うという問題です。私たちはその道を突き進むか、それともアプローチを完全に見直すかという選択を迫られました。私たちは後者を選びました。この問題を解決する必要性は明らかでしたが、解決方法はさまざまでした。私たちは今日のエコシステムに合わせてアプローチし、将来に向けたシンプルな進化を可能にすることを信じてアプローチしました。私たちのチームは大規模なソフトウェアの移行の傷跡を抱えており、それを繰り返したくありませんでした。また、私たちは現在の私たちの考えでは、AIの解決すべき課題をすべて解決できる言語は存在しないと認識しました。そこで私たちは第一原理的なアプローチを取り、Mojoが生まれました。
Mojoは、さまざまなタイプのハードウェア上でシームレスなスケーリングとポータビリティを実現する方法は何ですか?
Chris、私自身、そしてGoogleのチーム(多くはモジュラーのチーム)は数年前にMLIRを世に出すのを手伝いました。その目標は、AIモデルをどのタイプのハードウェアでも一貫して表現し実行できるようにすることで、MLIRは大規模に採用され、LLVMを通じてコンパイラを構築するための新しいタイプのオープンソースインフラストラクチャとなっています。私たちのチームがこのインフラストラクチャを作り出すという歴史を持つため、モジュラーではそれを大いに活用しており、これが世界のための新しいAIインフラストラクチャを開発するための最新のアプローチを支えています。MLIRが急速に採用されている今、Mojoは実際にMLIRの力を開発者にユニークでアクセス可能な方法で提供する最初の言語です。これは、アプリケーションを書いているPython開発者から、高性能なコードを展開しているパフォーマンスエンジニア、独自のハードウェアに対して非常に低レベルのシステムコードを書いているハードウェアエンジニアまで、スケーリングすることを意味します。
Mojoに関する言及では、それは基本的にPython++であり、PythonのアクセシビリティとCの高いパフォーマンスを兼ね備えているとされていますが、これは極端な単純化ですか?どのように説明しますか?
Mojoは、Pythonの構文を共有しているため、Pythonプログラマーには非常に馴染みやすいはずです。ただし、単純なPythonプログラムをMojoに移植する際には、いくつかの重要な違いがあることに注意してください。重要な目標の1つは、MojoがPythonの上位互換であることです。つまり、Mojoを既存のPythonプログラムと互換性があるようにすることで、長尾生態系のサポートにはCPythonの実装を利用することです。そして、コードを徐々に拡張し、Mojoの低レベルの機能を使ってメモリを明示的に管理し、型を追加し、自動調整を利用し、C以上のパフォーマンスを実現するためのその他の要素を加えることができます!私たちはMojoが両方の世界の最良の部分を提供してくれると考えており、複数の言語でアルゴリズムを書き直す必要はありません。Python++は非常に大きな目標であり、数年にわたる取り組みとなるでしょうが、私たちはそれを現実にすることにコミットしており、140K以上の開発者からなる伝説的なコミュニティが一緒に未来を築く手助けをすることを目指しています。
最近の基調講演では、MojoがPythonよりも35,000倍高速であることが示されましたが、この速度はどのように計算されましたか?
実際には、今では68,000倍です!ただし、それは単なる1つのMandelbrotプログラムにすぎません。私たちがどのようにこれを実現したかについては、こちら、こちら、そしてこちらの3つのブログ記事を読むことができます。もちろん、私たちは長い間これをやってきたので、パフォーマンスの向上は言語の採用を推進するものではありません(楽しいですが!)。開発者の速度、言語の使いやすさ、高品質なツールチェーンとドキュメンテーション、そしてインフラストラクチャを利用して想像もできない方法で発明し、構築するコミュニティが言語の採用を推進する要素です。私たちはツールビルダーであり、私たちの目標は、世界に私たちのツールを使って素晴らしい製品を作り、重要な問題を解決する力を与えることです。私たちの大きな目標に焦点を当てれば、実際には、今日の状況に合わせてあなたに合った言語を作り、簡単により良い世界に昇華することです。Mojoは、既存のPythonコードとシームレスに統合され、高性能で使いやすく、静的型付けでポータブルな言語を提供します。これにより、現在のPythonでは実現できないマルチスレッディングや並列処理を活用して、ハードウェアの真の力を引き出すことができます。これにより、世界中の開発者コミュニティがトップからボトムまでスケーリングすることができます。
Mojoの魔法の特徴は、1つのツールセットでプログラミング言語を統一する能力です。なぜこれが重要なのでしょうか?
言語は常にそのエコシステムとそれを取り巻くコミュニティの力によって成功します。私たちは長い間オープンソースコミュニティと協力してきましたし、コミュニティに対して適切な方法で関与し、コミュニティに対して正しいことをすることを非常に考慮しています。私たちは自分たちのインフラストラクチャを出荷するために非常に一生懸命取り組んでいますが、チームを拡大するために時間が必要です。そのため、即座に全ての答えを持っているわけではありませんが、必ずそこにたどり着きます。大局を見ると、私たちの目標は、Pythonのエコシステム全体を受け入れることによってPythonエコシステム全体を活気づけることであり、他の多くのプロジェクトと同様にそれを分断することを目指していません。相互運用性により、コミュニティが私たちのインフラストラクチャを試すのが容易になりますし、彼らが自分たちのコードをすべて書き直す必要はありません。これはAIにとって非常に重要なことです。
また、私たちは過去10年間のAIインフラストラクチャとツールの開発からたくさんのことを学びました。既存のモノリシックなシステムは初期のドメインターゲット以外では拡張性や一般化性が低く、その結果、トレードオフや制限が異なる数十のツールチェーンを持つAI展開業界が大きな断片化を引き起こしています。これらの設計パターンは、使用性が低く、移植性が低く、スケーラビリティが低いため、イノベーションのペースを低下させています。
次世代のAIシステムは、製品品質であり、開発者の要求に応える必要があります。高価な書き直し、再設計、またはユーザーコードの再ベースを必要としてはいけません。ネイティブでマルチフレームワーク、マルチクラウド、マルチハードウェアである必要があります。最高のパフォーマンスと効率性を最高の使いやすさと組み合わせる必要があります。これが断片化を減少させ、次世代のハードウェア、データ、アルゴリズムのイノベーションを解き放つ唯一の方法です。
Modularは最近、General Catalystをリードとする新たな資金調達で1億ドルを調達しました。次に何を期待すべきですか?
この新しい資本は、主に私たちのチームを拡大し、AIインフラストラクチャで最も優れた人材を採用し、私たちのプラットフォームへの大きな商業需要に引き続き対応するために使用されます。Modverseという私たちのコミュニティには、13万人以上の開発者と何千もの企業がおり、すべてが私たちのインフラストラクチャを求めています。そのため、スケーリングを継続し、彼らのためにそれを開発し、提供するために一生懸命取り組むことを確認したいと思います。私たちは非常に高い基準を持っており、私たちが出荷する製品は私たちのチームとしての私たちの姿勢、そして私たちが会社としてなる姿勢の反映です。もし誰かが情熱を持っており、ソフトウェアとハードウェアの境界を愛し、AIが意味のあるかつポジティブな方法で世界に浸透するのを助けたいと思うなら、ぜひ彼らを私たちのもとに送ってください。
プログラミングの未来に対するあなたのビジョンは何ですか?
プログラミングは社会の誰もが開発し活用できるスキルであるべきです。多くの人にとって、「プログラミング」という「アイデア」は、複雑な低レベルのコードを書く開発者を思い浮かべるものかもしれませんが、そうとは限りません。技術は常に社会の生産性を高める素晴らしいツールですし、プログラミングをよりアクセスしやすく、使いやすくすることで、より多くの人々がそれを受け入れることができます。反復的なプロセスを自動化し、人々の生活をよりシンプルにすることで、人々に時間をもどすことは、非常にパワフルな方法です。
そして、Pythonにはすでに時代を超えた素晴らしい言語があります。それは世界で最も人気のある言語であり、素晴らしいコミュニティが存在しますが、限界もあります。私たちはPythonをさらにパワフルにするという大きな機会があると考えており、より多くの人々にその美しさとシンプルさを受け入れてもらうことを推進したいと思っています。先に述べたように、それは複雑さの進行的な開示を持つ製品を構築することです。高レベルの抽象化を可能にし、同時に非常に低レベルの抽象化にも対応しています。私たちはすでにAIモデルによる進行的なテキストからコードへの変換で大きな進歩を目撃していますが、これらは時間の経過とともにさらに個別化されるでしょう。しかし、この魔法のイノベーションの背後には、それを動かすためにコードを作成しデプロイする開発者がまだいます。過去に私たちはこれについて書いてきました。AIはさまざまなプログラミング言語全体で創造性と生産性を引き出し続けますが、Mojoはエコシステムのアパーチャーをさらに広げ、世界中のさらに多くの開発者にアクセシビリティ、スケーラビリティ、ハードウェアの移植性を提供すると私は信じています。
最後に、AIは私たちの生活に数えきれないほどの方法で浸透するでしょうし、どこにいても存在するでしょう。ですので、私はMojoが開発者たちを奮起させ、人類のために最も重要な問題をより速く解決することを願っています。それが価値ある未来だと思います。
素晴らしいインタビュー、さらに知りたい方はModularを訪れてください。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles