普通开发者如何玩AI| 践行者第39期

2024-04-25 15:00:19
践行者
原创
547
摘要:随着软件开发技术的不断迭代升级,AI逐渐成为开发者最为关注的方向。



随着软件开发技术的不断迭代升级,AI逐渐成为开发者最为关注的方向。AI技术不再是遥不可及的高科技,作为一名普通开发者,怎样让AI技术更好地为我们所用呢?本期践行者邀请到了Gitee AI技术专家林家桢老师和开源中国CTO红薯老师,一起看看他们如何教我们“玩转”AI。

一、直播实录

Q1:开发者需要了解哪些AI的知识点?

林家桢老师:

可以抓住AI技术关键词。当下最热门的技术是围绕Transformer构建的一系列技术,这是一个关键词,抓住Transformer可以往不同方向找到更多技术、应用、场景相关的关键词。


作为一名开发者,可以抓住关键词和关键词的组合在平台社区检索信息,获取AI相关的知识。我们可以看到在开源社区中已经有很多广泛的尝试。通过善用搜索引擎,我们可以有很多不同领域的想法,这些想法其实会反过来激发我们产生新的灵感。

Q2:开发者可通过何种渠道低成本体验AI开发?

红薯老师:

大模型其实在笔记本上都跑得起来,而且现在有很多开源小工具,包括最开始的ChatGPT以及百度、清华的一些免费Chat 应用。


就AI Chat 的应用,我认为如果大家对 AI完全没有任何基础的话,可以先去使用、感受一下,这与以往所认识的AI是完全不一样的。我们过去主要做人脸识别,大家可能对此非常熟悉,但现在AI 的应用能力与以往完全不同,因此可以去感受一下AI能力。


在这个阶段,我们可以开始思考:AI和我目前的工作、业务会有哪些结合点。例如,我们可以开发一个博客应用,让AI辅助生成部分博客内容。在初期阶段可以进行探索,一旦业务初具模型,接下来的关键问题并不在于技术的具体运用,或是通过简单的方式在机器上去运行一些开源模型,更关键的问题在于如何将AI能力与我的业务有机结合。这是一个需要从业务角度思考的问题。

Q3:普通开发者如何向AI转型?

红薯老师:

对于AI开发,更多人是从入门到放弃的状态,因为这里牵扯到各个方面的知识。对于AI应用的开发,我认为要感知业界在做什么,找到适合自己的领域切入,这样才能做出自己有特色的应用。


林家桢老师:

我认为可以结合自身业务需求来看这个问题。这可能需要开发者先了解现在AI水平,而只是依赖新闻报道,可以实际去了解当前项目的进展。在开源生态中会有同行之间的review,所以report的置信度会高一些。这是开源生态中很重要的一点,与学术的同行评议类似。


在开源领域,当我们开源自己的项目、的算法和展示自己的AI 能力时,这些相对更具有落地意义。我们在开源生态中接触AI的应用,了解具体应用领域,再回头审视自身业务,看看我们有哪些机会可以应用到这些技术,然后做一些落地的尝试。


现在有很多可以尝试的点。在我们团队中,有一些小伙伴很喜欢二次元和虚拟人物。目前,虚拟人物的动画形象通常由人类扮演者控制,通过动作捕捉技术捕捉人物的face structure,再展示虚拟人物形象进行直播。然而,有一种新的应用方式,利用Chat机器人构建一个专属的虚拟人物,它能够直接和你对话。这实际上是一个大模型,也是一个很有意思的应用。在开源社区上,还没有人完整地落地这件事。


因此,可以看到有很多类似的结合存在。不仅局限于知识库、问答、总结和摘要,而是可以将其与业务需求和个人兴趣结合起来。其实还有很多尚待挖掘点可以做。

Q4:前端开发人员应该学习AI的什么方向?

我了解在Hugging Face上开发AI应用时,通常会使用Python编程方法,而Python有专门的库用于构建用户界面(UI),但我觉得这种方式相当繁琐,因为我发现学习这方面的知识相当费力。


我一直想做的事情是让未来的AI应用可以利用当前流行的技术。比如说,通过调用API的方式,结合现有的前端技术,就能打造全新的AI应用。这样一来,整体体验会更加出色,用户感受也会更好。因为目前前端技术生态非常成熟,与Python生态完全不在一个层次上。


