MoJo:比Python快35000倍的全新编程语言!

news2024/11/19 23:25:44

大家注意:因为微信最近又改了推送机制,经常有小伙伴说错过了之前被删的文章,比如前阵子冒着风险写的爬虫,再比如一些限时福利,错过了就是错过了。

所以建议大家加个星标,就能第一时间收到推送。👇

0a0d30ddebc2db215a94c5cafe4f693f.jpeg


大家好,我是爱搞事情的了不起!

Chris Lattner ,这个神一样的男人,他又干了件惊天动地的大事!

他官宣发布全新编程语言——Mojo!

03bf41fbd0b4f54b0faf91779180ed6f.png

大神何许人也

对于全球各地开发者来说,Chris Lattner 是一个大家都仰望的男人!

他曾是许多大型技术项目的领导者,包括 LLVM 编译器基础结构项目、Clang C 和 C++ 编译器、MLIR 机器学习基础结构等编译器技术,以及为苹果生态系统提供支持的程序设计语言 Swift。

他的履历可谓相当精彩:

  • 2011-2017 年,任苹果开发部高级总监、架构师

  • 2017.1-2017.6,任特斯拉副总裁,负责自动驾驶

  • 2017.8-2020.1,任谷歌 Google Brain 高级总监

  • 2020.1,加入芯片创业公司 SiFive 负责平台工程

在去年,他终于下定决心自己创业,和 Tim Davis 共同建立了「Modular AI」,希望自下而上重建全球 ML 基础设施。

Mojo 就是他们公司发布的新编程语言。

Mojo 诞生记

Mojo 的出世,在 AI 领域迅速引起了热议。Jeremy Howard 试用后,在一篇博客文章中表示,Mojo 可能是几十年来最大的编程进步。

3aef02c79cc371919213bfb515dd44de.png

为什么创造 Mojo?

我们来看看 Mojo 父亲 Chris Lattner 和 Tim Davis 的回答:

当我们创办 Modular 时,我们没有打算建立一种新的编程语言。但是,当我们在建立我们的平台,打算统一世界上的 ML/AI 基础设施时,我们意识到,在整个堆栈中编程太复杂了。另外,我们用手写了很多 MLIR,但并不愉快。 

我们想要的是一个创新的、可扩展的编程模型,可以针对加速器和其他机器学习中普遍存在的异构系统。这意味着一种具有强大的编译时元编程的编程语言,整合自适应编译技术,在整个编译流程中进行缓存,以及其他现有语言不支持的东西。 

尽管加速器很重要,但最普遍的、有时被忽视的加速器之一是主机 CPU。今天,CPU 有很多类似张量核心的加速器块和其他 AI 加速单元,但它们也是专门加速器无法处理的运算的后备力量,如数据加载、前后处理以及与国外系统的集成。因此,很明显,我们不能用一种只与特定处理器一起工作的「加速器语言」来提升人工智能。应用 AI 系统需要解决所有这些问题,我们认为没有理由不通过一种语言来完成。

在这种情况下,Mojo 诞生了。

Mojo 和 Python

Mojo 将 Python 的易用性与 C 的性能相结合,释放了 AI 硬件强大的可编程性和 AI 模型的可扩展性。使用 Mojo 可以编写比 C 更快、可移植的代码,并与 Python 生态系统无缝交互。最重要的是,Mojo 具备了使用 Python 库整个生态系统的能力。

Mojo 能够对大量低级 AI 硬件进行编程,无需 C++ 或 CUDA。

7cf1f2f97ed880b908af185a7a191faa.gif

根据官网测试结果,Mojo 比 Python 快 35000 倍。

7ba7cbdbead0e854df141a61fdcbca2e.png

此外,Mojo 还可以访问 Numpy 和 Matplotlib 等任意库以及所有用户自定义代码。

可以通过预处理和后处理操作轻松扩展模型,或将操作替换为自定义操作。并且能够利用内核融合、图形重写、形状函数等。

总结

Python 的易用性和广泛应用性是我们所熟知的,但是其糟糕的性能也是我们长期诟病的。

而 Mojo 的出现很大程度上是为了弥补 Python 的性能瓶颈。

