0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

斯坦福大学副教授:人工智能与火、电力、书写

发表时间:2023-10-21 18:04:41

文章来源:炫佑科技

浏览次数:123

菏泽炫佑科技

斯坦福大学副教授:人工智能与火、电力、书写

(以下文字经过语音识别转为文字并润色)

尊敬的各位来宾、各位朋友,大家上午好。

首先,感谢组委会邀请我参加本次峰会,并有机会在这里与大家交流。 在这个信息通信技术时代,作为软件研发机构,我们需要思考如何构建AI(人工智能)战略。

我在软件研发领域工作了30多年,其中十年在大学任教,十年在企业从事软件开发、测试和技术管理工作,*近十年又回到大学任教和研究软件工程。 我非常关注软件工程,尤其是软件工程的演化。

今年3月,我写了一篇文章《》,讨论了GPT(大规模预训练语言模型)出现后软件工程发生的巨大变化,进入软件工程3.0时代。

相信在座的大部分嘉宾都读过《失控》这本书。 近日,该书作者凯文·凯利出版了一本新书,名为《5000天的世界》。 为什么叫5000天呢? 因为大约十年左右的时间,将会发生巨大的变化。

在谈到他的新书时,他提到人们对人工智能的关注不够,人工智能被低估了。 从长远来看,他相信人工智能将会像火、电、书写等一样对人类产生影响,并具有变革的力量。

*近,我看到一段采访斯坦福大学副教授兼人工智能实验室主任吴恩达的视频。 吴恩达( Ng)是全球人工智能和机器学习领域*权威的学者之一。 他说:人工智能就像100年前的电力。 它将给每个行业带来巨大的影响和改变,所有行业都将面临转型。

GPT的发布更是火上浇油。 从去年11月份开始,我们就一直在讨论GPT和大模型的话题,每天都可能会发布相关消息。 在中国,有人称之为“百模大战”,类似于多年前的“千团大战”。 华为、科大讯飞、百度等多家公司都推出了自己的机型。 GPT的发布激发了人们的想象力,并像当年推出时那样迅速扩大了市场。 这意味着AI解锁的时刻已经到来,或许比我们过去想象的任何一波AI浪潮都要激烈。 在这个快速变革的时代,我们需要拥抱大模式,保持好奇心,与时俱进。

我们也看到了一些很好的例子。 例如,微软将所有的资源和精力投入到人工智能领域,all-in AI。 可以说,微软已经将人工智能视为公司的战略要素。 微软将AI技术和GPT能力集成到其产品中(如谷歌、微软、微软),这表明了他们在AI方面的战略。

鉴于人工智能技术在软件研发领域的应用还比较不成熟,我们需要制定自己的人工智能战略。 作为每一个软件研发机构,我们都需要开始思考AI策略,并一步步构建。 过去,我们可能只是尝试过AI技术,但并没有将其视为战略的重要组成部分。 我们只是抱着尝试的心态去使用它。

软件开发中,我们还没有充分利用人工智能技术。 虽然人工智能技术在某些行业的应用比较多,比如高铁、航空等,但我们在软件研发方面的应用仍然不足。 因此,我们需要构建人工智能相关的人工智能战略。 那么,如何构建呢?

我将简单地将构建人工智能策略分解为三个步骤,以帮助软件开发组织构建人工智能策略。

首先,我们需要改变对人工智能技术的认识,重新定位其在软件研发中的作用。 过去,我们可能只将AI技术视为一种辅助手段,比如代码编写过程中的代码提示、函数名补全等。 虽然这些功能确实有一定的帮助,但实际作用有限,只是提供了几点帮助。 在测试领域,我们使用人工智能技术进行GUI测试、API测试等,甚至在单元测试中我们也使用深度神经网络等技术。

然而,这些应用程序仍然只是我们需要连接以形成更完整的人工智能系统的点的示例。 这就需要我们从**步开始,改变对AI技术的认识,将其视为一种能够覆盖整个软件开发流程的重要能力,而不仅仅是局限于某些特定功能的应用。

接下来,第二步是扩大人工智能的应用范围,逐步向更具挑战性的领域努力。 首先,我们可以从简单的应用入手,比如在开发工具中加入更强大的AI功能,提供更智能的代码补全、自动化测试等功能。 随着我们对AI技术越来越熟悉和掌握,我们可以开始探索更复杂的场景,以提高软件开发的效率和用户体验。

把它变成一个更可行的解决方案、一个实用的框架。 过去我们可能只是在一些特定的点应用了一些AI技术,并在GUI测试方面取得了一些突破。 但现在情况不同了。 基于大模型的技术,如代码生成、代码审查、代码优化、代码解释等,给了我们更广阔的可能性。

