马斯克为何说大模型中R语言会替代Python

news2024/10/6 8:33:20

为什么不是Python?

当今的LLM应用程序,包括推理应用程序和代理,大多是用 Python 编写的。但这种情况即将改变。对于新一波的开发人员来说,Python 实在是太慢、太臃肿,而且要命的是太笨拙了。事实上, LLVM、Clang 和 Swift 的发明者Chris Lattner已经证明 Python 比编译语言慢 35,000 倍——这就是他发明 Mojo 作为Python 替代品的原因。

Chris Lattner 表示,编译语言可能比 Python 快 35,000 倍。

这迫使开发人员将越来越多的应用程序逻辑推送到本机编译的代码中,例如 C、C++ 和 Rust。例如,非常流行的项目,如llama.cpp、llama.cpp和llama2.c,都是以Python 依赖编写的。

格雷格·布罗克曼 (Greg Brockman) 是 OpenAI 的联合创始人兼总裁。他也认为 Python 太慢了

这反过来又会降低 Python 开发人员的体验。事实上,管理云部署的 Python 安装已成为一项重大挑战。

Chris Albon 是维基媒体机器学习总监。即使是他也很难理解“现代”Python

换句话说,Python 不仅非常慢,而且很难用于开发 LLM 应用程序。

Python 面临的挑战为高性能编译语言创造了机会。随着 C 和 C++ 在一般开发者社区中逐渐被 Rust 取代,Elon Musk 指出 Rust 可能成为 AGI 的语言。

Rust连续 7 年被 StackOverflow评为最受欢迎的编程语言,市场份额稳步增长。

Rust + Wasm,两全其美

   然而,将 Rust 直接编译为本机机器代码还有其他问题。

  • 安全。本机二进制文件可能会使整个系统崩溃。
  • 可移植性。本机二进制文件特定于底层操作系统和硬件。
  • 表现。由于安全性和可移植性要求,通常需要本机二进制文件在 Linux 容器内运行。此类容器会增加程序的启动和运行时开销,从而显着降低程序速度。

Wasm 已成为 Rust 应用程序的最安全运行时,旨在解决这些问题。借助云优化的 Wasm 运行时WasmEdge,开发人员现在可以选择在 LLM 应用程序堆栈的每一层中使用高性能 Rust,作为 Python 的高性能替代方案。

使用 Rust + Wasm 代替 Python 来增强性能、减少占用空间并提高安全性。

  • 代理层:网络密集型任务,用于接收互联网事件、连接到数据库以及调用其他 Web 服务。Rust 和 WasmEdge 为高密度和高性能代理应用程序提供异步和非阻塞 I/O。示例:flows.network。
  • 推理层: CPU 密集型任务,将数据(例如单词和句子)预处理为数字,并将数字后处理为句子或结构化 JSON 数据。这些函数可以用 Rust 编写以实现最佳性能,并在 WasmEdge 中运行以实现安全性和可移植性。示例:mediapipe-rs。
  • 张量层: GPU 密集型任务,通过 WasmEdge 的 WASI-NN 插件从 Wasm 传递到本机张量库,例如 llama.cpp、PyTorch 和 Tensorflow。

结论

   Rust 和 Wasm 可能是当今 Python 的高性能且对开发人员友好的替代品。

  • 它们与底层 GPU 张量库集成得更好,这些库也是用 C/C++/Rust 编写的。
  • 它们在实现特定于应用程序的预处理和后处理数据功能(这是推理工作负载的大部分)方面更加高效
  • 它们可以更有效地执行LLM 代理所需的网络密集型和长时间运行的任务。
  • 它们的容器映像大小比 Python 映像小得多(几 MB 与数百 MB)。
  • 由于软件供应链有限且攻击面减少,它们比 Python 容器更安全。
  • 它们比 Python 程序更容易安装和管理依赖项。

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

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

相关文章

安防视频汇聚平台EasyCVR视频监控综合管理平台H.265转码功能更新,新增分辨率配置的具体步骤

安防视频集中存储EasyCVR视频监控综合管理平台可以根据不同的场景需求,让平台在内网、专网、VPN、广域网、互联网等各种环境下进行音视频的采集、接入与多端分发。在视频能力上,视频云存储平台EasyCVR可实现视频实时直播、云端录像、视频云存储、视频存储…

sql server安装报错 合成活动模板库(ATL) 失败

错误 “合成活动模板库(ATL) 规则失败“ 解决办法: 进入SQL Server 2008R2安装包目录找到文件:sqlsupport_msi,安装此文件之后,再安装SQL Server,便可解决该问题。C:\SQL Server 2008R2\new\SQL Server 2008R2\2052_CH…

专访阿里云席明贤,视频云如何运用大模型与小模型来破茧升级2.0

不久前,LiveVideoStack与阿里云视频云负责人席明贤(花名右贤)展开一场深度的对话,一个是圈内专业的社区媒体,一个是20年的IT老兵,双方有交集、有碰撞、有火花。 面对风云变幻的内外环境,阿里云…

【开发】视频云存储EasyCVR视频汇聚平台AI智能算法定制

安防视频集中存储EasyCVR视频汇聚平台,可支持海量视频的轻量化接入与汇聚管理。平台能提供视频存储磁盘阵列、视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、平台级联、H.265自动转码等功能。为了便…

Golang 基础语法问答

