自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

編譯器大佬Chris Lattner全新編程語言「Mojo」:兼容Python核心功能,提速35000倍

開發(fā) 新聞
它可與 Python 無縫銜接,但克服了很多 Python 的缺點。Jeremy Howard 試用后表示:「Mojo 可能是幾十年來最大的編程進步?!?/div>

對于全球各地開發(fā)者來說,Chris Lattner 這個名字絕對不陌生。

圖片

他曾是許多大型技術項目的領導者,包括 LLVM 編譯器基礎結構項目、Clang C 和 C++ 編譯器、MLIR 機器學習基礎結構等編譯器技術,以及為蘋果生態(tài)系統(tǒng)提供支持的程序設計語言 Swift。此外,Chris Lattner 還為 Google Brain 和 TensorFlow 建立和管理了一系列與 AI 相關的編譯器、運行時和編程語言團隊。

十多年來,Chris Lattner 的職業(yè)履歷算是相當豐富,變動也算頻繁:

  • 2011-2017 年,任蘋果開發(fā)部高級總監(jiān)、架構師
  • 2017.1-2017.6,任特斯拉副總裁,負責自動駕駛
  • 2017.8-2020.1,任谷歌 Google Brain 高級總監(jiān)
  • 2020.1,加入芯片創(chuàng)業(yè)公司 SiFive 負責平臺工程

2022 年 1 月,Chris Lattner 正式宣布創(chuàng)業(yè),和 Tim Davis 共同建立了「Modular AI」,希望自下而上重建全球 ML 基礎設施。在這家新生的公司中,Chris Lattner 以 CEO 身份領導團隊。

其實,Chris Lattner 每一次跳槽的選擇都頗受關注。對于「Modular AI」,業(yè)界也是寄予厚望。

近日,Chris Lattner 的創(chuàng)業(yè)之路有了重要動態(tài)。這一次,他官宣的是全新的編程語言「Mojo」。

圖片

「Mojo 結合了 Python 的可用性與 C 的性能,釋放了 AI 硬件無與倫比的可編程性和 AI 模型的可擴展性」—— 它與 Python 一樣易于使用,但具有 C++ 和 Rust 的性能。此外,Mojo 提供了利用整個 Python 庫生態(tài)系統(tǒng)的能力。

Mojo 的出世,在 AI 領域迅速引起了熱議。Jeremy Howard 試用后,在一篇博客文章中表示,Mojo 可能是幾十年來最大的編程進步。

圖片

「感覺編程被顛覆了?!乖?Jeremy Howard 的記憶中,上次有這樣的感覺,還是他首次上手 Visual Basic v1.0。而在 Mojo 中編寫代碼,讓他重溫了這種「神奇」的感覺。

為什么會有 Mojo?

關于「Mojo」這項工作的背景,Chris Lattner 和 Tim Davis 在博客中進行了詳細的說明:

機器學習基礎設施已經為數十億美元的商業(yè)提供動力,并且正在迅速增長。但是,它要么由硬件團隊為特定的設備集合構建,要么是由工業(yè)研究實驗室構建,許多系統(tǒng)是不兼容技術的集合。

現有的單體系統(tǒng)很難在其最初的領域目標之外進行擴展或通用,這種情況迫使硬件制造商建立自己的技術棧。造成的結果就是,人工智能部署行業(yè)是非常分散的,工具鏈就有幾十個,各自有不同的權衡和限制。更重要的是,這些設計模式也因其可用性、可移植性和難以擴展而減緩了創(chuàng)新的步伐。

不幸的是,我們也看到,構建和部署這些應用程序的技術復雜性仍然太高。部署人工智能仍然是全棧專家的領域,而最前沿的應用只有那些自己建立 ML 技術的最大科技公司的人可以使用。

大一統(tǒng)的設想注定會失敗嗎?今天人工智能的現實世界的復雜性是否使得它不可能解決這個問題?

Chris Lattner 并不這么認為。他表示,軟件行業(yè)會經歷周期,我們以前也見過并解決過這樣的問題:

20 世紀 90 年代的軟件世界有過類似于我們今天看到的人工智能的碎片化問題。當時,C 和 C++ 已經建立起了社區(qū),但卻被分散在幾十個專有編譯器中。每一個都有供應商的擴展、粗糙的邊緣、奇怪的邊角案例和不完整的實現。當時,構建跨平臺的軟件是如此困難,以至于推動業(yè)界出現了一些工具來幫助開發(fā)者應對碎片化,使其更容易安裝、構建和配置軟件(例如 autoconf)。

「GCC」就是其中一員。憑借其對跨平臺的支持、良好的性能和穩(wěn)定性,以及免費性,GCC 在 90 年代獲得了巨大的成功。GCC 的成功推動了工具行業(yè)的整合浪潮,由此產生的碎片整理使其功能成為事實上的標準,從而帶來了一波新的創(chuàng)新。它催化了軟件(直接促成了 Linux 等開放源碼軟件社區(qū)的迅速崛起)和硬件(促成了指令集架構和新商業(yè)模式的創(chuàng)新)的革命,使前者從零散的 C/C++ 實現中解放出來,使后者不必追趕快速發(fā)展的 C/C++ 語言標準。