过去,许多遗留代码可能已被废弃,因为 IT 人员流动性很大,因此新员工可能无法理解以前编写的代码。 但现在我们可以依靠强大的GPT或者大模型来帮助我们理解代码,或者回顾新人的代码。 因此,现在我们可以使用代码大模型,在现有大模型的基础上进行微调或者优化,并与我们自己的代码相结合,然后训练出适合我们应用的大模型。

两周前,华为发布了盘古大模型和大码模型的演示,确实给大家带来了巨大的震撼效果。 我们现在还可以从大型模型中为用户故事生成验收标准、测试用例和测试脚本。 这里的截图都是我自己从头到尾截图的。 但需要人机交互,通过适当的引导和不断的细化,使模型能够更好地应对各种特殊场景和负面场景的测试用例生成。 所以,从整体上来说,我们的测试方法和过去是完全不一样的。 它采用了AI技术,更加智能。 过去我们只使用了自动化测试的一些点,本质上是进行了测试的自动化,而不是真正的测试自动化。 今天斯坦福大学副教授:人工智能与火、电力、书写,我们可以看到真正的自动化。 不需要写一行代码,不需要编写测试用例和脚本,我们可以通过自然语言交互自动生成测试用例和测试脚本。

在数字化转型中,我们不再把计算机技术、人工智能技术当作支撑业务运营的工具,而是逐渐将它们融合起来。 这不仅仅是简单的整合,而是更广泛的整合。 未来,或者说从现在开始,人工智能技术将成为我们数字化转型的核心技术,给我们带来更多的机会和可能。

这项技术是我们业务系统的核心优势。 正如微软所说,这是一项决定性的技术。 不同的是,人工智能已经渗透到我们身边,它决定了企业的运营效率和竞争力,这取决于我们对人工智能技术的应用和能力。 这就是我刚才提到的,我认为此时此刻,我们正处于软件工程的新时代。 因此,我把传统的软件工程(以瀑布模型或V模型为代表)定义为1.0,把我以前所说的“现代软件工程”(以敏捷等为代表)定义为2.0。 从今年开始,我们进入软件工程的3.0时代,也就是大模型时代、智能化时代,或者说是真正的数字化时代,因为软件的形态发生了巨大的变化。

在1.0时代,软件更多地作为一种产品而存在。 2.0时代,软件作为服务(SaaS)存在,这使得持续交付和持续集成变得有价值。 如今,软件以模型的形式存在。 我们可以看到,一个合适的GPT模型并不局限于特定的任务,而是具有多种功能。 有了合适的GPT模型,我们就可以执行翻译、文章摘要、代码生成、测试用例生成等许多任务。 模型是具有多种功能特性的真实软件。 这些功能特征并不是一一开发出来的,而是模型本身所具备的。

这个时代,模型成为核心,驱动开发和运维。 在1.0时代,我们通常只有一个闭环,而在2.0时代,我们有两个圆()。 在3.0时代,我们有三个圈,加入机器学习(ML)作为驱动力。 之所以用1.0、2.0、3.0来形容,是因为它符合软件演进的过程。 开发软件也是一个逐步迭代的过程,版本(1.0、2.0、3.0...)不断演变。 未来将会有更多的AI原生开发。 所以,很多年前,我们开始拥有云原生。

因为我们已经进入了云计算时代,所以我们有了云原生开发或者云原生平台。 未来AI也可能成为一个平台,我们将会有更多AI原生的应用。 您可能会想,什么是 AI 原生应用? 这是从一开始就从AI开始,这将不同于在原有软件中加入AI技术。 就像平台或工具是从以云为中心的角度开始的,而不是从传统的独立系统开始,慢慢演变成云系统。 因此,如果从一开始就构建一个云系统或平台,它就会更有弹性、更有韧性,更能体现这种能力。 这与构建可能笨重或复杂的系统不同,因为云的功能和弹性将无法实现。

第二步,我们从简单的入手,以便可以参考一些工具。 如果您认为不需要参考工具,因为有些人喜欢重新发明轮子,那么您可以构建自己的工具,这也很好。 但我们通常鼓励使用现成的工具(如果有的话),就像开源大型模型的情况一样。 近日有消息称,Meta()与微软联合发表声明:Llama 2开源版本可免费用于商业用途。 因此,我们可以基于开源大模型Llama 2,构建自己的大模型。 此外,与过去不同的是,我们现在认识到模型的价值,更认识到数据的价值。 因为我们模型的力量取决于良好的数据。 如果我们有好的数据,我们的模型就会有更好的能力和更准确的输出结果。

因此,我们首先构建自己的大模型。 你可以基于开源大模型构建自己的模型,并对基础大模型进行微调,但*简单的方法是直接调整API或调用其他大模型的接口。 另一种方法是使用知识库或具有过去积累的知识的数据。 您甚至可以构建一个包含知识或规则的数据库来保存这些数据。 然后,我们可以通过方法将它们绑定到大模型上。 通过这些知识或者数据,我们可以做进一步的优化或者调整,比如利用知识库的规则来验证大模型输出结果的准确性,也可以适应我们的业务,解决数据时效性问题。