使用值为 nil 的 slice、map 会发生什么? 允许对值为 nil 的 slice 添加元素,但是对值为 nil 的 map 添加元素时会造成运行时 panic。 // map错误示例 func main() {var m map[string]intm["one"] 1 // error: panic: assignment to entry …

构建高可用的去中心化微服务集群架构指南

随着云计算、大数据和物联网的快速发展,企业对于可扩展的、高性能的微服务架构的需求也日益增长。传统的集中式架构已经不能满足这些需求,因此出现了去中心化的微服务集群架构。本文将介绍如何构建高可用的去中心化微服务集群架构,以满足企业…

多路复用epoll函数组

epoll函数组 /*创建epoll句柄*/ int epoll_create(int size);//size参数实际上已经被弃用 /*epoll句柄的控制接口*/ int epoll_ctl(int epfd,int op,int fd,struct epoll_event *event); epfd:epoll专用的文件描述符,epoll_create()的返回值 op:表示动作&#x…

美国大模型风向速报(一)为何重视提示工程?LangChain+向量数据库+开源大模型真香...

多家,且独家来自美国的信源同时向“亲爱的数据”表示, 提示工程(Prompt Engineering)在美国大模型领域备受重视。 读者都要聊, 那就干活。 (一)开源真香 现阶段,AI开源极客大展身手&…

认识容器,走进Docker

文章目录 容器技术简介容器的核心技术容器平台技术容器的支持技术 Docker理念Docker安装配置阿里云镜像加速器 容器技术简介 一切在云端,万物皆容器,说到容器,大家都会想到Docker,Docker现在几乎是容器的代名词,什么是Docker&…

故障011:dmap服务缺失libnsl.so修复

故障011:dmap服务缺失libnsl.so修复 1. 问题描述2. 解决方法2.1 初步分析2.2 动手实操2.2.1 模糊搜索大法2.2.2 僵桃代李大法 DM技术交流QQ群:940124259 1. 问题描述 今天遇二期XC环境,达梦DM 7.6的DmAPService备份辅助进程服务无法启动&a…

SpringBoot 响应头添加版本号、打包项目后缀添加版本号和时间

文章目录 响应头添加版本号获取版本号添加响应处理器请求结果 打包项目后缀添加版本号和时间实现打包结果 响应头添加版本号 获取版本号 在 pom.xml 中,在 project.version 下定义版本号 在 application.yml 获取 pom.xml 中 project.version 中的信息 添加响应处…

JetBrains IDE远程开发功能可供GitHub用户使用

JetBrains与GitHub去年已达成合作,提供GitHub Codespaces 与 JetBrains Gateway 之间的集成。 GitHub Codespaces允许用户创建安全、可配置、专属的云端开发环境,此集成意味着您可以通过JetBrains Gateway使用在 GitHub Codespaces 中运行喜欢的IDE进行…

【002】学习笔记之typescript的【任意类型】

任意类型 顶级类型:any类型和 unknown 类型 any类型 声明变量的时候没有指定任意类型默认为any任意类型都可以赋值给any,不需要检查类型。也是他的弊端如果使用any 就失去了TS类型检测的作用 unknown 类型 TypeScript 3.0中引入的 unknown 类型也被认为…

【07 英语语法:句子的种类(陈述句、疑问句、祈使句、感叹句、倒装句、强调句)】

句子的种类和结构 1. 句子的种类:陈述、疑问、祈使、感叹1.1 祈使句1.1.1 祈使句的分类⑴ Do 型 祈使句: 动词原形 / Do动词原形⑵ Be 型祈使句⑶ Let 型 祈使句⑷ No 型 祈使句:禁止、请勿 (no n./v-ing)⑸ 无动词 祈…

什么文件传输协议才能保障跨国文件传输安全又稳定

在当今的全球化时代,跨国文件传输是一种常见而又重要的需求,无论是个人还是企业,都需要通过网络来分享和交换各种类型和大小的文件。但是,跨国文件传输也面临着许多挑战和风险,如何选择一个合适的文件传输协议&#xf…

Shader学习(三)(片元着色器)

1、在片元着色器处理漫反射 // Upgrade NOTE: replaced _World2Object with unity_WorldToObjectShader "Custom/specularfragement" {properties{_sp("Specular",color) (1,1,1,1)_shiness("Shiness",range(1,64)) 8}SubShader{pass {tags{&…

easyexcel合并单元格底色

一、效果图 二、导出接口代码 PostMapping("selectAllMagicExport")public void selectAllMagicExport(HttpServletRequest request, HttpServletResponse response) throws IOException {ServiceResult<SearchResult<TestMetLineFe2o3Export>> result …

企业百家号蓝V认证后,百度营销基木鱼落地页如何嵌入百家号中

首先搭建百度营销基木鱼落地页 在我们的百度营销后台&#xff0c;点击基木鱼跳转至百度营销基木鱼页面&#xff0c;在我的站点位置&#xff0c;可以创建H5站点&#xff0c;PC站点等&#xff0c;创建完成后可以点击复制基木鱼落地页的链接。 注意事项 1、企业百家号需要进行…

【C++ 记忆站】命名空间

文章目录 命名空间概念命名空间的定义1、正常的命名空间定义2、命名空间可以嵌套3、同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中 命名空间的使用1、加命名空间名称及作用域限定符2、使用using将命名空间中某个成员引入3、使用using namespac…

计算机竞赛 python的搜索引擎系统设计与实现

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; python的搜索引擎系统设计与实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;5分创新点&#xff1a;3分 该项目较为新颖&#xff…