OpenAI 开发者大会2023 解读

news2024/11/25 21:23:37

概述    

    宏观上还是分成两点:新的底层模型GPT-4 Turbo、新的应用生态GPTs。其余的名词都是服务于上面两个,很多名词是面向开发者的(非普通用户,主要是在页面上使用)容易导致混淆,比如什么JSON 格式、函数调用、assist API等。所以我们分三个部分来介绍:底层模型GPT-4 Turbo,应用生态GPTs,相关的其他模型、工具能搜集到的资料(OpenAI 已经闭源,不再公开很多技术原理、细节等,只能做一些先关整理和猜测,这部分不保证正确)。

底层模型GPT-4 Turbo

    主要是做了六大升级,分别是:更长的上下文长度、更强的控制、模型的知识升级、多模态、模型微调定制和更高的速率限制。

    

    一、更长的上下文长度

    OpenAI 原本提供的最长的上下文长度为 32k,GPT-4 Turbo 直接将上下文长度提升至 128k,大概约等于 300 页标准大小的书所涵盖的文字量,新模型还能够在更长的上下文中,保持更连贯和准确。

    PS:

    1、足够长的上下文应该才有助于后面的多模态、以及GPTs 。这个同时利好开发者和普通用户。

    2、但是至于如何解决这么长的推理效率和如何拼凑训练相关技术待调研。

    3、性能随着上下文长度以及答案在上下文中的位置发生的变化的现象,几乎所有大模型都出现了“Lost in the Middle”的现象。

    1)猜测原因:

    * 采用 Transfomer 式的编-解码器模型对上下文长度的变化表现的更加稳健,而类似 GPT 这种仅使用 Decoder 的模型由于每一步只关注当前 token 之前的内容,导致出现了类似 RNN 一样的“遗忘”。

    * 与训练数据本身的偏差有关,即人类的大量语料一般都将重要信息放置于开头或结尾,间接导致了大模型无法很好的关注处于文档中间的内容。

    2)实践建议:

    * 能利用各种手段少输入一些内容那么就少输入一些内容;

    * 要尽量把关键信息放置在上下文窗口的开头或结尾附近;

    * 尽量给模型输入相关性比较强的内容;

    * 提供更多的任务示例(可能相当于为模型提供了一个“便签”)

    二、更强的控制 

     这个主要是为开发者提供了几项更强的控制手段,以更好地进行 API 和函数调用:

     首先,新模型提供了一个 JSON Mode,可以保证模型以特定 JSON 方式提供回答,调用 API 时也更加方便。

     另外,新模型还允许同时调用多个函数,同时引入了 seed parameter,在需要的时候,可以确保模型能够返回固定输出。接下来几周,模型还将增加新功能,让开发者能看到 log probs。

     PS:后面讲JSON Mode、函数调用、assist API、GPTs关系。

    三、模型的知识升级 

     GPT 的内部知识库(模型训练过程中使用的数据,存储在模型的权重中)终于更新到了 2023 年 4 月。对比之前知识停留在 2021 年。除了内部知识库的升级,GPT-4 Turbo 也升级了外部知识库的更新方式,现在可以上传外部数据库或文件,来为 GPT-4 Turbo 提供外部知识库的支持。

     PS:GPTs 最简单的使用方式就是通过外部知识库作为prompt 引入新的知识(得力于128K的上下文长度)。但是GPTs 的更深入的用法就要用到不仅仅外部文件导入,还会涉及外部函数调用(自己实现对接外部引用)、内置函数调用(联网、检索、代码解释器)。

    四、多模态 

     基本上集齐听觉、视觉、思考、说、写(画)的能力。

     * GPT-4 turbo with Vison 模型接受图像 和/或 文本作为输入,输出文本。

     * Whisper V3 将语音输入转换为文本输入GPT-4 turbo 或 GPT-4 turbo with Vison 处理

     * DALL E3 将GPT-4 turbo 或 GPT-4 turbo with Vison 的输出作为输入生成图片(画的能力)

     * TTS 将将GPT-4 turbo 或 GPT-4 turbo with Vison 的输出作为输入生成语音(说的能力),并支持6种预设声音。

     PS:再加上嗅觉岂不是大全套。GPT-4 turbo with Vison 支持连续多轮图像输入,目前开源的多模态都仅仅支持一次图像输入且为首个输入。DALL E3 使用了GPT-4 的扩写能力来将人的输入细化来实现更好的图片生成效果。

    

    五、模型微调定制 

    GPT-3.5 Turbo 2023 年8月曾经发布过微调服务,定价相对较高,经过微调的 GPT-3.5 Turbo 版本在某些任务中甚至可以超越 GPT-4。

    GPT-3.5 Turbo 16k 的版本目前也可以进行微调的定制了,且价格将比前一代更低。

    GPT-4 的微调定制也在申请中了。

    OpenAI 也开始接受单个企业的模型定制了。「包括修改模型训练过程的每一步,进行额外的特定领域的预训练,针对特定领域的后训练等等。」Sam 表示。同时他表示,OpenAI 没有办法做很多这样的模型定制,而且价格不会便宜。

    PS:以为着Open AI已经彻底不会开源,自己已经开始承接微调业务,侧面反应及时GPT4其实也没有泛化能力?

    六、更高的速率限制

    GPT-4 用户,发布会后马上可以享受到每分钟的速率限制翻倍的体验。

    同时,如果不够满意,还可以进一步通过 API 账户,申请进一步提升速率限制。

    新发布的 GPT-4 Turbo,输入方面降至 GPT-4 的1/3 ,而输出方面降至一半,OpenAI 表示,总体使用上降价大概 2.75 倍。每千输入 token 1 美分,而每千输出 token 3 美分