如今,Mojo 的誕生也承擔了這樣一份希冀。

當我們創(chuàng)辦 Modular 時,我們沒有打算建立一種新的編程語言。但是,當我們在建立我們的平臺,打算統(tǒng)一世界上的 ML/AI 基礎設施時,我們意識到,在整個堆棧中編程太復雜了。另外,我們用手寫了很多 MLIR,但并不愉快。

我們想要的是一個創(chuàng)新的、可擴展的編程模型,可以針對加速器和其他機器學習中普遍存在的異構系統(tǒng)。這意味著一種具有強大的編譯時元編程的編程語言,整合自適應編譯技術,在整個編譯流程中進行緩存,以及其他現有語言不支持的東西。

盡管加速器很重要,但最普遍的、有時被忽視的加速器之一是主機 CPU。今天,CPU 有很多類似張量核心的加速器塊和其他 AI 加速單元,但它們也是專門加速器無法處理的運算的后備力量,如數據加載、前后處理以及與國外系統(tǒng)的集成。因此,很明顯,我們不能用一種只與特定處理器一起工作的「加速器語言」來提升人工智能。應用 AI 系統(tǒng)需要解決所有這些問題,我們認為沒有理由不通過一種語言來完成。

在這種情況下,Mojo 誕生了。

Mojo:比 Python 快 35000 倍的編程語言

在編程語言領域,Python 可以說是非常受歡迎了。如今,這個領域又迎來一位新的競爭者:Mojo。

Mojo 是一門新的編程語言,其將 Python 的易用性和 C 的性能結合起來,彌合了研究和生產之間的差距。使用 Mojo,用戶可以編寫比 C 語言更快的可移植代碼,并與 Python 生態(tài)系統(tǒng)無縫互操作,其目標是成為 AI 研究和生產的理想選擇。

我們先看一個示例。下圖展示的是 Mojo 與 Python 無縫互操作:

圖片

Mojo 語言具有以下特點:

首先是可用性和可編程性,只用 Mojo 一種語言就能編寫所有東西。例如可以編寫 Python、大量低級 AI 硬件程序,而不需要 C++ 或 CUDA。

圖片

第二是性能,Mojo 解鎖了 Python 性能。利用最先進的編譯器和異構運行時,Mojo 能夠充分利用硬件的全部功能,包括多核、向量單元和加速器單元。在任務不復雜的情況下實現與 C++ 和 CUDA 相當的性能。

圖片

并行化:Mojo 利用 MLIR,使 Mojo 開發(fā)人員能夠利用向量、線程和 AI 硬件單元。

此外,根據測試,Mojo 比 Python 快 35000 倍。

圖片

Mojo 第三個特點是互操作性,可以訪問整個 Python 生態(tài)系統(tǒng),如可以訪問 Numpy、Matplotlib 以及用戶自定義代碼:

圖片

第四個特點是可擴展性。使用預處理和后處理操作就能輕松擴展模型,或者用自定義操作替換其他操作。此外,Mojo 還可以利用核融合、圖形重寫、形狀函數等。

圖片

模型的可擴展性,Mojo 可以升級模型中的現有操作。

Modular AI 表示,Mojo 仍在開發(fā)中,開發(fā)者現在可以在 Modular AI 基于 JupyterHub 的 Playground 中試用,用戶只需通讀教程便可編寫自己的 Mojo 代碼。

試用地址:https://docs.modular.com/mojo/get-started.html

責任編輯:張燕妮 來源: 機器之心
相關推薦

2022-01-24 10:10:41

編譯AI

2023-05-10 15:07:00

Mojo開發(fā)選項

2024-05-11 09:38:05

React編譯器React 19

2019-06-23 23:09:25

編程語言PythonJava

2014-07-08 10:29:12

Swift

2014-06-04 13:15:09

Swift蘋果iOS

2018-03-28 14:10:10

GoPython代碼

2023-09-08 15:05:51

Mojo編程語言

2023-07-31 07:33:04

Rust編譯器內存

2023-04-07 22:11:36

2023-09-09 06:54:02

AI編程語言Mojo

2023-08-04 14:31:43

Python核心項目

2010-01-21 09:11:38

C++編譯器

2022-04-12 08:09:22

Nodejs前端面試題

2024-06-12 08:08:08

2024-02-29 07:48:55

Python編程語言上下文管理器

2023-04-03 14:25:01

Python編譯

2023-05-15 07:20:24

2020-10-26 11:33:45

編程語言編譯器軟件

2009-11-18 13:11:29

PHP核心
點贊
收藏

51CTO技術棧公眾號