因此,我们希望未来的AI Chat能够帮助前端开发者快速构建AI应用。这样一来,门槛将大大降低,使得开发变得更加便捷。

Q5:大模型的开源和闭源之争,开发者如何选择?

红薯老师:

去年6 月,我们曾专门做了一次关于大模型的开源与闭源的讨论。


以下是大家争论得比较激烈的点:

  • 现在开源的大模型是否真的开源;
  • 开源的大模型是否会越做越差。

“开源”这个词到现在已有几十年了,其定义早在很久以前就提出了。现在AI大模型是在短短一两年内崭露头角的。大模型的“开源”的确不符合传统开源的官方定义,所以它的确不算是严格意义上的开源。许多训练过程和数据都未公开,当前的开源大模型更多类似于以往我们所谓的共享软件或自由软件,即提供的是二进制版本。


如果有人重新定义“开源”,可能会更符合当前AI的发展趋势。目前,各方纷纷推出各种开源大模型,基本上已经偏离了传统开源定义的道路。


林家桢老师:

我更加关注基准测试(Benchmark )。我们首先要确立评估标准,再根据不同规模来评判模型的好坏。在学术价值观方面,GPT4 最新版本的评分毫无疑问是最高的,其与人的互动表现最佳。但在实际落地应用中,确定哪种模型更好并不是一件简单的事情,因为我们缺乏一个能够适用于所有场景的评估体系和标准。


所以,在实际落地项目时,我们通常会先利用OpenAI运行一个比较好的状态,再通过在线推理,将其应用于实际场景并测试效果。如果效果好,确定该场景可行后,我们会将这个开源模型稍作缩小以便本地化部署,随后在该场景中进行进一步的调优和应用。


从技术角度来看,大模型应用大致分为三个阶段:

  • 第一个阶段:预训练大模型,需要投入大量资金,可以由个人开发者或者开源生态实现;
  • 第二个阶段,精细化调整阶段(FIN);
  • 第三个阶段:promotion,即给模型指令,这是模型落地部署的比较关键的阶段,更接近于开源生态,就像是软件工程的开源。

Q6:企业想用AI赋能应如何做?

红薯老师:

  • 积极拥抱

我们至少先应用起来。这也适用于我们自己的公司,我们之前是从事过DevOps方面, 所以我们一直在探索如何更好地与AI结合。我们只能使用各种各样的产品,再去思考具体的结合点。

  • 公司鼓励的氛围很重要

对于公司的领导者来说,鼓励大家去尝试这种探索是最重要的,而不是关注具体的结合点。我认为同事们可能有着创造性的思维,会提出更多结合的好点子。


林家桢老师:

AI赋能是一件挺难的事情,需要小伙伴对自身业务有着深刻的了解。目前,更多的有关AI信息输入是必要的,以明确AI当前的能力边界。


可以从多个层次了解AI能力:学术、大类应用、具体AI项目。其中AI的应用项目似乎已经开始出圈了,不仅是在Gitee等平台,在许多娱乐向内容网站也出现了不少。开发者门都有自己的创意,也愿意分享自己的idea与demo,我认为这种分享往往能激发更多的灵感。

Q7:有了 AI,传统软件开发的工作模式会发生变化吗?程序员会失业吗?

红薯老师:

我现在还在写代码,对于AI提效真的深有感触。利用现有的一些AI编程工具确实可以提升工作效率。相比以往需要进行搜索的情况,现在很多时候AI会自动给出答案,并根据上下文给出代码的建议。


这里的两个问题:一个是现状,另一个是趋势。那我们是否认可“程序员会AI替代”这一趋势呢?AI肯定会不断提升,当它提升到了40%、50% 时,可能会波及到一些比较低阶的程序员。但就当前阶段而言,AI替代程序员不太现实,甚至完全不太可能。我相信以后会有更多人在这方面取得进展,但要完全取代程序员的工作应该没有那么容易。


林家桢老师:


给大家展示一个代码生成开源项目。该项目具有代码解释、代码翻译、代码纠错和文档生成的功能,是Copilot类型的项目。它作为一个助手,帮助程序员更有效地完成任务。我自己在做计算机系统方面的工作,系统编程上更注重结构设计,目前AI在代码的提质方面很难帮我完成,现在的AI确实还有一些欠缺。


