首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

比C语言快20%,Python版250倍?!Mojo首个大模型开放下载

大家好,欢迎来到 Crossin的编程教室 !

专为AI而来的新语言Mojo,推理LLaMA2性能比Python提升250倍

比C语言也要快上20%

上上周才开放下载,Mojo这么快就自证实力了。

要知道,之前官方号称Mojo可以比Python快6.8万倍。

而且作者表示,其实还有进一步提升的空间。

这也展示了通过Mojo进行硬件优化的潜力。

OpenAI创始成员Karpathy已经赶来围观了。

目前,LLaMA.mojo已开放下载~

几行代码即可下载

带来这个版本的老哥是一位前Meta工程师Aydyn Tairov

他利用Mojo的SIMD(Single Instruction Multiple Data,单指令多数据)和向量化原语,将llama2.py转化为Mojo,性能较Python版本提升了近250倍

即便在快速运行模式下,Mojo版本也比C语言版本性能提升15-20%

不过作者尝试了在Mojo中使用并行模式,速度就慢了很多。

作者进行性能比较的系统和硬件情况如下:

如果你也想下载运行这个模型,需要先在环境中安装配置Mojo(文档链接见文末)。

首先将存储库保存到保存项目时的文件夹:

git?clone?https://github.com/tairov/llama2.mojo.git

然后打开存储文件夹:

cd?llama2.mojo

下面就可以下载模型:

wget?https://huggingface.co/karpathy/tinyllamas/resolve/main/stories15M.bin

然后即可运行:

mojo?llama2.mojo

num?hardware?threads:??6??SIMD?vector?width:??8

checkpoint?size:??60816028

Once?upon?a?time,?there?was?a?little?girl?named?Lily.?She?loved?to?play?outside?in?the?sunshine.?One?day,?she?saw?a?big,?red?ball?in?the?sky.?It?was?the?sun!?She?thought?it?was?so?pretty.

Lily?wanted?to?play?with?the?ball,?but?it?was?too?high?up?in?the?sky.?She?tried?to?jump?and?reach?it,?but?she?couldn't.?Then,?she?had?an?idea.?She?would?use?a?stick?to?knock?the?ball?down.Lily?found?a?stick?and?tried?to?hit?the?ball.?But?the?stick?was?too?short.?She?tried?again?and?again,?but?she?couldn't?reach?it.?She?felt?sad.

Suddenly,?a?kind?man?came?by?and?saw?Lily.?He?asked?her?what?was?wrong.?Lily?told?him?about?the?ball.?The?man?smiled?and?said,?"I?have?a?useful?idea!"?He?took?out?a?long?stick?and?used?it?to?knock?the?ball?down.?Lily?was?so?happy!?She?thanked?the?man?and?they?played?together?in?the?sunshine.

Once?upon?a?time,?there?was?a?little?girl?named?Lily.?She?loved?to?play?outside?in?the?sunshine.?One?day,?she?saw?a?big,?red

achieved?tok/s:??264.24870466321244

为啥Mojo这么快?

不过话说回来,为啥Mojo的速度可以这么快?

这还得从Mojo的来历说起。

它诞生于今年5月,专为AI领域开发,由LLVM之父Swift之父Chris Lattner带来。

它兼顾了Python和C++的优点,语法简单、运行快,而且可以和任何Python库无缝交互。

自从上线以来,Mojo已经吸引了12万开发者,GitHub星标达9K。

Mojo语言这么快的原因,可以归结为4点。

第1步,通过类型注释消除Python动态类型的损失,并做代数简化(algebraic simplifications),避免开方运算以及简化复数平方运算,达到89倍加速。

第2步,通过向量化实现SIMD(单指令多数据)的并行计算,并让向量宽度以匹配CPU的FMA(浮点乘法累加单元)数量,达到874倍

第3步,把前两步开发好的单线程实现改成多核并行化,对于88核的系统再获得30倍加速,与原始Python相比已经到了26000倍

第4步,解决并行化中的加载不均衡问题,让线程从池中动态获取任务,得到最终结果68000倍

本月,Mojo正式开放下载。目前支持Linux系统,后续将陆续添加Mac和Windows。

同时支持VSCode插件,可以实现语法高亮和代码补全等功能。

以及也能像Python一样在Jupyter里交互式操作。

GitHub地址:

https://github.com/tairov/llama2.mojo

Mojo文档:

https://docs.modular.com/mojo/manual/get-started/index.html

Crossin的第2本书《码上行动:利用Python与ChatGPT高效搞定Excel数据分析》已经上市了。

本书从 Python 和 Excel 结合使用的角度讲解处理分析数据的思路、方法与实战应用。不论是希望从事数据分析岗位的学习者,还是其他职业的办公人员,都可以通过本书的学习掌握 Python 分析数据的技能。书中创新性地将?ChatGPT?引入到教学当中,用 ChatGPT 答疑并提供实训代码,并介绍了使用 ChatGPT 辅助学习的一些实用技巧,给学习者带来全新的学习方式。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OVJOsyXo8Jfu4Jzo_8G8_Esg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com