ITPUB专访 | 张宏波:一场关于编程语言速度与效率的深度对话

news2024/9/17 8:25:55

ITPUB专访 | 张宏波:一场关于编程语言速度与效率的深度对话

ITPUB专访 | 张宏波:一场关于编程语言速度与效率的深度对

随着 AI 大语言模型(LLM)不断突破和开源社区活跃程度达到前所未有的高度,以 OpenAI 的 GPT-4、Meta-LLaMA 等为代表的重量级产品和服务相继发布,AI 技术的蓬勃发展给编程语言带来了新的挑战和机遇。

作为 AI 大模型的“底座”,开发者工具基础设施承载着顶层大模型的建设,也是大模型应用落地的关键。在大模型时代下,AI 开发者工具应该具有何种形态?

近日,ITPUB 有幸采访到 MoonBit 平台的负责人张宏波老师,一起探讨 MoonBit 与 AI 大模型如何结合、编程语言在这一时代的商业化探索、及 MoonBit 未来的发展计划。

问题 1:您好,张老师!很荣幸有机会采访到您,先简单介绍一下您自己!

从我本科算起,我有十几年的时间一直在从事编程语言和开发者工具开发工作。在我念书时就荣幸的进入到 Ocaml 编程语言的核心维护中,值得一提的是去年 Ocaml 获得了 ACM 系统软件奖(计算机世界级大奖之一),今年获奖的编程语言是 Rust。我的第一份正式工作在纽约,期间我自己研发了一个新的编程语言叫 ReScript ,后来这门编程语言被一些国际知名公司的知名项目使用,其中包括 Facebook (Meta)的 messenger 和 chats,同时我也参与了 Flow 编程语言的开发。

基于我过去三门编程语言的职业经历与开发积累的经验,我酝酿了一个更大的梦想,从顶层视角思考,设计一个新的编程语言与IDE等开发工具更好的协同,2022时这个机会到来,我们在深圳 IDEA 研究院组织了一个团队从事 MoonBit 的开发。

MoonBit 是一个全新的 AI 云原生开发者平台,它还有一个中文名字叫做月兔,我们预计在未来几年它就会有十万级别的用户。

试用 MoonBit 传送门:https://marketplace.visualstudio.com/items?itemName=moonbit.moonbit-lang

问题 2:MoonBit 从开发者用户(C端)到企业用户(B端)进行了哪些商业化思考?

阶段一:定制化服务我们会为大厂商提供定制化服务,满足他们的特定 DIY 需求。我们的团队小而精,凭借高效的运作和国家的支持,我们有能力为客户提供高质量及时的解决方案。最新的政策文件也表明,国家对于技术软件的支持力度在不断加大,这为我们市场上的生存和发展提供了有利的条件。

阶段二:云计算平台我们提供的是一个涵盖从开发、调试到部署的全方位云计算平台,并通过 AI 赋能,进一步提升用户体验和覆盖面。所以对于普通开发者而言,可以一键部署、调试和测试,完全做到开箱即用,提供的独特价值远超现有的开源解决方案,这将为用户带来明显的增值体验。但基础软件在商业道路上,往往会有人提出质疑,很多人认为基础软件类似于水电等大型基础设施,应该是免费开源的。我觉得里面有一个很大的误解。在市场上,既有像 Python 和 Rust 这样的免费开源软件,也有像 MATLAB 和 Mathematica 这样的优秀盈利软件。两者各有优劣,能满足不同层次的需求。Python 和 Rust 由于早期为了扩大用户基础而失去了控制权,而 MATLAB 则通过保持对核心技术的控制,形成了良好的生态系统。我们相信 MoonBit 可以采取一种平衡的策略,在保持一定开放性的同时,继续对核心技术保持控制。

作为一个技术驱动的公司,MoonBit有一些很明显的特性:

• 市场的稀缺性和极高的门槛国内从事基础软件研发,并在国际上取得领先的地位目前是非常罕见的,MoonBit 从诞生之初就有非常大的野心,我们不仅希望能填补国内某些领域的空白,我们更预期在相关领域取得国际领先地位。国内这片领域几乎是一片空白,对我们来说是巨大的机会。

• 控制权与核心产品价值MoonBit 在一开始的商业化考虑上,就将核心技术和控制权牢牢掌握在自己手中,这样在商业模式和产品方向上具有绝对的自主权。这样意味着我们可以根据市场的趋势和需求及时调整产品策略,保持长期的竞争力和盈利能力。这是很重要重要的一点。

其次,产品价值的大小是能否通过市场考验的第一“试金石”,MoonBit 提供具有核心价值的产品。我们不仅仅是一个编程语言,而是一个能够为用户提供实质性价值增量的平台。我们的定制化服务和云计算平台,通过 AI 赋能,为用户提供从开发、调试到部署的全方位支持。这种独特的价值是现有开源解决方案所无法比拟的,也是我们赢得市场和客户的关键。从国产编程语言的应用现状来看,目前我们是对外发布的首个工业级别的编程语言级开发者工具链平台,一旦我们进入市场,凭借我们的技术优势和产品价值,能够迅速建立高门槛,使得外部竞争者很难进入。这种稀缺性和高进入门槛,赋予了 MoonBit 巨大的市场潜力和独特的竞争优势。

问题 3:MoonBit 采用什么方式部署大模型?哪种方式部署最有利?