应用生态GPTs

    建议参考例子:一文读懂GPTs的构建与玩法(GPTs保姆级教程)|【WeThinkIn出品】

    Open  AI 提出了自己的应用商店,利用GPT 定义多种多样的个性化GPT。这里其实主要涉及三个部分:指令(预设的 prompt)、外设的知识库和动作(可以是内置的如代码解释器、DALLE,也可是外部的常见的zapier、第三方接口如天气或者自己实现的http服务)。这里常见的范式如下,具体可以见参考链接部分:

    * 仅仅通过一些描述利用GPT 自己的内部知识来构造,比如GPT扮演翻译官。

    * 引入自己的专业资料,增强GPT内部知识,比如将自己最新的博客上传扮演自己的助理。

    * 借助代码解释器、联网、自己的专业知识构建,比如最新金融消息、表格的分析

    * 借助外部接口(zapier、或者自己实现的API,主要是靠外部http服务调用)来构建,比如天气预报

    天气action 的例子

    链接:https://twitter.com/dotey/status/1724305358254952799 , 

    指令

现在你是 "天气艺术家",这是一款专门用于创建三维等距插图,在一张图片中同时描绘白天和夜晚的天气的GPT。


当我向你提供城市名称时:


1. 请用我提供的Action查询当前天气,如果Action查询失败,请使用内置的web浏览能力去网络搜索城市的天气。

2. 请从你的资料库找出最能代表该城市的特色建筑物或者任何积极正面的标志性物品

3. 请你制作一幅详细的三维等距逼真的 MMORPG 风格插图,分为白天和夜晚两部分,请将API返回的城市的名称和标志性建筑或者物品展示在图中。

4. 根据不同天气显示不同的城市风貌,例如晴天有蓝天白云,如果下雪有雪花和雪人等等

5. 使用清晰的图标和文字显示:

-  温度:注意温度是摄氏度温度,显示时请注明,例如 16°C.

-  天气


你不需要做任何解释,只返回天气结果和城市名称。

Action

        在官方天气sample上编辑,这个是Open API 标准(不是Open AI 标准),主要是url + paths 找到相关的http 服务地址,然后GPT 通过 action 的name、description 和prompt 的参数联系起来。

​
{

  "openapi": "3.1.0",

  "info": {

    "title": "Get weather data",

    "description": "Retrieves current weather data for a location.",

    "version": "v1.0.0"

  },

  "servers": [

    {

      "url": "https://weather.example.com"

    }

  ],

  "paths": {

    "/location": {

      "get": {

        "description": "Get temperature for a specific location",

        "operationId": "GetCurrentWeather",

        "parameters": [

          {

            "name": "location",

            "in": "query",

            "description": "The city and state to retrieve the weather for",

            "required": true,

            "schema": {

              "type": "string"

            }

          }

        ],

        "deprecated": false

      }

    }

  },

  "components": {

    "schemas": {}

  }

}

​

结果

相关模型、工具细节

    一、代码解释器(内置工具)

    用户界面的chatGPT工具自带,assitants api 也内置。包含了一个python 运行环境,GPT 根据需要自己编写和运行 Python 代码,并且具有自我校验功能,当输出失败时会自动尝试多次编写不同代码实验想要的自然语言指令。主要用于解决一些复杂的数学问题以及处理具有多种数据和格式的文件,并生成具有数据和图形图像的文件。需要注意,虽然代码解释器是针对Python,但是GPT自身支持的文件包含c、c++、Java等(参考 https://platform.openai.com/docs/assistants/tools/supported-files)。具体常见的可以解决的任务如下(代码解释器的运行时间限制是60秒,超过60秒就会自动中断):

    

    二、检索(内置工具)

    检索为Assistant增加了来自其模型外部的知识,例如专有产品信息或用户提供的文档。一旦文件被上传并传递给助手,OpenAI将自动分组你的文档,索引和存储嵌入,并实现向量搜索来检索相关内容,以回答用户的查询。自动选择两种检索技术(检索目前通过将所有相关内容添加到模型调用的上下文中来优化质量。我们计划引入其他检索策略,以使开发人员能够在检索质量和模型使用成本之间选择不同的权衡):

    * 它要么在短文档的提示符中传递文件内容

    * 对较长的文档执行矢量搜索

    PS:不太清楚对于Word 是上面的全部加到模型里,对于Excel呢,是实时调用代码解释器吗。

    三、函数调用(内置工具)

    函数调用是预先使用JSON定义好函数名称和入参,然后让GPT去解析用户的自然语言输入找到对应的预先定义的函数,然后解析自然语言并返回对应函数的入参。这就是GPT帮我们做的事情。整个函数调用的流程:

    1、用户发起提问时,调用一次带有函数描述的completions接口,gpt会判断是否支持调用函数,如果可以就从用户的提问信息中提取出函数所需要的参数。

    2、开发者拿到gpt提取出来的参数后自行调用函数并返回结果

    3、将函数的返回结果再次发给GPT做总结归纳为自然语言

    

    需要注意的地方:

    1、整个过程gpt会执行两次,第一次调用从问题中提取函数参数,第二次对函数返回结果做归纳总结

    2、函数调用并不是由gpt调用,而是开发者来调用

    例子 :利用ChatGPT的函数调用功能实现:实时查询天气 - FooFish

    

    四、易混淆词汇

    JSON Mode、函数调用、assist API、GPTs。

    1、JSON Mode

    主要就是JSON格式,GPT-4 能够更加严格的输出JSON个数的数据,这个是后面所有能力(函数调用、assist API、GPTs)的前提条件。并且GPT-4也可以使用JSON更加简洁的作为输入。

    注意:

    *尽量显示提示模型要JSON格式输出,可以在system中写。

    *输出也不一定是有效的JSON格式。

    2、函数调用

    参考上面函数调用部分,函数调用的输入输出均为JSON格式。

    3、assist API

    主要是面向使用API接口的开发者,在缘由API基础上,重新封装一层,目的是帮助开发者维护上下文环境。但是现在的assitent api 并没有完全支持所有的原生API。

    4、GPTs

    让用户能通过自定义指令、拓展(模型)的知识边界和下达行动命令,来构建自己的GPT,并能对外发布给全球更多的人使用。这个可以理解为最最上层的应用。

    

    五、GPT-4v

    推测2022年训练完毕,2023年3月与Be My Eyes和OpenAI合作开发了Be My AI,这是一种新工具,用于为盲人或视力低下的人描述视觉世界。2023年9月微软发布一个长达160+页的测试报告。

    六、DALLE 3

    参考:文生图——DALL-E 3 —论文解读——第一版

参考链接

128K上下文遗忘问题:GPT4 Turbo的128K上下文是鸡肋?推特大佬斥巨资评测,斯坦福论文力证结论

代码解释器官方文档:https://platform.openai.com/docs/assistants/tools/code-interpreter

代码解释器使用:https://www.youtube.com/watch?v=JX1CpF4ndrw

代码解释器常用功能:Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

发布会导读:短短 45 分钟发布会,OpenAI 如何再次让 AI 圈一夜未眠 

GPTs创建流程: 一文读懂GPTs的构建与玩法(GPTs保姆级教程)|【WeThinkIn出品】

GPTs 纯 prompt 例子: 热乎的GPTs体验报告:创建专属GPT,不懂代码人的春天来了

GPTs + Zapier  + action 例子:https://www.youtube.com/watch?v=29XCaqMbAro

GPTs + Zapier  + action 例子(天气预报):ChatGPT之GPTs的使用与分析:5分钟构建一个天气画报 - 知乎 

GPTs + Zapier  + action 例子2(天气预报):https://twitter.com/dotey/status/1724305358254952799

函数调用例子:利用ChatGPT的函数调用功能实现:实时查询天气 - FooFish 

Zapier 官方例子:Get Started - Zapier AI Actions

GPT-4v微软测试报告: 微软最新166页测评报告:视觉模态GPT-4V到底有多强?   必看:微软166页论文解读 GPT-4V 全文翻译《多模态的新时代》The Dawn of LMMs: Preliminary Explorations with GPT-4V(ision) - 知乎

Gpt-4v连续识别图片(视频解读): 解说梅西球赛、英雄联盟,OpenAI GPT-4视觉API被开发者玩出新花样

GPT-4v 识别视频方案:微软用GPT-4V解读视频,看懂电影还能讲给盲人听,1小时不是问题 

ChatGPT prompt资料:Notion – The all-in-one workspace for your notes, tasks, wikis, and databases. 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1217235.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用uniapp写小程序,真机调试的时候不显示log

项目场景: 当小程序文件太大的情况下使用真机调试,但是真机调试的调试器没有任何反应 问题描述 使用uniapp写小程序,真机调试的时候不显示log 原因分析: 提示:因为真机调试的时候没有压缩文件,所以调试的…

EtherCAT从站EEPROM分类附加信息详解:SM(同步管理器)

0 工具准备 1.EtherCAT从站EEPROM数据(本文使用DE3E-556步进电机驱动器)1 分类附加信息——SM(同步管理器) 1.1 分类附加信息规范 在EEPROM字64开始的区域存储的是分类附加信息,这里存储了包括设备信息、SM配置、FM…

有向无权图的最短路径

在运筹学领域的经典模型中,最大流问题、多商品网络流问题和最短路径问题等都依附在图上对问题进行描述,同样,当我们梳理问题的数学模型,或理解相关问题的求解算法时,也要依靠它。因此,我将总结和图相关的问…

Android NDK JNI 开发native层崩溃日志栈分析

问题: 在Android的JNI开发中,你是否看到如下一堆崩溃日志,不知如何下手分析问题,崩溃在哪一行? 11-16 17:20:44.844 23077 23077 W test_jni_h: jni_preload: Starting for processln 11-16 17:20:44.844 23077 2307…

AWD比赛中的一些防护思路技巧

## 思路1: 1、改服务器密码 (1)linux:passwd (2)如果是root删除可登录用户:cat /etc/passwd | grep bash userdel -r 用户名 (3)mysql:update mysql.user set…

基于SpringBoot+Vue的二手物品交易平台

基于SpringBootVue的二手物品交易平台的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 详情 管理员界面 摘要 本项目是基于Spring Boot 和 Vue 技术栈构建…

latex简单使用

​​文章目录 公式详解 普通公式公式居中带标号公式上标下标根号分式括号运算符列表 无序列表有序列表插入图片 单图多图排版表格脚注与定理子标题目录与附录 目录附录参考文献字体设置 字体样式 加粗斜体字母大写等线自定义字体字体大小 第一种设置第二种设置第三种设置 页面…

系列六、JVM的内存结构【栈】

一、产生背景 由于跨平台性的设计,Java的指令都是根据栈来设计的,不同平台的CPU架构不同,所以不能设计为基于寄存器的。 二、概述 栈也叫栈内存,主管Java程序的运行,是在线程创建时创建,线程销毁时销毁&…

【PyQt小知识 - 4】:QGroupBox分组框控件 - 边框和标题设置

QGroupBox QGroupBox 是 PyQt 中的一个小部件,用于创建一个带有标题的组框。 可以使用 QGroupBox 将相关控件分组并添加一个标题。 以下是一个使用 QGroupBox 的示例代码(示例一): from PyQt5.QtWidgets import * import sysa…

ERP管理系统:企业升级的秘密武器

ERP管理系统:企业升级的秘密武器 在当今快速发展的商业环境中,企业要想保持竞争力,就必须不断进行自我升级。而在这个过程中,ERP管理系统以其强大的功能和优化流程的能力,逐渐成为了企业升级的秘密武器。 一、ERP管理…

Unity开发之C#基础-异常处理(Try Catch)

前言 其实本来这章应该将栈和队列的 但是后来想想 栈和队列在实际应用很少跟多的是大家了解一下栈和队列的基本常识比如先进先出的是谁后进先出的是谁这种 csdn有很多介绍栈和队列的文章 我觉得都比我理解深刻所以大家可以去搜索参照一下 今天我们继续往下讲解 如何自己主动的…

【Java 进阶篇】JQuery 遍历 —— For 循环的奇妙之旅

在前端开发的世界里,遍历是一个常见而重要的操作。它让我们能够浏览并操纵文档中的元素,为用户提供更加丰富和交互性的体验。而在 JQuery 中,遍历的方式多种多样,其中 for 循环是一种简单而灵活的选择。在本篇博客中,我…

11-Vue基础之组件通信(二)

个人名片: 😊作者简介:一名大二在校生 🤡 个人主页:坠入暮云间x 🐼座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。 🎅**学习目标: 坚持每一次的学习打卡 文章…

Freeswitch中mod_commonds

mod_commands Table of Contents (click to expand) 0. About1. Usage 1.1 CLI1.2 API/Event Interfaces1.3 Scripting Interfaces1.4 From the Dialplan2. Format of returned data3. Core Commands 3.1 acl  3.1.1 Syntax3.1.2 Examples3.2 alias 3.2.1 Syntax3.2.2…

作为HR是看重学历还是工作经验?

作为HR是看重学历还是工作经验? 这个没有绝对的统一的看法,如果我是HR我更看重工作经验,如果是中小企业,对于人才嘛,那肯定是要到岗就能干活的,底子好不好先不说,关键是要能干活的。 不过近些…

【算法基础】分解质因数

文章目录 什么是分解质因数具体案例输入格式输出格式数据范围 原理讲解原始方法转换思路利用试除法判定质数的思路为什么不需要单独判断是否为质数 什么是分解质因数 分解质因数是指将一个合数用质因数相乘的形式表示出来,即将一个合数分解为若干个质数的乘积。其中…

人工智能如何重塑体验为先的汽车行业

面向汽车行业用户体验的 AI 人工智能的影响力继续在各个主要行业中迅速蔓延,全球各地的公司都开始大力投资 AI 技术,以提高自身的竞争优势。未来的趋势表明,企业如果不立即采用人工智能战略,就可能会远远落后于竞争对手。 AI 和…

es head 新增字段、修改字段、批量修改字段、删除字段、删除数据、批量删除数据

目录 一、新增字段 二、修改字段值 三、批量修改字段值 ​四、删除字段 五、删除数据/文档 六、批量删除数据/文档 一、新增字段 put http://{ip}:{port}/{index}/_mapping/{type} 其中,index是es索引、type是类型 数据: {"_doc"…

一阶滤波器(一阶巴特沃斯滤波器)

连续传递函数G(s) 离散传递函数G(z) 转换为差分方程形式 一阶巴特沃斯滤波器Filter Designer参数设计:参考之前的博客Matlab的Filter Designer工具设计二阶低通滤波器 设计采样频率100Hz,截止频率20Hz。 注意:设计参数使用在离散系统中&…

【邻接表,图的邻接表存储表示】

文章目录 邻接表无向图有向图图的邻接表存储表示:图的邻接表的弧(边)的结点结构 邻接矩阵的好处: 1.直观,简单,好理解。 2.方便检查任意一对顶点间是否存在边 3.方便找到任一顶点的所有“邻接点”&#xff…