头图

大家好!我是爱吃、爱玩、更爱学习技术,IT界新晋小红人,开发者的好朋友——比特熊!

今天是我们【比特熊故事汇2.0】AOAI的特别专场,我们在四月份连续做了4场【比特熊充电栈】Azure Open AI相关的技术结合实践的讲解,那么我们五月的开场直播继续来做AOAI的专题。我们今天请到了三位风格不同的嘉宾讲讲自己与技术圈最新大热门的故事!

image.png
image.png

比特熊:GPT也火了一段时间了,刷新了很多人的认知,刚拿到OpenAI API接口的时候以为只是简单的接口调用,其实更重要的是写好Prompt去引导。

许豪:Prompt听起来很专业,其实指的就是与模型交互的方式,最直观的方式是使用自然语言。年初开始随着模型的发布,我接连体验了GPT3、davinci-003、ChatGPT和GPT4等模型,并进行了一些个人研究。我的一个感受是,这些模型越来越具有人格化,与人类对话越来越相似。GPT3像一个小学生,需要逻辑上的指导,而GPT3.5像一个高中生,可以进行一些深层次的推理,但仍有一些不足。GPT4像一个大学生或研究生,它的能力非常强,尤其是在引入外部数据后。这些模型的能力不断增强,原因之一是 “思维链”的诞生,即模型能够从上下文和给定的推理形式中获得信息。所以正确使用提示词,把意思表达清楚,是在大模型时代跟模型共存的一个核心要点。

比特熊:为什么我们大语言模型是以Prompt方式去操作?

许豪:过去的几个月里,我一直在读这个领域的论文,和许多用户进行交流。我发现有一个认知问题,以前我们通常使用单一的机器学习模型解决特定任务,比如分类和识别。但是现在的大型模型能够处理各种任务,具有更强的通用性,这意味着我们进入了通用人工智能时代。这些大型模型能够同时完成多个任务,模型的能力变得非常强大。

然而这也引发了一个问题,我们发现通过不同的提示词,可以指导模型进行不同的操作。但是行业中的一些企业发现他们无法通过模型做出推理和总结,比如他们希望模型告诉他们上个季度的财务报表是什么样子。因为模型是使用2020年或2021年的数据训练的,它无法提供最新的信息。于是他们想要微调模型,将新的知识引入模型中,重新训练模型。然而,在大型模型时代,这种范式发生了显著的转变。我们可以引入额外的数据,而无需微调模型。我们不需要改变模型本身,只需引入数据即可。例如,我们可以使用外部的搜索增强或语义向量等方法,将文本数据引入模型。

这些方法已经演化到两种流派,一种是无记忆式交互,每次与模型交互时,我们将数据写入提示词中,让模型进行推理和总结。这种方式看起来很有趣,但天花板很低,因为它只能完成一些简单的任务。另一种是有记忆式交互,我们向模型中添加记忆,通过向量数据库等方式实现,这种方式使模型能够在各个行业和业务场景中得到应用。特别是在GPT4之后,模型的推理和总结能力非常强大。给定各种数据,它可以帮助解读并提供有建设性的意见。我们现在跟客户去做应用的落地,基本上就是按照这种模式。

在大语言模型的落地过程中,我总结了五个关键要素,称之为五大支柱。这五大支柱是在大模型应用开发过程中不可避免地涉及到的核心部分:

LLM AI 应用开发五大基石

⚫第一个是模型。因为我们现在看到很多大型模型的发布,但大型模型并不等同于大型模型应用。模型发布后,它可能只能进行对话,例如简单的Web界面交互,它属于第一种无记忆的交互应用。你只能通过对话与模型互动,将大部分数据写在提示词里面。而且这些提示词可能还受到token的限制,有些可能是500个,有些可能是2000个,还有些可能是4000个。在模型的实施过程中,我们发现不仅需要利用模型本身,还需要使用一些嵌入模型,就是将文本转化为向量的过程。

⚫第二个方面是关于使用模型的具体范式,比如使用记忆式和无记忆式的应用。记忆式应用可以直接从互联网搜索并拉取知识,然后进行生成。另一种是将企业内部的知识库转化为内存级别的缓存,并在向量表中搜索以获取所需的语义信息,叫cash assistant。还有一种是多轮对话,让模型自动生成一些知识并进行向量化。目前还没有看到这些应用范式的天花板,每天都有新论文、新玩法,因此我们需要不断学习和探索。

⚫第三个方面是应用开发工具的框架。作为开发者,我们需要有工具、SDK和框架来开发应用程序。这对于大型语言模型的开发非常重要。例如,我们可以使用Prompt来与模型交互,而无需编写代码。这种变化在开发过程中会改变模型调用的框架。微软有一个名为Semantic Kernel的大语言模型SDK,开源社区还有一个叫LangChain的SDK,待会卢老师会讲到,这两者目前是主流。它们主要用于控制提示词、处理语义链等。使用SDK,开发者可以使用经过封装的结构来快速开发应用程序,使开发过程更快、更顺利。

⚫第四个方面是平台底座的重要性。微软目前正在朝着完全基于AI的基础设施方向发展。例如,如果我们要进行多轮对话,可能需要模型帮助生成知识,并在其上进行推理或指令控制。在这个过程中,我们需要处理多轮与模型的对话或模型自调用的递归。如果出现网络断开等问题,我们需要恢复之前的状态。微软的云平台提供了一些任务持久化的机制,如Azure Durable Functions,这些机制在API调用过程中帮助我们实现持久化,微软的云平台正朝着支持AI应用的方向演化。

⚫第五个方面是产学研结合。除了大型模型、应用范式和云平台外,微软还拥有一些小模型项目,如DeepSpeech Chat和BioGPT等。未来可能出现的趋势是大型模型与周边小模型相结合,共同协作工作。

比特熊:卢老师今天会给大家更多科普一下Semantic Kernel和LangChain的区别,它们各自适应的是哪一些不同的场景。

卢建晖:首先,我们需要转变传统的训练、数据获取、测试和部署的方式。现在我们可以使用面向Prompt的编程,通过简单的指令让计算机完成相关工作。以前,我们通常使用编程来完成这些任务,但现在我们可以使用自然语言。有人担心智能化会取代我们的工作,特别是在编码架构方面,我们如何将传统代码与面向Prompt的编程融合是一个需要思考的问题。研发团队可能有一些新思想,我们要思考如何将它们融入智能化应用中。在架构时,我们要考虑如何划分和管理Prompt与代码之间的关系。最早的例子是LangChain,它是一个支持Python的平台,为许多生成式AI和智能化应用提供了示例。LangChain的作者主要面向AI编程,可以随时调用不同的接口。例如,在处理非结构化文档或不同模型和产品调用时,LangChain提供了很好的接口和方式使我们能够快速适应不同的应用场景。

但是使用LangChain时存在一个问题,随着Prompt的不断增加以及集成各种生成式AI,工作变得更加复杂。为了处理这些问题,出现了Semantic Kernel。Semantic Kernel并不仅仅支持.NET,它相对较轻,面向应用级开发。它能够更好地管理Prompt,并将其转化为不同的技能和能力,这在行业应用中非常重要。两个框架都有各自的优势,具体使用哪个要根据实际情况来定。如果你有丰富的AI经验,LangChain可能更适合你,因为它基于作者以往的AI经验构建而成。而Semantic Kernel在应用层面对开发者更友好。现在,两个框架都在不断演变和进化,每周都有更新版本发布。这些变化都在不断增强Prompt、思维链和语义使用的方式。总的来说,我认为这两个框架都是很好的选择。

图片

比特熊:卢老师能不能继续科普到云原生场景里面去讲一讲。

卢建晖:目前,云原生场景已经非常普遍,但如何将云原生场景与智能化应用融合是非常重要的一部分。在这方面,我们必须谈论不同的智能化应用。举个例子,最近很多人都在考虑如何将技术文档与ChatGPT应用场景相结合。在这种智能化场景中,我们需要处理非结构化文档管理和信息提取等任务,这些都是我们以前拥有的技能,例如AI技术。在寻找企业解决方案时,我们可能需要使用企业级数据,例如在Azure上进行认知搜索或文档搜索。所以,这些技术是不能忽视的。

另外,对于一些Serverless服务,我们需要根据不同需求将技术细分,例如Micro Service和Azure的容器应用。我们可以将文档和档案放置在一个微服务上,同时利用各种API。在企业中,一个简单的例子是查询出行天气情况并自动发送邮件给出差人员,我们可以通过微服务封装API,将其融入到GPT应用中。在前端和后端中,我们可能需要调用不同的服务,例如在表单中提取信息时可能需要使用OCR,并结合认知服务的OCR场景进行扫描和关键字段提取。当然,现在我们提取信息更快捷的方式是使用Open AI,即生成式AI的Prompt写作,以快速提取所需信息。这些都是我们原有的场景,只是加入了智能部分,将我们的云原生提升到智能云原生阶段。

对于移动应用,除了越来越智能化之外,我们可以在上面触发更多功能。在智能应用中,我们可能会开发一些APP和前端,结合低代码工作和智能化服务,形成更快速和实用的低代码场景,这也非常必要。比如之前我帮助教育部门开发的聊天机器人服务,或者随时可提问的服务。可以应用于许多场景,例如语音转文本,从文本中找到我们所需的知识点,不断整合和拓展,将更多应用场景纳入其中。另外,我们还在思考如何更好地落地这些技术,例如数据安全和用户体验。在云原生中,Azure已经提供了出色的数据保护,对企业很友好。所以,建议大家在使用OpenAI服务之外,也尝试使用Azure的一整套解决方案,来整合你的智能化的应用。

比特熊:在实践辅助客户这方面,我们请已经有很多经验并正在拓展实践的周老师来分享!

周岳:就落地而言,我有一点感受:无论你是企业或组织的管理者(不仅指技术管理者,还包括董事长、CEO),或者是开发者,我们共同的任务是要不断刷新自己。对于企业管理者而言,在近期接触到许多董事长和CEO级别的人后,他们对GPT大模型技术的关注启发了我。这个时代的技术已经来临,不再仅限于技术圈内的人关注和学习,而是从企业角度,从上至下都在关注。因此,我要强调刷新我们对GPT的认知。很多企业可能还在犹豫,认为这只是一个热点或噱头,但我要告诉大家不要等待和观望,而是要行动起来。微软的产品已经全面采用了AI和GPT技术,包括Office全家桶、CM系统以及云基础设施。我之前接触的一些企业通过培训后,已经将GPT应用灰度发布上线,并将其融入到现有产品中。所以,我要对管理者们说,不要再等待和观望,应该着手行动起来。

对于技术圈的开发者们,我想分享几点新认知。首先,不要认为大模型很难。实际上,如果仔细看技术文档,了解OpenAI的API,核心只有两个:提示词和向量。这样简单的模型却有强大的能力,上手非常快。有了框架和简洁的API文档,开发者们可以尝试将AI能力应用于自己的项目和产品中。正如豪哥和卢老师介绍的,有了框架和API文档的支持,开发者真的可以在自己的项目和产品中加入AI的能力。因此,我们说OpenAI和GPT的出现值得我们重新思考和改变,我觉得这是一种非常实际可行的事情。在我多年的技术工作中,还没有看到一项技术具有如此巨大的影响力和潜力。我们自己的产品已经加入了GPT的能力,如果你们还在犹豫,我建议你们尝试与GPT交流,了解它的能力,看看市面上公开的应用案例。回想一下自己的产品,只需加入一点AI能力,是否能让产品有突破性的变化。在竞争中,如果你们能更快一步,对你们的产品市场价值将有很大的助力。最近两三个月,我接触到许多企业,他们都乐意行动起来,而不仅仅是了解技术而已。这给大家带来了信心,我们真的要开始行动,不要再等待了。

我们必须承认,GPT的知识储备已经超越了任何人,这得益于其庞大的预训练量和ChatGPT的威力。GPT内在的知识已经非常丰富,不需要额外添加企业私域知识,这种内置的知识本身已经非常强大。通过结合一些专业、职能或业务方面的提示词,我们可以让GPT具备某个特定方向的人格,使其在某一职能或业务领域具备专属能力。

这仅仅通过提示词就可以实现,从而赋能企业。无论你是销售人员、市场人员还是其他业务层面,比如生成文案等,你都可以拥有一个专属的行业专家助理。很多企业已经开始使用这种方法,我们自己也有类似的产品,并取得了良好的效果。通用人工智能的大模型能力已经可以应用于企业落地。

像刚刚提到的,有记忆的范式,我们可以结合企业独有的知识进行开发,这些独有知识可能由于频繁更新或不公开的原因,无法通过大模型进行训练。但我们可以利用有记忆的方式开发针对性的应用,比如客服,通过结合企业知识的智能客服或销售机器人,可以产生颠覆性的效果,明显地节省成本。在前面的讨论中,我们看到了很多通信行业的需求,都可以落地。

image.png

比特熊:上面的技术分享一定给大家带来了不少思考,比特熊故事汇的特色环节也不能少,周老师应该是是一直在这个技术层面深耕,在事业规划方面有什么经验分享吗?

周岳:我不敢自称人生导师,这个责任太重了。我只想分享一些个人看法。我们很幸运地参与了这个时代的发展,这个大模型的出现对我们来说是非常好的机会。可能在这个直播间的观众中,有些小伙伴比我还年轻,我相信对你们来说更有好处。我建议大家保持对技术的敏感性,当一个新技术出现时,要积极主动地观察和学习。当你验证这个方向可行时,尝试动手去使用它。现在的一些技术门槛越来越低,使用起来非常简单。不像过去一些新技术,需要深度学习等专业知识,很难上手。从大模型时代开始,很多技术变得普适化。不要置身事外,保持敏感度。相信我,当未来有新技术出现时,你一定会受益。

比特熊:卢老师其实是一位真正的老师,有可能你随手点开直播,就是卢老师在播,感觉卢老师每天的时间都要超过24小时了,一般比特熊teams找卢老师,他又是一个非常及时回复的状态,卢老师是怎么做到的呢?

卢建晖:我对技术非常热爱,也很喜欢技术布道,以AI为例,拿到Azure OpenAI账号后,我经常花时间去探索和玩耍。要理解一项技术,首先你必须深入了解它,所以有时候我会找豪哥,直接给他一段代码说我已经搞定了,或者我会在上面尝试不同的内容,然后与不同的人讨论。在业余时间,我也会阅读书籍或尝试编写代码。有些人他们会先把一本书看完再写代码,可我会边看边写,这给我带来成就感。我会感到自己一直在学习,包括整天拿着手机看各种内容。

当然,我也会关注一些与技术无关的事情,因为技术要在生活中得到体现。去年我参加了Build大会,制作了一些有趣的短视频,其实这些视频是我在短视频平台上看到的段子,想着能否用这种方式推广,所以我自己尝试了一下,效果还不错。所以,你必须在生活中寻找灵感,多去尝试,这样才能获得热情。可能大家会看到我每天都在直播,实际上我也做了很多其他工作,所以需要找到自己的平衡。

比特熊:豪哥讲到产品和技术时思维逻辑都很清晰,他其实以前是一个专门的技术人员哦,是什么促使你从技术转变到marketing呢?

许豪:我有一个习惯,就是打破常规,摆脱路径依赖。由于我的性格,我喜欢尝试一些新鲜的事物。技术做得久了,我会思考是否有一些更新的领域可以学习新的东西,从不同的角度思考问题。以前我从事技术开发,写过一段时间的代码,也做过技术架构方面的工作。后来我转型到市场营销领域,这是一个很大的跨界。但是我从另一个视角重新审视技术,就是在做marketing时,如何让受众理解技术。这对我来说是一个全新的课题。能否将一些抽象的概念,例如大模型,进行解读和理解,然后向受众传达,这会带来不同的体验。整个思维体系建立在自己对事物的理解基础上,对我个人来说也是一种思维上的训练。通过这种跨界的职业转换,我能够接触到各种各样的视角,从不同的角度看待同一个问题,对我来说非常有吸引力。

图片

比特熊有话说

本期三位嘉宾风采各异,一位是大家都很熟悉,多次全力支持比特熊直播间、多项全能的卢老师;还有全情创新、善于打破常规、最懂技术的市场人豪哥;为最近大热Azure OpenAI所奔忙、产品实践经历丰富的周老师!三位的各自经历与技术更新迭代密不可分,可以说他们通过内心热爱、刷新学习、创新意识等,与演进中的技术圈子一起向前!

简短的直播表达中,并不足以认识他们的每一面!但对新技术的钻研和热情,行业创新的敏感探索,打破常规的勇敢尝试,跟很多开发人和技术从业者身上的闪光点隐隐重叠!

每一个着急了解技术最新发布、一次次将想法落地实践、不断挑战固有思维的大家,推动了技术向荣,也成就了加速发展的技术生态!

图片

图片

扫描比特熊个熊微信二维码
加入【比特熊粉丝后援会】
与开发者一起嗨聊,期待成为你的好友~

图片

图片

点我重温本次直播~


微软技术栈
418 声望994 粉丝

微软技术生态官方平台。予力众生,成就不凡!微软致力于用技术改变世界,助力企业实现数字化转型。