MoonBit AI(http://ai.moonbitlang.com)首页 playground 的大模型部署在我们私有 Mac Studio 的推理集群上,使用 llama.cpp 作为推理引擎。我们认为端侧的模型部署能够更好满足 IDE 中用户对延迟和效果的需求。此外,端侧模型也能更好地保护用户的代码和隐私。

问题 4:MoonBit 作为一门新语言,在没有大量可用于训练的代码语料的条件下,如何训练出可用的代码大模型?采用什么方式提高终端模型的准确性?

在语料上,我们收集了 GitHub 上面以 MoonBit 语言编写的项目、我们自己撰写的文档来训练。我们也通过现有的大模型生成了一些 MoonBit 的语料。不过这些仍然远远不够,我们希望通过类似于强化学习的方法来通过向 MoonBit 编译器这个 Oracle 进行查询的方式获得反馈,来大大增加我们的数据量。

在终端模型的部署上,我们通过静态分析技术对模型生成以后的 MoonBit 代码进行检查,去掉一些不合法的 MoonBit 代码,来提升生成 MoonBit 代码的可靠性。同时,由于终端模型通常经过了低精度的量化来减小体积、提升速度,我们会对生成的代码以比较低的温度参数进行采样,减少因为精度下降带来的损失。

问题 5:MoonBit 包含了哪些核心组件,从什么场景中而来?最大的优势是什么?

MoonBit 是一个用于云计算和边缘计算的 WebAssembly 端到端编程语言工具链,集开发、编译、测试、部署于一体 —— 涵盖了通用程序语言设计、编译器、构建系统、编辑器和语言服务器、IDE、部署工具等。

MoonBit 优势很多,归纳总结有编译快、运行快、支持多后端、体积小、安全、开发者友好和开源等。

问题 6:MoonBit 如何与 AI 技术结合?它在大模型智能和自动化编程方面有哪些应用?

MoonBit 作为一个 AI 时代下全新的开发平台,从一开始的顶层设计就考虑如何将传统 IDE 智能和大模型智能融合在一起。利用传统 IDE 智能修正大模型智能,MoonBit 通过局部重采样和全局重采样实现了智能代码生成的调整和修正。

局部重采样利用 AI 生成的代码进行实时调整,确保代码符合语法规范,而全局重采样进一步验证代码的语义正确性。这种方法基于深度领域知识,为开发者提供了更可靠、更准确的代码生成体验,减少了后续调试和错误修复的需要。MoonBit团队还特意开发了基于 token 的实时语义分析工具,确保大模型输出更为准确。

值得注意的是 MoonBit 还支持实时的自动测试,解放双手,提高生产力!

问题 7:MoonBit 在云计算和边缘计算方面有哪些独特的优势?

MoonBit 具备后发优势,如基于 Webassembly 设计同时支持多后端,生成代码的性能高、体积小。

问题 8:MoonBit 如何支持开发者在 WebAssembly 上进行高效的云原生开发?

MoonBit 是一种端到端的编程语言,针对 WebAssembly 进行了优化,同时也可以编译成 JavaScript 和汇编代码。目前 WebAssembly 的优势还没有体现出来,总的来说 WebAssembly 是安全且快速的,但是当 GO 语言被编译到 WebAssembly 时,它生成了大量的 WebAssembly 代码,因此变得不再敏捷,原因是 WebAssembly 语言语义与 Go 语言并不十分匹配。所以我们认为存在一个巨大的机会,需要一种专为 WebAssembly 语义而设计的语言,MoonBit 应运而生。

IDE 是开发人员可能发现 MoonBit 对 Wasm 有吸引力的另一个重要原因。对于新语言来说,从一开始就拥有 IDE 是不寻常的。通常来说,这需要数年时间。MoonBit 从一开始就提供了强大、可靠且提供最佳性能的 IDE。

问题 9:MoonBit 的云 IDE 环境有何特点?有哪些创新功能?是否支持代码高亮、自动补全等功能?

支持。借鉴以往 IDE 的架构经验,MoonBit 在语言设计之初充分考虑了 IDE、构建系统、语言设计的协同,实现类型检查和推断的高度并行化和增量化。目前,业内大多数程序语言的IDE是为桌面操作系统所设计,未能充分考虑在云原生环境下与边缘端的交互。MoonBit 通过高度并行化的架构以及对分离编译(separate compilation)的原生支持,和得益于静态类型检查性能的极大提升和轻量化设计,实现 CloudIDE 在边缘端的直接运行,不再依赖网络带宽,让用户输入能快速反馈。

MoonBit 快速语义分析的技术可以适配到海量的代码库,在更大的代码库也能在百毫秒级别完成 IDE 响应。初步测试结果显示,MoonBit 在冷启动环境下只需要约 30ms 就能完成数个包的语义检测,而传统语言 IDE 则需要几秒甚至几十秒。

问题 10:MoonBit 为什么能在短时间内获得大家的关注?哪些方面值得关注?与其他编程语言相比有哪些优势?MoonBit 在未来有哪些计划或新增特性工具?

我觉得 MoonBit 非常有机会成为一门世界级的编程语言,要做好任何事情,它都需要天时地利人和,我们这三要素是占据的。第一是在现在国家大的政策背景下,大家对根技术是非常支持的,第二是我们在深圳这样一片创新的土壤,深圳对我们的支持还是足够的,第三个是人和,这是最重要的一点,我们有非常优秀的团队,ReScript 的开发早期更多是一个人的工作,MoonBit 有一个非常年轻、精力充沛的团队,所以 MoonBit 是一个非常有希望的编程语言,也正因此能在短时间内获得大家的关注。

MoonBit 专为云 + AI 打造,其核心技术自主研发,通过专注 Wasm 形成后发优势,目前在核心指标(编译速度、运行速度、体积大小)已成功领先传统语言。目前接下来的计划是编译系统开源,之后是正式的 Beta 版本,值得一提的是我们马上会举办一场「MoonBit 编程挑战赛」,届时欢迎各大高校的学生前来参与。

问题 11:为什么 MoonBit 会成为现象级的编程语言?

首先,MoonBit 具备成为现象级语言的巨大潜力。从开发者数量来看,中国是目前全球程序员最多的国家,这意味着我们拥有一个庞大的开发者用户基数。然而,几乎所有的基础软件工具都是由国外开发或主要引导的。在编程语言方面,流行的社区主要集中在欧洲,如英国的 GHC、法国的 INRIA(主导 OCaml、Coq)和瑞士的 EPFL(拥有 Scala)。这使得国内在基础软件领域存在巨大的市场空白和高度的稀缺性,形成了一个蓝海市场。

拥有自己的编程语言对一个国家具有重要的战略意义。尽管中国在学术论文发表方面已居世界前列,但在基础软件领域仍处于“大而不强”的状态,主要原因之一是缺乏自主开发平台。大部分的期刊和成果仍在国外平台发表。近年来,虽然取得了显著进步,但拥有自己的开发者平台仍迫在眉睫。国家层面近年来非常关注基础软件工作的开展,明确指出要健全和强化基础软件等重点产业链的发展体制。

在当前良好的政策环境和市场条件下,MoonBit 提供端到端解决方案的产品,即使只有 10% 的市场渗透率,也可以获得百万级的用户基础,这为商业化提供了坚实的基础。MoonBit 从一开始就定下了高远的视野,我们不仅仅是为了填补国内基础软件工具的空白,还希望成为一门世界一流的编程语言。我们需要一个优秀的开发者平台来弥补目前基础软件工具的缺失。通过 MoonBit,我认为我们有可能在基础软件领域实现自立自强,推动中国在这一领域的快速发展并取得国际领先地位。

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

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

相关文章

视频VIP收费会员播放帝国CMS模板HTML5自适应手机多种运营模式

采用帝国CMS最新版核心制作,自适应响应式手机平板浏览,手机浏览器非常舒服哦!多种运营模式。用户中心逻辑和页面,都已经制作完整,可以搭建后稍微修改即可使用! 模板特点: 支持多集和单集播放&…

【2024】Datawhale AI夏令营 Task2笔记——Baseline代码详细解读

【2024】Datawhale AI夏令营 Task2笔记——Baseline代码详细解读 本文对可完成赛事“逻辑推理赛道:复杂推理能力评估”初赛的baseline代码进行详细解读,该baseline代码由Datawhale AI夏令营提供,核心内容是调用灵积模型服务平台的大语言模型…

大众点评采集店铺全部推荐菜的全部信息

大众点评餐饮店铺的推荐菜是个好东西,蕴含的信息很丰富,可以用作店铺运营分析参考。 指定大众点评店铺,可以采集该店铺的全部推荐菜的全部信息,包括推荐菜的名字、价格、最近三个月推荐次数、推荐菜的评价、推荐菜的标签、菜品所…

从PyTorch官方的一篇教程说开去(5 - 神经网络 torch.nn)

神经网络长啥样?有没有四只眼睛八条腿? 借图镇楼 - 真的是非常经典,可以给下面的解释省掉很多力气。 分3个维度阐述 - 1)输入数据集。假如你自己去微调一下大模型就知道,最开始的一步就是要准备(足够大…

一个项目的坎坷一生

大家好,我是苍何。 目前呢,主要是负责部门的项目管理和团队管理相关工作,今天想和大家分享一下企业级标准的项目管理流程以及苍何的实践。 通过本文,能帮助你更快的在企业中上手项目并定位好自己的角色,别人一脸懵逼…

高效恢复误删文件:2024年数据恢复工具

现在都是互联网的时代,数据已成为我们生活与工作中不可或缺的一部分。很多时候我们都依赖电子设备来存储数据,这也造成来数据丢失风险的增加。这时候如果掌握了一些数据恢复软件,比如转转大师数据恢复软件这种就能对你的电子存储数据有保障。…

如何在 Windows 系统环境下安装 Tesseract OCR? ( •̀ ω •́ )✧

第一步:下载Tesseract OCR引擎安装包 🍑 访问Tesseract的GitHub发布页面(https://github.com/tesseract-ocr/tesseract)或第三方下载站点(https://digi.bib.uni-mannheim.de/tesseract/),下载适…

Docker与LXC差异以及相关命令

容器:Docker与LXC差异以及相关命令 ​ LXC与Docker对比,LXC只实现了进程沙盒化,不支持在不同的机器上进行移植;Docker将应用的所有配置和环境进行了抽象,打包到一个容器中,此容器可以在任何安装了docker的…

mybatis-plus实现分页功能

第一步:添加mybatis-plus为分页所使用的拦截器插件 (不用这个的话sql里面的limit关键字无法实现,也就没办法实现查询操作) 代码: Configuration public class mybatis_plus_config {Beanpublic MybatisPlusIntercept…

4大类75项BUG场景大盘点!测试人必看!

本文主要针对填写BUG时,bug分类共分为多少项,每一项内容都有哪些场景,并结合具体错误案例进行简单分析。 一UI表示层 在软件测试和开发中,当提到“用户UI”类型的bug时,通常是指与用户界面(User Interface…

Weights2wights Interpreting the Weight Space of Customized Diffusion Models

Weights2wights: Interpreting the Weight Space of Customized Diffusion Models 导语 可控生成是图像生成领域的一个重要方向。从最基础的文本条件生成,到 ControlNet、IP-Adapter 等图像条件生成,再到各种概念定制化生成,扩散模型的可控…

InternLM Git 基础知识

提交一份自我介绍。 创建并提交一个项目。

采用GDAL批量波段运算计算植被指数0基础教程

采用GDAL批量波段运算计算植被指数0基础教程 1. 引言 在传统的遥感数据处理方法中,通常使用ArcGis或ENVI软件进行波段运算。然而,这些软件在处理大量数据时往往效率低下。有没有一种方法可以批量进行波段运算,一下子计算几十个植被指数&…

将项目部署到docker容器上

通过docker部署前后端项目 前置条件 需要在docker中拉去jdk镜像、nginx镜像 docker pull openjdk:17 #拉取openjdk17镜像 docker pull nginx #拉取nginx镜像部署后端 1.打包后端项目 点击maven插件下面的Lifecycle的package 对后端项目进行打包 等待打包完成即可 2.将打…

【全志H616开发】Linux的热拔插UDEV机制

文章目录 udev简介工作原理Udev 配置文件和规则示例总结: udev简介 Udev 是 Linux 系统中设备管理的一部分,它负责管理动态设备节点并处理设备的热插拔。Udev 提供了一种在用户空间管理设备节点的机制,可以在设备插入或移除时自动执行相应的…

2024.7.30问题合集

2024.7.30问题合集 1.adb调试出现5037端口被占用的情况2.更改ip地址时出现以下问题3.RV1126 ip配置问题 1.adb调试出现5037端口被占用的情况 问题:5037端口被占用的情况 解决方案:将adb文件下的adb.exe和AdbWinApi.dll两个文件复制到C:\Windows\SysWOW6…

红外热成像仪的功能应用_鼎跃安全

红外热成像仪利用红外探测器接收被测目标物体发射的红外辐射能量;通过接收到红外辐射转化为电信号,将这些信号放大转化后,通过不同的颜色代表不同温度,从而直观的在电子屏显示出来,可以清晰的观察到物体的热分布。 热成…

flex/bison结合使用解析配置文件

flex是gnu linux下的语法分析器程序(lex则是Unix下的语法分析器),它将输入文件(yyin)的内容去匹配对应的匹配规则表达式,并返回一个token。注意,flex的copyright并不是gnu的。 bison是gnu linux下的yacc(Yet Another Compiler Compiler)&…

【计算机毕设论文】基于SpringBoot的成绩管理系统

💗博主介绍:✌全平台粉丝5W,高级大厂开发程序员😃,博客之星、掘金/知乎/华为云/阿里云等平台优质作者。 【源码获取】关注并且私信我 感兴趣的可以先收藏起来,同学门有不懂的毕设选题,项目以及论文编写等相…

3.5.4、查找和排序算法-排序算法下

快速排序 快速排序的基本思想是:通过一趟排序将待排的序列划分为独立的两个部分,其中一部分序列的元素均不大于另一部分记录的关键字,然后再分别对这两部分序列继续进行快速排序,以达到整个序列有序。 大致步骤如下:…