Home News Tim Davis, Co-Founder & President of Modular – Interview Series

Tim Davis, Co-Founder & President of Modular – Interview Series

0
Tim Davis, Co-Founder & President of Modular – Interview Series

Tim Davis, is the Co-Founder & President of Modular, an integrated, composable suite of tools that simplifies your AI infrastructure so your team can develop, deploy, and innovate faster. Modular is best known for developing Mojo, a recent programming language that bridges the gap between research and production by combining the most effective of Python with systems and metaprogramming.

Repeat Entrepreneur and Product Leader. Tim helped construct, found and scale large parts of Google’s AI infrastructure at Google Brain and Core Systems from APIs (TensorFlow), Compilers (XLA & MLIR) and runtimes for server (CPU/GPU/TPU) and TF Lite (Mobile/Micro/Web), Android ML & NNAPI, large model infrastructure & OSS for billions of users and devices. Loves running, constructing and scaling products to assist people, and the world.

When did you initially discover coding, and what attracted you to it?

As a child growing up in Australia, my dad brought home a Commodore 64C and gaming was what got me hooked – Boulder Dash, Maniac Mansion, Double Dragon – what a time to be alive. That computer introduced me to BASIC and hacking around with that was my first real introduction to programming. Things got more intense through High School and University where I used more traditional static languages for engineering courses, and over time I even dabbled all the best way as much as Javascript and VBA, before deciding on Python for the overwhelming majority of programming because the language of knowledge science and AI. I wrote a bunch of code in my earlier startups but as of late, in fact, I utilize Mojo and the toolchain we now have created around it.

For over 5 years you worked at Google as Senior Product Manager and Group Product Leader, where you helped to scale large parts of Google’s AI infrastructure at Google Brain. What did you learn from this experience?

Individuals are what construct world-changing technologies and products, and it’s a faithful group of individuals sure by a bigger vision that brings them to the world. Google is an incredible company, with amazing people, and I used to be fortunate to fulfill and work with most of the brightest minds in AI years ago once I moved to affix the Brain team. The best lessons I learnt were to all the time give attention to the user and progressively disclose complexity, to empower users to inform their unique stories to the world like fixing the Greater Barrier Reef or helping people like Jason the Drummer, and to draw and assemble a various mix of individuals to drive towards a standard goal. In an enormous company of very smart and talented people, this is far harder than you’ll be able to imagine. Reflecting on my time there, it’s all the time the people you worked with which might be truly memorable. I’ll all the time look back fondly and appreciate that many individuals took risks on me, and I’m enormously thankful they did, as a lot of those risks encouraged me to be a greater leader and person, to dive deep and truly understand AI systems. It truly made me realize the profound power AI has to affect the world, and this was the very reason I had the inspiration and courage to depart and co-found Modular.

Are you able to share the genesis story behind Modular?

Chris and I met at Google and shipped many influential technologies which have significantly impacted the world of AI today. Nonetheless, we felt AI was being held back by overly complex and fragmented infrastructure that we witnessed first hand deploying large workloads to billions of users. We were motivated by a desire to speed up the impact of AI on the world by lifting the industry towards production-quality AI software so we, as a worldwide society, can have a greater impact on how we live. One can’t help but wonder what number of problems AI may help solve, what number of illnesses cured, how way more productive we are able to develop into as a species, to further our existence for future generations, by increasing the penetration of this incredible technology.

Having worked together for years on large scale critical AI infrastructure – we saw the large developer pain first hand – “why can’t things just work”? For the world to adopt and discover the large transformative nature of AI, we’d like software and developer infrastructure that scales from research to production, and is very accessible. This can enable us to unlock the following way of scientific discoveries – of which AI will likely be critical – and is a grand engineering challenge. With this motivating background, we developed an intrinsic belief that we could got down to construct a brand new approach for AI infrastructure, and empower developers in every single place to make use of AI to assist make the world a greater place. We’re also very fortunate to have many individuals join us on this journey, and we now have the world’s best AI infrastructure team in consequence.