随着人工智能技术的发展,相信 Mojo 应该很快会风靡起来。

Mojo 仍在开发中,开发者现在可以在 Modular AI 基于 JupyterHub 的 Playground 中试用,用户只需通读教程便可编写自己的 Mojo 代码。

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

参考链接:

https://www.modular.com/blog/the-future-of-ai-depends-on-modularity

https://www.modular.com/mojo

https://www.fast.ai/posts/2023-05-03-mojo-launch.html

交流群

时隔2个月,摸鱼学习交流群再次限时开放了。

7cc95a7a62374c8f5f509afc90ccf52d.png

Python技术交流群(技术交流、摸鱼、白嫖课程为主)又不定时开放了,感兴趣的朋友,可以在下方公号内回复:666,即可进入,一起 100 天计划!

老规矩,酱友们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!

74d32d5104010fd089574aebb2e13c9c.gif

神秘礼包获取方式

识别下方公众号,回复:1024

2af6ec2069e0e2dcdc8fe95eaae2c75b.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/542922.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

炼丹师,这是你的梦中情炉吗?

一, 炼丹之痛 无论是学术研究还是工业落地,pytorch几乎都是目前炼丹的首选框架。 pytorch的胜出不仅在于其简洁一致的api设计,更在于其生态中丰富和强大的模型库。 但是我们会发现不同的pytorch模型库提供的训练和验证代码非常不一样。 torchvision官方…

社区供稿 | 中文 LangChain 项目的实现开源工作

Chinese-LangChain 是 yanqiangmiffy 同学的开源项目https://hf.co/spaces/ChallengeHub/Chinese-LangChainhttps://github.com/yanqiangmiffy/Chinese-LangChain 中文 langchain 项目,基于 ChatGLM-6b langchain 实现本地化知识库检索与智能答案生成。 LangChain …

YOLOv5+姿态估计HRnet与SimDR检测视频中的人体关键点

一、前言 由于工程项目中需要对视频中的person进行关键点检测,我测试各个算法后,并没有采用比较应用化成熟的Openpose,决定采用检测精度更高的HRnet系列。但是由于官方给的算法只能测试数据集,需要自己根据算法模型编写实例化代码…

[网络安全]XSS之Cookie外带攻击姿势及例题详析

[网络安全]XSS之Cookie外带攻击姿势及例题详析 概念姿势及Payload启动HTTP协议 method1启动HTTP协议 method2 例题详析Payload1Payload2window.open 总结 本文仅分享XSS攻击知识,不承担任何法律责任。 本文涉及的软件等请读者自行安装,本文不再赘述。 概…

Node.js 学习系列(五)—— 文件系统

Node.js 提供一组类似 UNIX(POSIX) 标准的文件操作API。 Node 导入文件系统模块 (fs) 语法如下所示: var fs require("fs")异步和同步 Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本。 读取文…

异常体系与项目实践

程序式阴影:为什么不报错? 一、简介 在程序开发的过程中,异常处理从来都是一个复杂的维度,无论是新手还是经验老到的选手,在编码时都会面对各种异常情况; 程序中的异常可以反映系统的缺陷和待优化的点&am…

【STM32】基础知识 第十四课 看门狗 IWDG 深入理解与应用

【STM32】基础知识 第十四课 看门狗 IWDG 深入理解与应用 概述什么是独立看门狗 (IWDG)独立看门狗工作原理键寄存器状态寄存器 (IWDG_SR)寄存器配置操作步骤 案例总结 概述 STM32 系列单片机具有强大的内置功能, 其中之一就是独立看门口 (IWDG). 看门狗定时器是一种重要的硬件…

webpack Plugin Loader

本文作者为 360 奇舞团前端开发工程师 webpack是Javascript工具链的关键部分。webpack是个用于现代JavaScript应用程序的静态模块打包工具。它不仅可以支持ESM和CommonJS模块化编程,而且还可以支持或扩展支持许多不同的静态资源,例如:Files,I…

我将开始更新 强化学习

你好,我是zhenguo(郭震) 很久没有更新文章,从现在开始我将逐步恢复更新。在接下来的日子,我将系统更新强化学习文章,在期间,也会插播一些读博做科研的一些日常总结。如果你感兴趣,欢…