然而,对于更有实力的大企业来说,他们会训练自己的大模型,但这是*困难和*昂贵的方法。

下一步是应用这个大型模型的能力。 我们同意代码是大型模型应用程序的一个重要领域。 因此,我们需要一个编程助手来帮助我们生成代码、审查和解释代码以及执行测试。 虽然我们有编程助理和测试助理可以生成代码和测试,但仍然需要开发人员和测试人员进行审核。

更进一步,我们可以找业务分析师进行业务分析,了解客户和用户的需求,帮助梳理需求。 同时,大型机型可以在运维中发挥重要作用。 微软专家将在AIDD会议上分享这方面的案例,利用大模型发现线上问题、诊断异常问题、对问题进行分类。

这样,一个基于大模型的工程平台就会慢慢成长起来,可以帮助我们进行任务规划。 *近在这方面的研究方面做出了一些努力。 这个平台还可以帮助我们进行自我反思,因为短期记忆对于大型模型来说是有问题的。 通过其他手段或者提示工具,比如GPT发布的代码解释器插件,可以对文件进行存储和保存,可以增强大型模型的长期记忆能力。

我们已经讨论好了工具app开发,那么我们*终可以构建一个基于大模型的工程平台,进一步形成一个完整的端到端大模型应用框架。 这个框架强调了前面提到的数据的重要性。

在数据层面,我们需要在数据资源、数据管理和处理方面进行投入。 因为*终每个组织或团队的应用的有效性取决于数据的质量和数据处理能力。 数据处理还体现了数据自我管理和数据工程技能。 这里显示的大型财务模型的第二层是数据工程层。 我们应该清楚这一点,因为大数据的概念已经讨论了十年。

接下来的第三步是组织和流程的标准化。 由于人的问题一直是*困难的问题,所以我们将在第三步中处理它。 组织是可以重组的,我们可以根据大模型能力的应用不断缩小团队规模。 有一种极端的说法,一个强大的人可以在大模型(作为助手)的帮助下独自完成一个产品,但这很夸张,并不需要那么多人。 我们需要更多有能力的研发人员,有更多的助手,就像海军陆战队一样,拥有强大的工具和武器。

今天我们也需要好的工具来提升我们的能力,这样我们的竞争力才会有很大的不同。 所以很多初级工程师的职位基本上可以取消,但同时我们可能会招收更多的高端人才。 各种角色应该存在,包括产品经理、开发和测试职位,但还需要更高级的开发人员和测试人员,每个人员可能有一些助理,例如代码助理和测试助理。 这样,我们就可以让团队变得更加精简。 这就是我们谈论特种部队或美国海军陆战队的原因,他们拥有强大的工具来支持他们的行动。 所以,他们人数虽少,却能成就大事,甚至可能比几百人的团队还要有效。 这就是工具的力量。

人工智能的力量对我们来说非常重要。 其中,人机协作发挥着重要作用,而人工智能这个超人,不仅仅只是作为助手而存在。 在前面的讨论中,大模型主要起到了编程助手、测试助手和运维助手的作用。 它也可以作为 BA 助理存在,但这不是唯一的情况。 当你层次低的时候,也许他是你的师傅,你是他的助手。 或者,当我们的能力相当时,我们可以互相学习对方的长处。 可能他在某些方面更强,你可能在其他方面更强,从而互相帮助。 他拥有丰富的知识,几乎涵盖了世界上所有的知识,而你的知识却非常有限。 虽然他各方面都不比你强,但很多时候,他就是你的师父。 如果涉及到建筑,他可能是你的顾问和专家,可以给你咨询和建议,尽管他不能自己完成建筑工作。 他可以向你传授知识,解释什么是好的设计模式,或者什么是适合你需求的设计模式。 因此,他可以提供更多的帮助。 在每个环节、不同项目、不同时期,各自的能力都会有所不同。 因此,这种合作关系发生了变化。 有时你是他的助手,他是主人; 有时他是助手,你是主人。 所以我认为我们应该从更广阔的角度来看待这种伙伴关系,而不仅仅是作为助手。

另一方面,确实存在问题。 如果你用它来生成代码或测试用例,可能会很不方便,因为你仍然需要逐字逐行输入提示词。 我们能不能有一个平台支持这种工作,包括生成提示词的助手,甚至可以帮助你生成更好的提示词。 或者多个开发人员可以共同生成测试用例,以产生更好的提示词。 这样,我们之间的合作就会更加顺利。

当然,您的组织不想采取任何行动,这没关系,因为五年或十年后,大多数企业将不再存在。

如果您真的想在竞争中生存下来,您可以乘坐下一趟航班,因为我们将在8月18日至19日举办AIDD峰会,期待您的参与。

谢谢你们!

下载演讲PPT:关注本公众号,输入“AI攻略”即可获取下载地址。

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多