Are you able to discuss how the Mojo programming language was initially built for your personal team?

Modular’s vision is to enable AI to be utilized by anyone, anywhere. Every thing we do at Modular is concentrated on that goal, and we walk backwards from that in the best way we construct out our products and our technology. On this light, our  velocity is what matters to us firstly, and having built a lot of the present AI infrastructure for the world – we wanted to rigorously consider what would enable our team to maneuver faster. We now have lived through the two-world language problem in AI – where researchers live in Python, and production and hardware engineers live in C++ – and we had no alternative but to either barrel down that road, or rethink the approach entirely. We selected the latter. There was a transparent need to unravel this problem, but  to unravel it – we approached it with our strong belief of meeting the ecosystem where it’s today, and enabling a less complicated lift into the longer term. Our team bears the scars of software migration at large scale, and we didn’t desire a repeat of that. We also realized that there isn’t any language today, in our opinion, that may solve all of the challenges we are trying to unravel for AI and so we undertook a primary principles approach, and Mojo was born.

How does Mojo enable seamless scaling and portability across many kinds of hardware?

Chris, myself and our team at Google (many at Modular) helped bring MLIR into the world years ago – with the goal to assist the worldwide community solve real challenges by enabling AI models to be consistently represented and executed on any style of hardware. MLIR is a brand new style of open-source compiler infrastructure that has been adopted at scale, and is rapidly becoming the brand new standard for constructing compilers through LLVM. Given our team’s history in creating this infrastructure, it’s natural that we put it to use heavily at Modular and this underpins our cutting-edge approach in developing recent AI infrastructure for the world. Critically, while MLIR is now being fast adopted, Mojo is the primary language that actually takes the ability of MLIR and exposes it to developers in a novel and accessible way. This implies it scales from Python developers who’re writing applications, to Performance engineers who’re deploying high performance code, to hardware engineers who’re writing very low level system code for his or her unique hardware.

References to Mojo claim that it’s mainly Python++, with the accessibility of Python and the high performance of C. Is that this a gross oversimplification? How would you describe it?

Mojo should feel very familiar to any Python programmer, because it shares Python’s syntax. But there are a couple of vital differences that you simply’ll see as one ports an easy Python program to Mojo, including that it can just work out of the box. One in every of our core goals for Mojo is to supply a superset of Python – that’s, to make Mojo compatible with existing Python programs – and to embrace the CPython implementation for long-tail ecosystem support. Then enable you to slowly augment your code and replace non-performing parts with Mojo’s lower-level features to explicitly manage memory, add types, utilize autotuning and lots of other facets to get the performance of C or higher! We feel Mojo gives you get the most effective of each worlds and also you don’t have to put in writing, and rewrite, your algorithms in multiple languages. We appreciate Python++ is an infinite goal, and will likely be a multi-year endeavor, but we’re committed to creating it reality and enabling our legendary community of greater than 140K+ developers to assist us construct the longer term together.

In a recent keynote it was showcased that Mojo is 35,000x faster than Python, how was this speed calculated?

It’s actually 68,000x now! But let’s recognize that it’s only a single program in Mandelbrot – you’ll be able to go and skim a series of three blog posts on how we achieved this – here, here and here. In fact, we’ve been doing this a protracted time and we all know that performance games aren’t what drive language adoption (despite them being fun!) – it’s developer velocity, language usability, top quality toolchains & documentation, and a community utilizing the infrastructure to invent and construct in ways we are able to’t even imagine. We’re tool builders, and our goal is to empower the world to make use of our tools, to create amazing products and solve vital problems. If we give attention to our larger goal, it’s actually to create a language that meets you where you might be today after which lifts you easily to a greater world. Mojo allows you to have a highly performant, usable, statically typed and portable language that seamlessly integrates together with your existing Python code – providing you with the most effective of each worlds. It enables you to understand the true power of the hardware with multithreading and parallelization in ways in which raw Python today cannot – unlocking the worldwide developer community to have a single language that scales from top to bottom.

