大模型操作系统雄起,算力与应用两手抓,解放开发者双手

本文主要是介绍大模型操作系统雄起,算力与应用两手抓,解放开发者双手,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

4月16日,在Create 2024百度AI开发者大会上,李彦宏说:“未来,自然语言将成为新的通用编程语言,你只要会说话,就可以成为一名开发者,用自己的创造力改变世界。” 人人都是开发者的时代来了。

K哥是程序员出身,写了10年代码,后来转做管理,这一路来,我经历了开发范式、操作系统、编程语言等的演变,现在到了用自然语言进行应用开发的时代,其实这背后是有一个复杂的操作系统在支撑。我们先从操作系统的演变说起,操作系统的发展其实就是不断将复杂技术变简单的历史,开发范式、开发者的工作方式也随之变得更简单。

图片

01

操作系统演进史背后:开发者越来越“解放”

操作系统是极其复杂的,简单来说,操作系统的核心功能就是管理硬件和软件,并且一层层往下屏蔽底层的复杂性、往上抽象成简单的交互界面。

对于开发者来说,如果有足够好的操作系统,就可以实现只关注业务本身的逻辑,使用简单的开发语言和功能布局,开发相应的软件功能。

有了这个基本的认知,我们接着聊聊操作系统的发展史,以及每一代操作系统给开发者带来的“解放”。

80年前,第一代“程序员”需要手动插拔电缆、转动旋钮,用布线板来操作计算机,使用的语言是古老的二进制数字,难度大、效率低、非常容易出错。

20世纪50年代,人类发明了汇编器和汇编语言,用一种比较自然的方式告诉机器如何工作,这让程序员大大提高了开发效率。这种让程序代替人工去管理硬件的方式,就是操作系统的雏形。

20世纪70年代,高级编程语言和汇编器诞生。比如大家熟悉的Fortran、COBOL、BASIC、Pascal、C、C++、JAVA等等开发语言,开发者可以用更接近人类的方式去开发应用,无须关心底层软硬件的复杂性。程序可以做到一次编写,多平台运行。

随着高级编程语言的出现,人类开发出了更强大的操作系统,从1975年,UNIX6的9000行代码数,到1993年Windows NT可以运行430万行代码,再到2011年Windows XP可运行4500万行代码,操作系统的迭代升级速度越来越快。

十几年前,云计算出现了,它解决了集群的问题。操作系统的管理对象不再是单台机器和运行在上面的“进程”,而是整个集群和上面运行的各种“微服务”,云计算的诞生,使得集群管理的复杂性被隐去,开发者可以按需扩缩容,灵活响应市场的变化。

直到最近几年大模型的出现,机器和系统不再是人类的“提线木偶”,而是具备了“理解、生成、逻辑和记忆”的能力,人可以通过自然语言跟机器和系统交互,而且大模型重新定义了软件编程,它将编程的门槛下放到极致,可以通过自然语言编程,而且非计算机背景的普通人也可以做应用开发。

在这样的技术演进趋势下,大模型时代其实需要一种新的操作系统,这样的操作系统应该是什么样的?首先,应用开发应该更简单,通过提供应用开发的工具链简化开发流程,甚至无需接受专业编程训练,只需要拖拉拽就可以开发应用;其次,它要能够屏蔽掉上一代云计算系统的复杂性,能够胜任大模型场景对万卡集群管理、异构计算等的要求;在一切都是模型的大模型时代,操作系统也应当以强大的大模型作为内核,还应具备模型精调、二次开发等大模型服务的能力。

在4月16日百度Create开发者大会现场,百度智能云发布了智能计算操作系统“万源”。它定位为大模型时代的新型操作系统,通过对AI原生时代的智能计算平台进行抽象与封装设计,为用户屏蔽掉云原生系统与异构算力的复杂性,帮助用户用自然语言定义软件,提升AI原生应用开发效率与体验。

02

万源重新定义大模型时代的操作系统,

软件开发更极简

万源使得人人都可以用极简的方式开发软件,它究竟如何实现的呢?下面跟随K哥一起揭开它的神秘面纱。

万源的系统架构可以分为:Kernel(内核)、Shell(外壳层)、ToolKit(工具层)三个部分,它屏蔽了上一代云原生系统的复杂性、异构算力的复杂性,把“智能”的升级、适配和调用,纳入系统内核中,让“智能”管理更轻松。

图片

下面我们逐层讲解:

首先是,内核层(Kernel)。主要由百舸AI异构计算平台、大模型构成,百舸将算力效能发挥到极致,实现万卡集群高效管理。先来看一组数据:百舸在万卡集群上的有效训练时长超过98.8%;线性加速95%;带宽有效性95%,这是业界最高级别算力效能。百舸线性加速比达到95%背后有一个“黑科技”,就是底层的AIAK加速库,它实现了网络通信的加速,高效解决了GPU异构计算的难题。

众所周知,由于国内芯片供应的问题,“一云多芯”也成为了企业的必选项,以应对硬件供应的不确定性。但对企业来说,在大模型训练中支持“一云多芯”是很难的技术问题,

不同厂商的芯片差异很大,尤其在单一训练任务上采用异构芯片更是难攻克的问题。

百舸平台目前可以实现百卡规模、单一训练任务下的多芯片混合训练,并且把训练性能损失控制在3%;千卡规模下,性能损失不超过5%,这个数据是国内单一任务、一云多芯训练的最好成绩。能做到这样好的水平,实际上背后也是靠很多技术支撑,百度集团副总裁侯震宇透露,为让异构芯片都跑在同一张算力网里,跑同一个训练任务,百舸团队在底层加速库上做了并行框架实现,采用Tensor Parallel(张量并行)、流水线并行,模型并行等多种并行策略,且采用自研自适应算法自动实现并行策略的参数设定。

图片

(单一任务一云多芯大模型训练解决方案)

内核层的另一个重要板块就是大模型,实际上大模型压缩世界知识,将自然语言理解、生成、逻辑、记忆能力进行封装,向上提供简单接口,让AI原生应用得以高效运行。大模型层包括了ERNIE 4.0大语言模型、ERNIE Speed/Lite/Tiny系列轻量模型,也包括文心视觉大模型和一些各有特色的第三方大模型,满足用户在不同场景下使用大模型的多样化需求。

第二是,外壳层(Shell)。主要就是千帆ModelBuilder,它的作用是对内核中模型的管理、调度、二次开发。千帆ModelBuilder提供大模型开发的全流程工具链:包括数据管理、模型训练、推理、部署、应用集成等模块。同时,千帆大模型平台不仅支持百度自研的文心大模型系列,而且支持Llama2等77+国内外第三方大模型的开发及应用,模型数量国内第一。

千帆ModelBuilder还提供模型路由服务:针对不同难度的查询,帮助用户选择合适参数规模的模型,实现效果与成本的最优组合,降低30%推理成本。

千帆ModelBuilder近期发布了3款轻量模型、2款垂直模型,分别是百度自研的ERNIE Speed、ERNIE Lite、ERNIE Tiny,以及垂直模型ERNIE Character、ERNIE Functions,满足企业和开发者在细分垂直场景应用轻量级模型的需求。

第三是,工具层(ToolKit)。由千帆AppBuilder、AgentBuilder组成,先来看AppBuilder,它是产业级AI原生应用开发平台。聚焦AI原生应用搭建,面向各类应用场景,提供RAG、Agent、GBI等主流应用框架和丰富的工具组件,支持更低门槛、更优效果、更易分发集成的应用开发平台。

千帆AppBuilder提供「代码态」与「低代码态」两种产品形态:

代码态,对于有深度AI原生应用开发需求的用户,AppBuilder代码态提供包括SDK、开发环境、调试工具等各种开发套件和应用组件。低代码态,是面向“技术小白”的,可以用自然语言完成全部开发过程,只需要通过点选配置的简单操作,就可以快速的实现一个已经配置好的AI原生应用,并且快速进行调试,然后集成到自己所需要的程序框架中。

开发者通过工作流编排,快速开发和发布应用,可使用预置模板和组件,轻松定制自己的业务流程,可集成、扩展自己的特色组件,在不同节点上调用更适合的模型。通过AppBuilder开发的应用,可以一键发布到百度搜索、微信公众号等平台,也可通过API或SDK集成到自己的系统里。近期上线的「三步生成应用」功能,仅需用自然语言提出问题,即可自动创建相应应用,无须写复杂的需求和代码。

接下来聊聊AgentBuilder,这是基于文心大模型的智能体构建平台,为开发者提供低成本的开发方式,支持广大开发者根据自身行业领域、应用场景,采用多样化的能力、工具,打造大模型时代的原生应用。

