首页 > 其他分享 >提升Azure OpenAI回答质量,嵌入还是微调?

提升Azure OpenAI回答质量,嵌入还是微调?

时间:2023-04-04 18:02:33浏览次数:45  
标签:嵌入 Embedding 模型 GPT OpenAI 答案 Azure Fine

1                   如何让Azure OpenAI回答质量提升?

相信大家在使用ChatGPT的时候,经常会遇到它一本正经的胡说八道,一些看似说得非常有道理,但是又总觉得哪里不对。比如下面例子:

提升Azure OpenAI回答质量,嵌入还是微调?_知识库系统

为什么ChatGPT会出现这样的问题呢?因为GPT模型是生成式的,所以它们不会生成“事实”或“真实”的信息。可能会生成正确的答案,因为它们在概率上是正确的答案,但模型无法区分真实和不真实的答案。它只是根据上下文和预训练选择最可能的标记。

       如何来提升GPT模型的回答质量呢?我们可以通过提示工程(Prompt Engineering)、嵌入(Embedding)、微调(File-tune)来实现。

2                   提示工程(Prompt Engineering)

GPT-X模型来源于大量互联网预训练数据,模型往往会产生非常有说服力和看似合理的答案,因此必须用心地设计安全过滤措施和模型的事实答案,让模型能够准确回答我们需要的答案。我们看看用默认的GPT-3模型回答问题:

提升Azure OpenAI回答质量,嵌入还是微调?_openai_02

示例可以看出,小红和洋娃娃并不具备明确的性别标识,所以无法给出相关答案。那么这时候我们只需要在Prompt中给出相关的示例,经过提示的 prompt 会按照示例的格式和相关性回答你的问题。

提升Azure OpenAI回答质量,嵌入还是微调?_数据_03

3                   嵌入(Embedding)

上面例子我们知道在Azure OpenAI GPT-3 API 提供的能力中,可以在 prompt 中增加上下文,来提高Completion 准确率和相关性。那么如何从自己的语料库中找到和提问相关的上下文呢?这时候就可以用到嵌入(Embedding)了,Azure OpenAI提供了Embedding接口,我们可以输入一段文字来计算出向量值,通过将「语料片段的向量」与「问题的向量」取「最相似的向量」,来判断问题和语料库(自己的数据)的相似度,便于模型来理解意义。比如,“狗”和“猫”这两个单词可能会被转换成非常接近的数字,因为它们都是宠物,具有相似的意义。

比如在构建一套知识库系统的时候,我们把自己的数据嵌入到模型中,告诉模型答案就在资料库中,来获取准确的答案。下面看看示例:

我们在一个知识库系统的Demo中加入了与Azure相关的文档,并添加到Embedding中。

提升Azure OpenAI回答质量,嵌入还是微调?_数据_04

下面来试试提问,我们问了几个关于Azure虚拟机相关的问题,模型可以准确的通过我提供的文档来找到答案。

提升Azure OpenAI回答质量,嵌入还是微调?_chatgpt_05

4                   微调(File-tune)

Fine-tuning 主要是用来改善长期输出形式。相对的Prompt Engineering是短期/一次性改变输出的方法。fine-tune 的原理是在不改动(或不能改动)预训练模型的基础上,在模型「顶层」增加分类器或一些特征映射,使微调后的模型能够更贴合实际使用场景。

Fine-tune主要是为了节省每次答案提供相同 prompt 的 tokens,把类似的 prompt 可以训练成: 只需要更改具体问题,而不用重复写 上下文、示例。

GPT像个小孩, 它阅遍了全世界的书籍。它是通过主观例子来学习世界。 例子没有对错 ,只有相对好坏所以我们作为成人,也要用榜样/例子來引导孩子模仿,而非直接教他对或错,因为这样会破坏它的现有认知 。Fine Tuning就是用例子來引导GPT的过程。

5                   何时使用嵌入?何时使用微调?

l  我有一堆语料,想让 GPT依据我的语料输出内容 - 使用Embedding

l  想让 GPT 模仿一个一位睿智的的长者和我对话 - 使用Fine-tune

l  希望用户按照一定格式提交问题 - 使用Fine-tune

l  可以根据产品的使用手册来回答用户的问题 - 使用Embedding

建议在引入Azure OpenAI时首先做prompt engineering来验证提升潜力。 然后转为Fine-tuning 做长线改善以帮助节省token,降低TCO。

标签:嵌入,Embedding,模型,GPT,OpenAI,答案,Azure,Fine
From: https://blog.51cto.com/lixun/6169230

相关文章

  • 《安富莱嵌入式周报》第308期:开源带软硬件安全认证的PLC设计,开源功率计,可靠PID实现,PR2
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 视频版:https://www.bilibili.com/video/BV1F24y157QE1、ST发布安全认证版PLC设计套件https://www.st.com/en/evaluation-tools/steval-silplc01.html含原理图(新的手册......
  • 如何使用OpenAI Fine-tuning API微调GPT-3模型
    https://platform.openai.com/docs/guides/fine-tuning(官方文档)​ 当我们使用语言模型时候,往往需要给多个例子供ai参考,才能给出更为准确的回答,这种方法费时费力。而通过微调(Fine-tuning)能够把原始模型打造成更加适合你的任务需求的模型。模型进行微调后,无需再在prompt中提供示......
  • 如何申请 Azure OpenAI
    一.前言众所周知OpenAIChatGPT是不对中国开放的,包括香港。就最近一个月的情况来看,陆续有API调用被限制、大规模账号封禁、关闭注册、无法直接使用银联支付(国内信用卡)等等,使用是越来越艰难。AzureOpenAI不妨是一个新的选择。二.介绍AzureOpenAI和OpenAI公司所提供的......
  • Azure Terraform(十三)提升 Azure Web App Plan 的性能
    一,引言一,引言我们是否正在为部署在云主机上的应用程序性能缓慢和停机问题而苦恼?我们是否正在因为云主机上仅仅部署了应用程序,在流量平缓的时候而浪费大量的计算资源而心疼荷包。那么让我们来一起看看AzureWebAppPlan吧!今天我们以IAC的方式来控制资源的创建,通过使......
  • OpenAI公司介绍,考古OpenAI的愿景
    文章目录成立与定位技术目标1打造家用机器人2构建具有有用的自然语言理解能力的代理3使用单个代理解决各种游戏重要问题领域1检测世界上是否有人正在使用秘密的突破性AI系统2构建代理以赢得在线编程竞赛3网络安全防御4具有许多长寿命代理的复杂模拟Microsoft加持成立与定......
  • 嵌入式 Tomcat 使用
    目录参考资料1简介2下载嵌入式Tomcat3代码示例3.1实现Servelt和Websocket3.1.1建立maven工程并引入jar包3.1.2类说明3.1.3WelcomeServlet3.1.4AnnotationEchoIMServer3.1.5EchoIMServerFilter3.1.6创建程序启动入口TomcatWebContanerBootstrap3.1.7验证参考资......
  • 【Azure 应用服务】Function App / App Service 连接 Blob 报错
    问题描述因Blob启用了防火墙功能,但是当把AppService或FunctionApp的出站IP地址都加入到Blob的白名单中,为什么访问还是403错误呢? 问题解答AzureStorage的IP网络规则不适用于同一数据中心的客户端。存储帐户部署在同一区域中的服务使用专用的AzureIP地址进行通信。因此,不......
  • 【Azure 应用服务】在创建App Service时,遇见“No available instances to satisfy thi
    问题描述在创建新的AppService,遇见了资源不满足当前需求的提示。详细消息为:"Code":"Conflict","Message":"Noavailableinstancestosatisfythisrequest.AppServiceisattemptingtoincreasecapacity.Pleaseretryyourrequestlater.Ifurgent,thi......
  • azure databricks使用external hive metastore跨工作区共享元数据
    为什么要使用externalhivemetastore可以跨workspace的共享元数据,不用每次创建workspace的时候都重复的把元数据重建一次。更好的元数据集中管理,Createonce,useeverywhere。为灾难恢复(DR)做好为准备,并降低复杂性。(PAAS一样会存在意外的,不要以为不会,所以DR是必须的)可以更好控......
  • 使用PHP调用OpenAI ChatGPT API接口
    本文介绍如何使用PHP调用OpenAI的文本完成模型ChatGPT的API接口,同时也包括图片生成模型DALL·E接口的调用。 一、SDK实现OpenAI的PHPSDK实现如下,其中ChatGPT使用的模型为gpt-3.5-turbo,如果已经有ChatGPTPlus,并申请到GPT-4的API权限,可以改为GPT-4的模型。classclass_openai......