Mojo’s magic is its ability to unify programming languages with one set of tools, why Is that this so vital?

Languages all the time succeed by the ability of their ecosystems and the communities that form around them. We’ve been working with open source communities for a very long time, and we’re incredibly thoughtful towards engaging in the proper way and ensuring that we do right by the community. We’re working incredibly hard to ship our infrastructure, but need time to scale out our team – so we won’t have all of the answers immediately, but we’ll get there. Stepping back, our goal is to lift the Python ecosystem by embracing the   , and we aren’t looking for to fracture it like so many other projects. Interoperability just makes it easier for the community to try our infrastructure, without having to rewrite all their code, and that matters quite a bit for AI.

Also, we now have learnt a lot from the event of AI infrastructure and tools during the last ten years. The present monolithic systems should not easily extensible or generalizable outside of their initial domain goal and the consequence is a hugely fragmented AI deployment industry with dozens of toolchains that carry different tradeoffs and limitations. These design patterns have slowed the pace of innovation by being less usable, less portable, and harder to scale.

The subsequent-generation AI system must be production-quality and meet developers where they’re. It must not require an expensive rewrite, re-architecting, or re-basing of user code. It should be natively multi-framework, multi-cloud, and multi-hardware. It needs to mix the most effective performance and efficiency with the most effective usability. That is the one strategy to reduce fragmentation and unlock the following generation of hardware, data, and algorithmic innovations.

Modular recently announced raising $100 million in recent funding, led by General Catalyst and filled by existing investors GV (Google Ventures), SV Angel, Greylock, and Factory. What should we expect next?

This recent capital will primarily be used to grow our team, hiring the most effective people in AI infrastructure, and continuing to fulfill the large business demand that we’re seeing for our platform. Modverse, our community of well over 130K+ developers and 10K’s of enterprises, are all looking for our infrastructure – so we wish to make certain we keep scaling and dealing hard to develop it for them, and deliver it to them. We hold ourselves to an incredibly high standard, and the products we ship are a mirrored image of who we’re as a team, and who we develop into as an organization. In case you know anyone who’s driven, who loves the boundary of software and hardware, and who desires to help see AI penetrate the world in a meaningful and positive way – send them our way.

What’s your vision for the longer term of programming?

Programming needs to be a skill that everybody in society can develop and utilize. For a lot of, the “idea” of programming immediately conjures an image of a developer writing out complex low level code that requires heavy math and logic – however it doesn’t need to be perceived that way. Technology has all the time been an awesome productivity enabler for society, and by making programming more accessible and usable, we are able to empower more people to embrace it. Empowering people to automate repetitive processes and make their lives simpler is a robust strategy to give people more time back.

And in Python, we have already got an exquisite language that has stood the test of time – it is the world’s hottest language, with an incredible community – however it also has limitations. I consider we now have an enormous opportunity to make it much more powerful, and to encourage more of the world to embrace its beauty and ease. As I said earlier, it’s about constructing products which have progressive disclosure of complexity – enabling high level abstractions, but scaling to incredibly low level ones as well. We’re already witnessing a big leap with AI models enabling progressive text-to-code translations – and these will only develop into more personalized over time – but behind this magical innovation remains to be a developer authoring and deploying code to power it. We’ve written about this previously – AI will proceed to unlock creativity and productivity across many programming languages, but I also consider Mojo will open the ecosystem aperture even further, empowering more accessibility, scalability and hardware portability to many more developers the world over.

To complete, AI will penetrate our lives in untold ways, and it can exist in every single place – so I hope Mojo catalyzes developers to go and solve a very powerful problems for humanity faster – regardless of where they live in our world. I feel that’s a future price fighting for.

LEAVE A REPLY

Please enter your comment!
Please enter your name here