总的来说,基于万源操作系统,开发者可以享受到极简的开发体验,大模型作为“聪明大脑”支撑的智能的系统内核,和高效的异构算力。尤其有了千帆ModelBuilder、千帆APPBuilder这样的简便工具将大模型强大的理解、生成、逻辑、记忆能力进行封装,极致简化用户交互模式,方便开发者快速生成各类AI应用,而且将软件开发的门槛降低到了普通人都能够轻松使用的程度。百度智能云希望通过这一操作系统让“人人都可以成为开发者”。

图片

03

人人都可以成为开发者?

K哥第一次听到这个说法,内心是怀疑的,直到我看到了以下数据:截止到2024年3月,百度智能云千帆大模型平台服务创企及伙伴的数量超过了 12 万+,活跃调用千帆API的创企和伙伴数量超过 5.5 万。许多创业公司以及个人开发者,通过百度智能云千帆大模型平台搭建自己的AI应用,跑通了商业闭环,真正赚到了钱。

下面我们来看两家有意思的企业:

一家是,新致软件,公司成立于1994年,主要从事软件开发服务。通过百度智能云千帆大模型平台,结合行业知识,上海新致为膳魔师打造了一款to B企业团购助手。基于文心大模型的语义理解、推理、记忆等能力,团购助手能够主动询问客户预算、使用场合、用途等购买需求,获取各类产品标签,基于这些信息进行产品精准匹配推荐和产品相关的实时问答,并多模态展示对应产品图片。通过自然语言对话自动生成采购订单,并能查询订单状态做到及时跟进。

另一家是,万幸科技,公司CEO崔健是家装行业的老兵,2015年曾创办了互联网家装设计平台“打扮家”,8年累计融资近5亿。2022年,因为种种原因,打扮家停止运营。再次创业,崔健选择用 AI 大模型做装修,基于百度智能云千帆平台推出了大模型装修助手“装修GPT”,在需求沟通、效果图生成、商品推荐等环节,为用户提供一站式服务,帮助用户花更少的钱,享受到更高效、低成本的设计服务和更高品质的家装建材。目前,装修GPT已服务了近1000家客户。截止2023年12月,万幸科技收入已达数百万,成为了第一批通过大模型赚到钱的初创企业。

再来看看个人开发者使用的场景,在百度智能云千帆杯AI原生应用大赛(第一期)中,来自南京大学的研究生杨之正使用千帆APPBuilder打造了“迪士尼游玩助手”,他通过千帆APPBuilder提供的Agent组件和代码解释器完成了这款助手的开发。杨之正说之前他做传统的AI应用,需要花几天甚至几个月的时间,现在只要两三天就可以搞好。

来自北京一家互联网公司从事推荐算法工作的张辉是千帆杯第二期的TOP1选手,他使用百度的ERNIE4.0模型生成优质数据集,然后以此数据集去精调轻量模型ENIE Speed,实现ERNIE4.0大模型的能力迁移到相对较小的ENIE Speed上去,最终精调出了一个春节贺岁文案生成场景的小模型,使其在贺岁文案生成上媲美大模型。张辉说,通过千帆ModelBuider平台只需要简单的拖拉拽,就可以完成模型的精调、测试,平台的低代码、零代码的操作非常便捷,非计算机专业人员也可以轻松使用。

图片

04

简单,是终极的复杂

达·芬奇说过:“简单,是终极的复杂” 开发者的开发方式在进化、开发语言越来越简单,开发工具越来越便捷,不用再需要去管理复杂的硬件和底层IT软件,开发体验越来越好。之所以能做到这一点,是因为开发者所使用的操作系统越来越强大。

AI原生时代,自然语言成为了开发语言,借助大模型,百度智能云千帆AppBuilder、千帆ModelBuilder和AgentBuilder、成为了最简单的开发工具,在极致简单的人机交互背后,是极致复杂的像万源这样的操作系统。

《2001太空漫游》作者阿瑟·克拉克说过:“任何足够先进的技术,都与魔法无异。” 百度的万源操作系统就是这样的魔法,将复杂的技术隐藏起来,让每个人都能简单地创造和实现梦想,“人人都是开发者”正在变成可见的现实。


作者| Mr.K   

编辑| Emma

这篇关于大模型操作系统雄起,算力与应用两手抓,解放开发者双手的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/917928

相关文章

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Java中的Lambda表达式及其应用小结

《Java中的Lambda表达式及其应用小结》Java中的Lambda表达式是一项极具创新性的特性,它使得Java代码更加简洁和高效,尤其是在集合操作和并行处理方面,:本文主要介绍Java中的La... 目录前言1. 什么是Lambda表达式?2. Lambda表达式的基本语法例子1:最简单的Lambda表

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA