阿里云开发者“藏经阁”海量电子手册免费下载 我们身处在智能时代的21世纪,日常生活中无处不见AI的应用,人工智能与传媒业的融合发展也成为内容生产行业的发展趋势。AIGC作为当前新型的内容生产方式,被广泛应用于传媒、电商、影视等行业,帮助提高内容的生产效率和多样性。 本书收纳来自张亦驰(怀潜)、丁小虎(脑斧)两位阿里资深工程师和阿里云AnalyticDB、函数计算FC、阿里云大数据AI技术三个技术团队的五篇优秀技术文章,内容涵盖基于大模型的AIGC应用及技术要点和AIGC实际应用案例。通过本书,不仅可以深度体验AIGC在实际应用场景的具体落地能力,手把手教学云产品部署,开启云上实践。还可以了解在大模型的加持下AIGC的多种可能性,帮助内容生产跨越新时代。 如果你刚接触AIGC,那么本书为你详细介绍AIGC大模型的意义。如果你已经对AIGC有一定的了解,本书将为你展示大模型云上实践,例如Hologres+大模型、向量数据库+LLM(大语言模型)等。更有模型在线服务PAI-EAS、函数计算FC云产品免费试用,一起来玩转AIGC吧! Hologres+大模型初探!让ChatGPT回答商家问题5 AnalyticDB(ADB)+LLM:构建AIGC时代下企业专属Chatbot25 人类生产力的解放?揭晓从大模型到AIGC的新魔法37 玩转AIGC,5分钟函数计算FC部署StableDiffustion服务67 玩转AIGC,5分钟使用PAI一键部署StableDiffusionAI绘画应用84 Hologres+大模型初探!让ChatGPT回答商家问题 作者:张亦驰(怀潜) 阿里巴巴商家服务团队旨在为商家提供智能化的解决方案,致力于帮助商家自助解决问题。主要的产品包括: 商家服务大厅:主要通过搜索的方式为商家提供服务,包含了工具、短视频、知识、服务专区等特色内容。同时商家服务大厅以多种形态通过不同渠道为商家提供千人千面的服务。 PC版服务大厅:功能最全的PC主站服务大厅,为商家提供多元化的智能解决方案。 钉钉商家服务大厅:通过钉钉的方式,为商家提供更加方便、灵活易用的自助服务! 千牛服务大厅:在商家千牛工作台上为商家随时随地提供客服服务。 场景版服务大厅:通过悬浮小球的方式内嵌在商家常用的页面,例如申诉中心,服务触手可达~ 万象:智能问答机器人,以问答的模式帮助商家解决问题。如果商家仍未能解决,可以进一步联系人工,通过在、热线的方式联系客服小二帮助解决问题。 总体来说,阿里巴巴商家服务团队的主要工作就是围绕“智能”和“服务”这两个关键词展开,为各个商家提供更加自助的解决问题能力,以此提高对商家的自助服务能力,同时也降低平台服务商家的客服人工成本。 在智能服务方面我们团队做了比较多的前沿探索,目前势不可挡的大模型凭借出色的自然语言理解能力,似乎在智能服务这方面大有可为,便萌生了让大模型帮助商家解决问题的想法。我们团队利用ChatGPT在智能答疑机器人场景做了初步的探索,下面是一些实践分享,希望通过这些分享为大家在商家服务、智能客服等场景提供更多的经验和思路。 一、基于Fine-tuning的初次探索 那么如何让大模型能够回答商家的问题?第一想法就是基于Fine-tuning,通过训练微调的方式提升模型垂直领域的能力,让其掌握一些商家服务领域的知识,以具备回答商家问题的能力。 1.准备数据 在知识库中筛选了一些知识并将它们的内容格式化后,整理成如下格式(jsonline): ["prompt":"淘宝商家服务大厅","completion":"2021年10月商家服务大厅升级,新增活动大促专题xxxxx"] ["prompt":"单品宝是什么","completion":"单品宝是原限时打折的升级工具,可支持xxxx"] ["prompt":"宝贝详情页可以添加多少个视频","completion":"在发布宝贝页一个宝贝在详情页中只能添加一个视频xxxx"] ["prompt":"店铺经营主体变更需要先还清淘宝贷款吗","completion":"需要还清贷款,因为店铺xxx"] ["prompt":"天猫活动商品价格力严重溢价是什么意思","completion":"溢价是指预计普惠成交价高于最低成交价严重溢价的意思是指xxxx"] ["prompt":"买家退货单号虚假、没有物流信息怎么办","completion":"1.建议您先联系买家,确认下是否存在填错运单号等情况。2.若无法联系上买家,您可xxxx"] ["prompt":"淘管家","completion":"淘管家是1688专业的分销订货平台,在淘管家 xxxx"] ["prompt":"手淘中猜你喜欢频道如何加入","completion":"手淘首页展示的猜你喜欢频道目前无法主动入驻是xxxxx"] ["prompt":"买家删除了中评/差评,店铺评分(DSR)也会删除吗","completion":"若买家自行删除中差评或修改中差评为好评xxxx"] ["prompt":"淘宝开店收费吗","completion":"淘宝开店都是免费,但为xxxx"] ... 在上述数据中,prompt字段为商家问题,completion为答案。用这些数据训练后,发现这种简单的一问一答的数据训练效果并不理想,向模型提问时,需要使问题和训练时的prompt保持高度相似时,模型才能够勉强给出较为正确的答案。 既然我们需要通过训练的方式提升模型垂直领域的能力,那么这些知识是否集中于某个领域,或者说大模型是否知道它们是否集中于某个领域呢?于是将原来的prompt按照如下方式进行了改写: •明确AI在回答问题时的身份为“淘宝商家智能客服”,在回答问题时需要保持友善的态度,并且明确其目标为帮助商家解决问题; •额外给出一个问答样例(one-shot)。按照这样的方式,最终的训练数据如下: [ "prompt":"你是淘宝商家智能客服,你聪明、友善,能够帮助商家解决问题。\n\nCustomer:你是谁?\nAI:您好,我是淘宝商家智能客服,请问有什么可以帮助你吗?\nCustomer:淘宝商家服务大厅\nAI:","completion":"2021年10月商家服务大厅升级,新增活动大促专题xxxx" ] [ "prompt":"你是淘宝商家智能客服,你聪明、友善,能够帮助商家解决问题。\n\nCustomer:你是谁?\nAI:您好,我是淘宝商家智能客服,请问有什么可以帮助你吗?\nCustomer:单品宝是什么\nAI:","completion":"单品宝是原限时打折的升级工具,可支持xxx" ] ["prompt":"你是淘宝商家智能客服,你聪明、友善,能够帮助商家解决问题。\n\nCustomer:你是谁?\nAI:您好,我是淘宝商家智能客服,请问有什么可以帮助你吗?\nCustomer:宝贝详情页可以添加多少个视频\nAI:","completion":"在发布宝贝页一个宝贝在详情页中只能添加一个视频,若您想xxx" ] [ "prompt":"你是淘宝商家智能客服,你聪明、友善,能够帮助商家解决问题。\n\nCustomer: 你是谁?\nAI:您好,我是淘宝商家智能客服,请问有什么可以帮助你吗?\nCustomer:店铺经营 主体变更需要先还清淘宝贷款吗\nAI:","completion":"需要还清贷款。因为店铺经营主体变更流程中xxxx" ] [ "prompt":"你是淘宝商家智能客服,你聪明、友善,能够帮助商家解决问题。\n\nCustomer:你是谁?\nAI:您好,我是淘宝商家智能客服,请问有什么可以帮助你吗?\nCustomer:天猫活动商品价格力严重溢价是什么意思\nAI:","completion":"溢价是指预计普惠成交价高于最低成交价,严重溢价的意思是指xxxx" ] ... 2.训练 在OpenAI目前的模型中只有davinci、curie、babbage和ada,这些GPT-3.0版本的模型可以Fine-tuning适配,但再往后的版本暂不支持。训练的价格如下: 可以看到使用训练后的Davinci模型的价格竟然高达0.12美元/1Ktokens。再对比一下最新的GPT-4和GPT-3.5模型就知道它有多贵了: 准备好数据、选择好模型后,便可以开始Fine-tuning了。方法很简单,只需要将文件上传至OpenAI后,再指定文件id和模型后即可对该模型进行训练了,具体的过程可以参照OpenAI官方文档。 3.训练结果 使用训练的模型进行测试,Prompt同样采取如下格式: 你是淘宝商家智能客服,你聪明、友善,能够帮助商家解决问题。 Customer:你是谁? AI:您好,我是淘宝商家智能客服,请问有什么可以帮助你吗?Customer:<question> 大概效果如下: 4.训练效果总结 •Fine-tuning是真的贵啊,加上一开始几次无效的尝试,很快就把免费的18美元的额度花完了,后面只能自己花钱充值了。作为一个纯正的穷哥们,虽然很难受,但也算为自己的兴趣交学费了。 •上述基于Fine-tuning的方式效果并不理想,总结了如下几个原因: ◦训练数据太少。本次训练只提供了100多条数据,对于大模型来说算是九牛一毛了,大模型的训练还需更多优质的数据。 ◦训练方式问题。由于在这方面不够专业,在使用OpenAI提供的Fine-tuning接口时,只上传了一个文件,采用默认参数就完成了训练。如果能够使用更加专业的训练方式,比如RLHF(依据人类反馈的强化学习),那么效果会更好。 ◦训练基于GPT-3模型,使用新的模型能有更好的效果。 •Prompt真的很重要。给出一个好的提示,哪怕大模型不知道这个问题的答案,也能根据提示给出一个乍一看很像模像样的答案。 •基于Fine-tuning的方式存在另外一个很重要的问题:在商家服务领域,很多知识需要不断更新,时效性较强,需要及时修正大模型中过时的内容,就需要耗费比较多的人力,这又变成了另一个难题。 二、基于Embedding的实践 在基于Fine-tuning的方式失败后,找到了基于Embeddings的实践方案。首先用一句概括一下这个方法的原理: 根据输入问题先通过搜索的方式检索出一些相关信息(Embedding),再将这些信息作为上下文辅助大模型回答这个问题(Chat)。 更简单地说,就是一种先搜再问的方式,下面便通过搜(Embedding)和问(Chat)这两个部分来介绍具体过程。 1.基于Embedding的流程介绍 Embedding(嵌入),以我这个小白的理解就是将自然语言转化为机器语言,即将我们说的一段话转化为一堆浮点数(向量),这个向量中包含了模型对自然语言含义和特征的理解。对于两个向量,可以用“距离”来衡量它们的相似度,离的越近的两个向量它们的相似度越高,对应的自然语言文本相似度也就越高。 那么我们只需要简单的两步即可: •将商家服务知识库中的知识向量化后存入向量引擎; •将问题向量化后到向量引擎中进行检索,即可得到和问题相关的内容。整体流程如下图所示: 2.训练步骤 1)内容格式化 商家服务大厅中的内容包含如下几类,我们需要关注的是有哪些部分可以参与Embedding。 •短视频:包含标题、相似问和描述等文本内容。 •工具:商家服务特色操作类解决方案,如发起投诉、申诉、报备等。包含标题、相似问 等文本内容。 •专区:一类业务解决方案的集合。包含标题、相似问、描述等文本内容。 •知识:最常用的解决方案,分两类 ◦文本知识(FAQ):文本知识,包含标题、相似问、知识内容等文本内容。 ◦SOP:操作类知识,通过SOP流程驱动帮助商家解决问题。包含标题、相似问等文本内容。 在上面这些内容中,最终选择了知识进行向量化,考虑到以下两点: •知识绝大部分内容都是文本,可将其最大程