Trí tuệ nhân tạo
Tim Davis, Đồng sáng lập & Chủ tịch của Modular – Loạt phỏng vấn

Tim Davis, là Đồng sáng lập & Chủ tịch của Modular, một bộ công cụ tích hợp, có thể состав được, giúp đơn giản hóa cơ sở hạ tầng AI của bạn để nhóm của bạn có thể phát triển, triển khai và đổi mới nhanh hơn. Modular nổi tiếng với việc phát triển Mojo, một ngôn ngữ lập trình mới giúp bắc cầu khoảng cách giữa nghiên cứu và sản xuất bằng cách kết hợp những điểm mạnh của Python với hệ thống và siêu lập trình.
Doanh nhân lặp lại và Lãnh đạo sản phẩm. Tim đã giúp xây dựng, thành lập và mở rộng các phần lớn của cơ sở hạ tầng AI của Google tại Google Brain và Core Systems từ APIs (TensorFlow), Compilers (XLA & MLIR) và runtime cho máy chủ (CPU/GPU/TPU) và TF Lite (Di động/Micro/Web), Android ML & NNAPI, cơ sở hạ tầng mô hình lớn & OSS cho hàng tỷ người dùng và thiết bị. Yêu thích chạy, xây dựng và mở rộng sản phẩm để giúp mọi người, và thế giới.
Khi nào bạn lần đầu tiên khám phá ra mã hóa, và điều gì thu hút bạn đến với nó?
Khi còn là một đứa trẻ lớn lên ở Úc, bố tôi mang về nhà một chiếc Commodore 64C và trò chơi là thứ đã thu hút tôi – Boulder Dash, Maniac Mansion, Double Dragon – thật là một thời kỳ tuyệt vời. Chiếc máy tính đó đã giới thiệu tôi đến với BASIC và việc hack xung quanh với nó là sự giới thiệu thực sự đầu tiên của tôi về lập trình. Những thứ trở nên nghiêm túc hơn qua trường trung học và đại học nơi tôi sử dụng các ngôn ngữ tĩnh truyền thống cho các khóa học kỹ thuật, và theo thời gian tôi thậm chí còn dabble tất cả các cách lên đến Javascript và VBA, trước khi định cư trên Python như ngôn ngữ của khoa học dữ liệu và AI. Tôi đã viết một loạt mã trong các công ty khởi nghiệp trước của mình nhưng những ngày này, tất nhiên, tôi sử dụng Mojo và chuỗi công cụ mà chúng tôi đã tạo ra xung quanh nó.
Trong hơn 5 năm bạn làm việc tại Google với tư cách là Quản lý sản phẩm cao cấp và Lãnh đạo sản phẩm nhóm, nơi bạn giúp mở rộng các phần lớn của cơ sở hạ tầng AI của Google tại Google Brain. Bạn đã học được gì từ kinh nghiệm này?
Con người là những người xây dựng công nghệ và sản phẩm thay đổi thế giới, và đó là một nhóm người tận tâm bị ràng buộc bởi một tầm nhìn lớn hơn giúp họ đến với thế giới. Google là một công ty tuyệt vời, với những người tuyệt vời, và tôi may mắn được gặp và làm việc với nhiều trong số những trí tuệ sáng nhất trong AI nhiều năm trước khi tôi chuyển đến tham gia đội Brain. Những bài học lớn nhất tôi đã học được là luôn tập trung vào người dùng và tiến bộ tiết lộ sự phức tạp, để trao quyền cho người dùng kể những câu chuyện độc đáo của họ với thế giới như sửa chữa Rạn san hô Barrier lớn hơn hoặc giúp những người như Jason the Drummer, và để thu hút và tập hợp một hỗn hợp đa dạng của người để thúc đẩy hướng tới một mục tiêu chung. Trong một công ty khổng lồ của rất nhiều người thông minh và tài năng, điều này khó hơn bạn có thể tưởng tượng. Nhìn lại thời gian của tôi ở đó, đó luôn là những người bạn đã làm việc với những người thực sự đáng nhớ. Tôi sẽ luôn nhìn lại một cách yêu thương và đánh giá cao rằng nhiều người đã mạo hiểm với tôi, và tôi vô cùng biết ơn họ đã làm, vì nhiều rủi ro đó đã khuyến khích tôi trở thành một nhà lãnh đạo và người tốt hơn, để đi sâu và thực sự hiểu hệ thống AI. Điều này thực sự giúp tôi nhận ra sức mạnh sâu sắc của AI để tác động đến thế giới, và đây là lý do chính tôi đã có cảm hứng và can đảm để rời đi và đồng sáng lập Modular.
Bạn có thể chia sẻ câu chuyện về nguồn gốc của Modular?
Chris và tôi gặp nhau tại Google và vận chuyển nhiều công nghệ có ảnh hưởng đáng kể đến thế giới AI ngày nay. Tuy nhiên, chúng tôi cảm thấy AI đang bị kìm hãm bởi cơ sở hạ tầng quá phức tạp và phân mảnh mà chúng tôi chứng kiến trực tiếp khi triển khai các khối lượng công việc lớn đến hàng tỷ người dùng. Chúng tôi được thúc đẩy bởi mong muốn tăng tốc tác động của AI đối với thế giới bằng cách nâng cao ngành công nghiệp lên phần mềm AI chất lượng sản xuất để chúng tôi, như một xã hội toàn cầu, có thể có tác động lớn hơn đến cách chúng tôi sống. Một người không thể không tự hỏi có bao nhiêu vấn đề AI có thể giúp giải quyết, bao nhiêu bệnh tật được chữa khỏi, bao nhiêu chúng tôi có thể trở nên năng suất hơn như một loài, để mở rộng sự tồn tại của chúng tôi cho các thế hệ tương lai, bằng cách tăng cường thâm nhập của công nghệ tuyệt vời này.
Sau khi làm việc cùng nhau trong nhiều năm về cơ sở hạ tầng AI quy mô lớn – chúng tôi đã chứng kiến cơn đau của nhà phát triển đầu tiên – “tại sao mọi thứ không thể hoạt động?” Để thế giới áp dụng và khám phá bản chất chuyển đổi của AI, chúng tôi cần phần mềm và cơ sở hạ tầng nhà phát triển có thể mở rộng từ nghiên cứu đến sản xuất, và có thể tiếp cận được. Điều này sẽ cho phép chúng tôi mở khóa cách tiếp cận khoa học mới – trong đó AI sẽ là yếu tố quan trọng – và là một thách thức kỹ thuật lớn. Với bối cảnh động viên này, chúng tôi đã phát triển một niềm tin nội tại rằng chúng tôi có thể bắt đầu xây dựng một cách tiếp cận mới cho cơ sở hạ tầng AI, và trao quyền cho các nhà phát triển trên mọi nơi sử dụng AI để giúp làm cho thế giới trở nên tốt đẹp hơn. Chúng tôi cũng rất may mắn khi có nhiều người tham gia cùng chúng tôi trên hành trình này, và chúng tôi có đội ngũ cơ sở hạ tầng AI tốt nhất thế giới như một kết quả.
Bạn có thể thảo luận về cách ngôn ngữ lập trình Mojo được xây dựng ban đầu cho đội của bạn?
Tầm nhìn của Modular là để cho phép AI được sử dụng bởi bất kỳ ai, ở bất kỳ nơi nào. Mọi thứ chúng tôi làm tại Modular đều tập trung vào mục tiêu đó, và chúng tôi đi ngược lại từ đó trong cách chúng tôi xây dựng sản phẩm và công nghệ của mình. Trong ánh sáng này, đội phát triển của chúng tôi là điều quan trọng nhất đối với chúng tôi trước tiên, và sau khi xây dựng rất nhiều cơ sở hạ tầng AI hiện có cho thế giới – chúng tôi cần phải xem xét kỹ lưỡng những gì sẽ cho phép đội của chúng tôi di chuyển nhanh hơn. Chúng tôi đã sống qua vấn đề ngôn ngữ hai thế giới trong AI – nơi các nhà nghiên cứu sống trong Python, và các kỹ sư sản xuất và phần cứng sống trong C++ – và chúng tôi không có lựa chọn nào khác ngoài việc hoặc đi theo con đường đó, hoặc nghĩ lại cách tiếp cận hoàn toàn. Chúng tôi đã chọn cái sau. Có một nhu cầu rõ ràng để giải quyết vấn đề này, nhưng nhiều cách khác nhau để giải quyết nó – chúng tôi đã tiếp cận nó với niềm tin mạnh mẽ của chúng tôi về việc gặp gỡ hệ sinh thái nơi nó đang ở ngày nay, và cho phép một sự nâng cấp đơn giản vào tương lai. Đội của chúng tôi mang những vết sẹo của việc di chuyển phần mềm ở quy mô lớn, và chúng tôi không muốn lặp lại điều đó. Chúng tôi cũng nhận ra rằng không có ngôn ngữ nào ngày nay, theo quan điểm của chúng tôi, có thể giải quyết tất cả các thách thức chúng tôi đang cố gắng giải quyết cho AI và vì vậy chúng tôi đã thực hiện một cách tiếp cận từ nguyên tắc đầu tiên, và Mojo đã được sinh ra.
Làm thế nào Mojo cho phép mở rộng và di chuyển liền mạch trên nhiều loại phần cứng?
Chris, tôi và đội của chúng tôi tại Google (nhiều tại Modular) đã giúp đưa MLIR vào thế giới nhiều năm trước – với mục tiêu giúp cộng đồng toàn cầu giải quyết các thách thức thực sự bằng cách cho phép các mô hình AI được đại diện và thực thi nhất quán trên bất kỳ loại phần cứng nào. MLIR là một loại cơ sở hạ tầng biên dịch mã nguồn mở mới đã được áp dụng ở quy mô lớn, và đang nhanh chóng trở thành tiêu chuẩn mới cho việc xây dựng biên dịch thông qua LLVM. Vì đội của chúng tôi có lịch sử tạo ra cơ sở hạ tầng này, điều đó tự nhiên khi chúng tôi sử dụng nó mạnh mẽ tại Modular và điều này là nền tảng cho cách tiếp cận của chúng tôi trong việc phát triển cơ sở hạ tầng AI mới cho thế giới. Đặc biệt, trong khi MLIR hiện đang được áp dụng nhanh chóng, Mojo là ngôn ngữ đầu tiên thực sự tận dụng sức mạnh của MLIR và暴露 nó cho các nhà phát triển theo một cách độc đáo và có thể tiếp cận. Điều này có nghĩa là nó mở rộng từ các nhà phát triển Python đang viết ứng dụng, đến các kỹ sư hiệu suất đang triển khai mã hiệu suất cao, đến các kỹ sư phần cứng đang viết mã hệ thống cấp thấp cho phần cứng độc đáo của họ.
Tham chiếu đến Mojo cho rằng nó cơ bản là Python++, với khả năng tiếp cận của Python và hiệu suất cao của C. Đây có phải là một sự đơn giản hóa thô?
Mojo nên cảm thấy rất quen thuộc với bất kỳ lập trình viên Python nào, vì nó chia sẻ cú pháp của Python. Nhưng có một số sự khác biệt quan trọng mà bạn sẽ thấy khi bạn chuyển một chương trình Python đơn giản sang Mojo, bao gồm việc nó sẽ hoạt động ngay lập tức. Một trong những mục tiêu cốt lõi của chúng tôi cho Mojo là cung cấp một tập hợp con của Python – tức là, làm cho Mojo tương thích với các chương trình Python hiện có – và chấp nhận việc thực hiện CPython cho hỗ trợ hệ sinh thái dài. Sau đó, cho phép bạn dần dần tăng cường mã của mình và thay thế các phần không hoạt động bằng các tính năng cấp thấp của Mojo để quản lý bộ nhớ một cách rõ ràng, thêm loại, sử dụng tự động điều chỉnh và nhiều khía cạnh khác để có được hiệu suất của C hoặc tốt hơn! Chúng tôi cảm thấy Mojo mang lại cho bạn sự tốt nhất của cả hai thế giới và bạn không cần phải viết và viết lại các thuật toán của mình trong nhiều ngôn ngữ. Chúng tôi đánh giá cao Python++ là một mục tiêu khổng lồ, và sẽ là một nỗ lực nhiều năm, nhưng chúng tôi cam kết làm cho nó trở thành hiện thực và cho phép cộng đồng huyền thoại của chúng tôi với hơn 140K+ nhà phát triển giúp chúng tôi xây dựng tương lai cùng nhau.
Trong một bài phát biểu gần đây, nó đã được展示 rằng Mojo là 35.000 lần nhanh hơn Python, làm thế nào để tính toán tốc độ này?
Thực tế là 68.000 lần bây giờ! Nhưng hãy công nhận rằng đó chỉ là một chương trình trong Mandelbrot – bạn có thể đi và đọc một loạt ba bài đăng trên blog về cách chúng tôi đạt được điều này – đây, đây và đây. Tất nhiên, chúng tôi đã làm điều này trong một thời gian dài và chúng tôi biết rằng các trò chơi hiệu suất không phải là những gì thúc đẩy việc áp dụng ngôn ngữ (mặc dù chúng rất thú vị!) – đó là tốc độ của nhà phát triển, khả năng sử dụng ngôn ngữ, chuỗi công cụ chất lượng cao và tài liệu, và một cộng đồng sử dụng cơ sở hạ tầng để sáng tạo và xây dựng theo những cách chúng tôi không thể tưởng tượng. Chúng tôi là những người xây dựng công cụ, và mục tiêu của chúng tôi là trao quyền cho thế giới sử dụng công cụ của chúng tôi, để tạo ra các sản phẩm tuyệt vời và giải quyết các vấn đề quan trọng. Nếu chúng tôi tập trung vào mục tiêu lớn hơn của mình, nó thực sự là tạo ra một ngôn ngữ đáp ứng bạn ở nơi bạn đang ở ngày nay và sau đó nâng bạn lên một thế giới tốt hơn. Mojo cho phép bạn có một ngôn ngữ có hiệu suất cao, có thể sử dụng, có kiểu tĩnh và có thể di chuyển dễ dàng, tích hợp liền mạch với mã Python hiện có của bạn – mang lại cho bạn sự tốt nhất của cả hai thế giới. Nó cho phép bạn nhận ra sức mạnh thực sự của phần cứng với đa luồng và song song hóa theo những cách mà Python thô không thể – mở khóa cộng đồng nhà phát triển toàn cầu để có một ngôn ngữ duy nhất có thể mở rộng từ trên xuống dưới.
Phép thuật của Mojo là khả năng thống nhất các ngôn ngữ lập trình với một tập hợp các công cụ, tại sao điều này lại quan trọng?
Ngôn ngữ luôn thành công bởi sức mạnh của hệ sinh thái và cộng đồng được hình thành xung quanh chúng. Chúng tôi đã làm việc với các cộng đồng mã nguồn mở trong một thời gian dài, và chúng tôi vô cùng cẩn thận trong việc tham gia đúng cách và đảm bảo rằng chúng tôi làm đúng với cộng đồng. Chúng tôi đang làm việc vô cùng chăm chỉ để vận chuyển cơ sở hạ tầng của chúng tôi, nhưng cần thời gian để mở rộng đội của chúng tôi – vì vậy chúng tôi sẽ không có tất cả các câu trả lời ngay lập tức, nhưng chúng tôi sẽ đến đó. Bước lại, mục tiêu của chúng tôi là nâng cao hệ sinh thái Python bằng cách chấp nhận toàn bộ hệ sinh thái hiện có, và chúng tôi không tìm cách làm cho nó bị phân mảnh như nhiều dự án khác. Tính tương tác chỉ làm cho nó dễ dàng hơn cho cộng đồng để thử cơ sở hạ tầng của chúng tôi, mà không cần phải viết lại tất cả mã của họ, và điều đó rất quan trọng đối với AI.
Ngoài ra, chúng tôi đã học được rất nhiều từ việc phát triển cơ sở hạ tầng và công cụ AI trong thập kỷ qua. Các hệ thống độc lập hiện có không dễ dàng mở rộng hoặc tổng quát hóa ngoài mục tiêu ban đầu và kết quả là một ngành công nghiệp triển khai AI phân mảnh khổng lồ với hàng chục công cụ mang theo các giao dịch và hạn chế khác nhau. Các mẫu thiết kế này đã làm chậm tốc độ đổi mới bằng cách ít có thể sử dụng, ít có thể di chuyển và khó mở rộng hơn.
Hệ thống AI thế hệ tiếp theo cần phải có chất lượng sản xuất và đáp ứng nhà phát triển ở nơi họ đang ở. Nó không nên yêu cầu một bản viết lại tốn kém, tái kiến trúc hoặc tái cơ sở của mã người dùng. Nó phải là bản địa đa khuôn khổ, đa đám mây và đa phần cứng. Nó cần phải kết hợp hiệu suất và hiệu quả tốt nhất với khả năng sử dụng tốt nhất. Đây là cách duy nhất để giảm phân mảnh và mở khóa thế hệ tiếp theo của phần cứng, dữ liệu và đổi mới thuật toán.
Modular gần đây công bố huy động 100 triệu đô la trong vòng tài trợ mới, do General Catalyst dẫn đầu và được các nhà đầu tư hiện có như GV (Google Ventures), SV Angel, Greylock và Factory tham gia. Chúng ta nên mong đợi điều gì tiếp theo?
Vốn mới này sẽ được sử dụng chủ yếu để mở rộng đội của chúng tôi, tuyển dụng những người giỏi nhất trong cơ sở hạ tầng AI, và tiếp tục đáp ứng nhu cầu thương mại khổng lồ mà chúng tôi đang thấy cho nền tảng của mình. Modverse, cộng đồng của chúng tôi với hơn 130K+ nhà phát triển và 10K doanh nghiệp, đều đang tìm kiếm cơ sở hạ tầng của chúng tôi – vì vậy chúng tôi muốn đảm bảo rằng chúng tôi tiếp tục mở rộng và làm việc chăm chỉ để phát triển nó cho họ, và giao nó cho họ. Chúng tôi tự đặt mình vào một tiêu chuẩn vô cùng cao, và các sản phẩm chúng tôi vận chuyển là sự phản ánh của ai chúng tôi là một đội, và ai chúng tôi trở thành một công ty. Nếu bạn biết ai đó đang được thúc đẩy, những người yêu thích ranh giới của phần mềm và phần cứng, và những người muốn giúp thấy AI thâm nhập thế giới theo một cách có ý nghĩa và tích cực – hãy gửi họ đến với chúng tôi.
Ở bạn, tương lai của lập trình sẽ như thế nào?
Lập trình nên là một kỹ năng mà mọi người trong xã hội có thể phát triển và sử dụng. Đối với nhiều người, “ý tưởng” của lập trình ngay lập tức gợi lên một hình ảnh của một nhà phát triển viết mã cấp thấp phức tạp đòi hỏi toán học và logic nặng – nhưng nó không cần phải được nhận thức như vậy. Công nghệ luôn là một công cụ tăng cường năng suất tuyệt vời cho xã hội, và bằng cách làm cho lập trình trở nên dễ tiếp cận và có thể sử dụng hơn, chúng tôi có thể trao quyền cho nhiều người hơn để chấp nhận nó. Trao quyền cho mọi người tự động hóa các quy trình lặp đi lặp lại và làm cho cuộc sống của họ trở nên đơn giản hơn là một cách mạnh mẽ để đưa thời gian trở lại cho mọi người.
Và trong Python, chúng tôi đã có một ngôn ngữ tuyệt vời đã đứng trước thử thách của thời gian – nó là ngôn ngữ phổ biến nhất thế giới, với một cộng đồng tuyệt vời – nhưng nó cũng có những hạn chế. Tôi tin rằng chúng tôi có một cơ hội khổng lồ để làm cho nó trở nên mạnh mẽ hơn, và để khuyến khích nhiều người hơn trên thế giới chấp nhận sự đơn giản và vẻ đẹp của nó. Như tôi đã nói trước đó, đó là về việc xây dựng các sản phẩm có sự tiết lộ dần dần của sự phức tạp – cho phép các trừu tượng cấp cao, nhưng mở rộng đến các cấp thấp vô cùng – chúng tôi đang chứng kiến một bước nhảy vĩ đại với các mô hình AI cho phép chuyển đổi mã tiến bộ – và những điều này sẽ chỉ trở nên được cá nhân hóa hơn theo thời gian – nhưng đằng sau sự đổi mới ma thuật này vẫn là một nhà phát triển đang viết và triển khai mã để cung cấp năng lượng cho nó. Chúng tôi đã viết về điều này trong quá khứ – AI sẽ tiếp tục mở khóa sáng tạo và năng suất trên nhiều ngôn ngữ lập trình, nhưng tôi cũng tin rằng Mojo sẽ mở rộng khẩu độ hệ sinh thái thậm chí còn rộng hơn, trao quyền cho nhiều nhà phát triển hơn trên thế giới về khả năng tiếp cận, khả năng mở rộng và khả năng di chuyển phần cứng.
Để kết thúc, AI sẽ thâm nhập vào cuộc sống của chúng tôi theo những cách không thể kể, và nó sẽ tồn tại ở mọi nơi – vì vậy tôi hy vọng Mojo sẽ kích hoạt các nhà phát triển để đi và giải quyết các vấn đề quan trọng nhất cho nhân loại nhanh hơn – không quan trọng họ sống ở đâu trên thế giới của chúng tôi. Tôi nghĩ rằng đó là một tương lai đáng chiến đấu.
Cảm ơn vì cuộc phỏng vấn tuyệt vời, những người đọc muốn tìm hiểu thêm nên truy cập Modular.