Q8:现在有哪些工AI具可以运用到开发中?

红薯老师:

我举个例子,我目前正在安排Gitee接入一个AI工具。大家经常会在Gitee、GitHub 这样的网站上看开源项目和源码。那我就想利用AI,可以在查看代码时为开发者展示代码的解读。这会用到给Gitee AI上面的算力来做提供,我认为这可能是一个很小很小的点,但是挺有意思,这就是不断地去尝试探索。


林家桢老师:

我是从事系统开发方面工作,通常一个工程文件可能长达6000多行。如果我要理解核心,需要花大量时间在不同的代码段里跳来跳去的。如果有AI 直接帮我做出总结和摘要,指出核心功能和核心函数,这会大大降低代码阅读的成本。


我非常想实现这个功能。我认为现有的AI已经能够实现我刚刚所描述的场景。但是在不清楚业务场景时,其实很难将其落地。


红薯老师:

开发者在看各种各样的项目时,需要一个快速的指引。一般情况下,他们会在线查看开源项目,只有遇到真正感兴趣的项目才会拉到本地跑一跑,所以说这个量还是蛮大的。


AI需要一定门槛。无论是租赁服务器、购买硬件还是使用云服务,成本都相对较高。此外,使用量大的情况下,比如 Gitee,成本可能会令人望而却步。我们需要评估所需的算力支持,以完成这一项目。


此前,我曾考虑另一个问题。在提交代码时,例如为开源项目做贡献或提交 PR,常常需要编写大量描述内容,包括标题、简介以及解决的问题。程序员普遍不喜欢编写文档,甚至会批评他人不编写文档。这是程序员的共同特点。因此,我们是否可以借助AI来生成这些 PR 的描述信息以提高效率。


林家桢老师


我做AI Serverless系统做得比较多,但在应用层面却缺乏灵感。刚提到虚拟数字人的应用时,我想到了一个需求,即希望它能够帮我生成单元测试。单元测试通常是程序员不太喜欢编写的内容之一。


我们有一个企业数据处理的应用场景。现在企业中有许多数字资料数据,期望可以有效利用。但由于这些数据并非总是结构化的,传统的 OCR 等自动化文字识别工具往往无法取得较好的效果。例如,说明书是为人设计的,其排版对于OCR工具而言非常复杂。这时就可以利用多模态大型模型的视觉能力,让大模型阅读说明书,结构化地输出说明书的主要内容,以此完成非结构化数据的结构化工作。我们在Gitee AI上分享了这一应用。


Q9:开源中国的运营成本高吗?

红薯老师:

其实,开源中国的运营成本很低,很长一段时间是靠一台机器支撑整个网站的流量,即使发展到现在,服务器数量也不过三五台,所以说费用挺低的。相比之下,Gitee的规模相当庞大,目前拥有超过 500 台服务器,用以支撑国内1200万开发者的需求。


随之推出的Gitee AI更恐怖。当前AI技术所需的硬件设备价格昂贵,一台机器可能高达200 万。我们希望未来AI应用开发者能够更便捷地在AI平台上选择模型,并在我们提供的服务上运行这些模型,以提高效率。

Q10:AI未来将走向何方?

红薯老师:

我认为未来是一个AI应用大放异彩的时代。现在大家把焦点都放在研究和开发这一“炼丹”的过程,但这些“丹药”到底谁来吃还是未知的。目前,大家都只是舔一舔,还没敢大口尝试。所以说,未来应该是一个AI应用蓬勃发展的最佳时期,现在也是一个合适的起步时机。


林家桢老师:

我有一个比较激进的想法:AI会越跑越远,越跑越快。目前的数据集可能是由人准备的,但未来AI可能会自行准备数据集,自我训练,变得更加强大,这种情况是完全可能的。同时可能出现类似生物进化的情况,模型的进化也有可能出现类似的优胜劣汰现象。


三、送给大家的一句话

林家桢老师:

希望各位开发者在AI时代用好AI。


红薯老师:

该吃的饭还是得吃,这些是AI 帮不了你的。

    发表评论
    通过审核后显示您的意见