【观察】华为:持续创新,场景聚焦,推动数据中心实现可持续发展

毫无疑问,在数字经济时代,数据被纳入“新型生产要素”,而数据中心作为承载数据价值的关键,不仅是国民经济发展的重要基础设施,更成为了科技创新和技术应用的实体。也正因此,过去十几年数据中心产业实现了快…

最新开源!更擅长推理的LLaMA大模型,支持中文

©PaperWeekly 原创 作者 | 李忠利 研究方向 | 自然语言处理 跟大家介绍一下自己最近训练的 LLaMA 模型——BiLLa: A Bilingual LLaMA with Enhanced Reasoning Ability. Github 地址: https://github.com/Neutralzz/BiLLa HuggingFace 模型: ht…

【Python】数据分析与可视化实践:收支日统计数据可视化的实现

Python数据分析与可视化实践:收支日统计数据可视化的实现 Author:萌狼蓝天 Date:2023-5-7 数据读入与基本处理 上图是原始数据的一部分,存放于excel中,首先使用pd读入数据。读入数据后,删除不是收入&#x…

chatgpt赋能Python-python3_8_3怎么用

Python 3.8.3:简介与使用 Python是一种高级编程语言,拥有许多库和框架,是Web开发、数据分析、机器学习、人工智能等领域的首选语言之一。而Python 3.8.3是Python的最新版本,在新功能、稳定性、安全性等方面都有很大提升。 Pytho…

Midjourney 创建私人画图机器人,共享账号如何设置独立绘画服务器

本教程收集于:AIGC从入门到精通教程 Midjourney 创建私人画图机器人,共享账号如何设置独立绘画服务器 你是不是遇到以下问题: 1.Midjourney会员怎么自建绘图服务器,不受其他人的打扰? 2.Midjourney会员共享账号如何自建服务器,供其他人使用? 3.在官方服务器作图,频…

gRPC-go参数功能介绍总结目录(专栏)

本篇文章是gRPC-go框架的参数功能介绍总结 本篇文章的目的: 查看快速方便查询gRPC-go都有哪些参数可用!可以快速的查询到相关案例!gRPC-go版本是v1.30.0 可以从下面的地址下载gRPC-go版本 链接: https://pan.baidu.com/s/1za02qnUII78n-XhlrLf7RA 密码: 3tok 1、grpc-go客…

深入浅出 OkHttp 源码解析及应用实践

作者:vivo 互联网服务器团队- Tie Qinrui OkHttp 在 Java 和 Android 世界中被广泛使用,深入学习源代码有助于掌握软件特性和提高编程水平。 本文首先从源代码入手简要分析了一个请求发起过程中的核心代码,接着通过流程图和架构图概括地介绍…

chatgpt赋能Python-python3_7_6怎么用

Python 3.7.6怎么用 – 简单易上手的编程语言 Python是一种简单易用的编程语言,已经成为了计算机科学领域中最受欢迎的语言之一。Python内置了许多库和工具,可以让用户轻松地完成各种任务。 作为Python的最新版本,Python 3.7.6带来了许多令…

Java Web项目中无效数据怎样处理?

最近在做一个java web项目(自己随便想的),遇到一个这个的需求,就是从后台数据库根据用户id数据查询用户信息给前端用作个人主页展示吧!,但是后台数据库中用户信息中是有密码字段(虽然进行了加密处理)的,对于这个密码数…

一个玩游戏的失足青年,转行做编程到教育的挣扎过程(3/4)

有一个人,从小的心愿是当一名飞行员,终于有一天他当上了飞行员。 但是,他第一次飞行时,飞机就出事了。 好在他能够跳伞。但是,降落却是坏的,打不开...... 突然,他看见了在正下方的地上&#xff…

声音生成——将Autoencoder修改成Variant Autoencoder在mnist训练

文章目录 概述VariantAutoencoder.py文件实现关闭eager execution修改bottlenectk组件修改loss损失函数VariantAutoencoder.py实现的全部代码 train.py文件实现load_mnist模块train模块完整代码执行效果 总结Analysis代码 概述 之前的一篇文章中,介绍了如何实现aut…