介绍一下 OpenAI 推出的 SimpleQA

SimpleQA 是一个新的基准测试,旨在评估语言模型在回答简短、事实性问题时的准确性。该基准测试的核心目标是减少模型产生“幻觉”(即无根据的错误答案)的现象,并提升模型的可信度。SimpleQA 专注于简短的事实查询,确保问题有单一、不可争议的答案,从而使得评估模型的事实性表现更加可行。通过该基准,研究人员可以更好地衡量语言模型的准确性、校准性及其在不同问题类别中的表现。 SimpleQA 的特点: 高正确性:所有问题的参考答案由两名独立的 AI 训练师提供,并且这些问题经过严格筛选,以确保答案易于评分。 多样性:涵盖广泛主题,包括科学、技术、历史、音乐、视频游戏等多个领域。 挑战性:相比于老旧的基准(如 TriviaQA 和 NQ),SimpleQA 对前沿模型(如 GPT-4o)更具挑战性。 研究友好:由于问题简洁,SimpleQA 的运行速度快,评分效率高。 数据集构建: 问题由 AI 训练师从网上搜集,确保每个问题有单一、不可争议的答案。 为确保质量,问题经过三轮验证,最终的错误率约为 3%。 模型评估方法: 使用 ChatGPT 分类器对模型的答案进行评分,分为“正确”、“错误”和“未尝试”三类。 测试表明,较大的模型(如 GPT-4o 和 o1-preview)比较小的模型(如 GPT-4o-mini 和 o1-mini)表现更好,且后者更倾向于“未尝试”问题,表明它们可能更擅长判断何时不确定答案。 模型校准性: 校准性指模型对其回答的自信程度是否与实际准确性一致。SimpleQA 提供了两种方法来测量模型的校准性:一是通过模型自述的信心百分比,二是通过模型多次回答同一问题的频率。 结果显示,较大的模型(如 o1-preview 和 GPT-4o)在校准性上表现更好,但模型普遍倾向于过高估计其自信度。 结论与局限性: SimpleQA 是一个简洁但具有挑战性的基准,专注于短、事实性问题。然而,它的局限性在于仅测量简短回答的事实性,尚不清楚这是否与模型生成长篇、多事实回答的能力相关。 介绍一下 SimpleQA 2024 年 10 月 30 日 SimpleQA 是一个衡量语言模型回答简短、寻求事实的问题的能力的基准工具。 在人工智能领域中,一个未解决的问题是如何训练模型,使其生成的回答更加符合事实。当前的语言模型有时会产生错误的输出,或提供没有证据支撑的回答,这种现象被称为“幻觉”。生成更为准确、幻觉更少的语言模型可以增加可信度,并能够应用于更广泛的领域。为此,我们 开源了⁠(新窗口打开)一个名为 SimpleQA 的新基准工具,以衡量语言模型的事实性。 关于 SimpleQA 基准 事实性是一个复杂的话题,因为其评估难度很大——评价任意声明的真实度颇具挑战性,而语言模型可能会生成包含大量事实性信息的长篇回答。在 SimpleQA 中,我们专注于简短的、寻求事实的查询,尽管这缩小了评估范围,但使得衡量事实性变得更为可行。 我们创建 SimpleQA 数据集的目标是实现以下特性: 高准确性。 所有问题的参考答案均有两位独立 AI 训练师提供支持,问题设计也便于答案的评分。...

October 31, 2024 · 1 min · fisherdaddy

OpenAI 产品发布时间线一览

这里整理一下 OpenAI 发布的一系列重大里程碑产品和事件,部分内容参考 OpenAI Release Notes。为了方便预览和美观,我做了一个网页版,大家可自行取用。 2015年12月:OpenAI 成立 核心功能:创建人工智能,造福全人类 功能介绍:OpenAI的成立标志着人工智能研究的开端,致力于确保先进AI技术的安全和普及。 2016年4月:OpenAI Gym 发布 核心功能:强化学习训练平台 功能介绍:提供了一套工具用于开发和比较强化学习算法,促进了AI社区的算法研究。 2016年12月:Universe 发布 核心功能:通用AI开发与测试平台 功能介绍:支持AI在各种环境中进行训练和测试,拓展了强化学习的应用领域。 2018年6月:GPT-1 发布 核心功能:自然语言生成模型 功能介绍:首个将Transformer与无监督预训练相结合的模型,开启了大规模语言模型的探索。 2019年2月:GPT-2 发布 核心功能:文本生成 功能介绍:拥有15亿参数的语言模型,展示了在文本生成上的强大表现。 2020年6月:GPT-3 发布 核心功能:自然语言处理 功能介绍:GPT-3参数量达1750亿,显著提升了自然语言理解和生成能力。 2021年1月:DALL·E 发布 核心功能:图像生成 功能介绍:通过文本描述生成图像,拓展了生成模型的应用场景。 2021年8月:Codex 发布 核心功能:自然语言转代码 功能介绍:支持代码自动生成,成为GitHub Copilot的核心技术。 2022年4月:DALL·E 2 发布 核心功能:高分辨率图像生成 功能介绍:生成的图像更细致,支持更高的分辨率。 2022年9月:Whisper 发布 核心功能:语音识别 功能介绍:多语言语音识别模型,接近人类的识别水平。 2022年11月30日:ChatGPT 核心功能:基于 GPT-3.5 的 ChatGPT 网页版 功能介绍:能够进行自然语言交互,回答任意问题的 AI 助手 2023年1月27日: ChatGPT Plus订阅服务推出 核心功能:付费订阅版ChatGPT,收费为每月20美元 功能介绍:提供更快的响应速度、高峰时段优先访问、优先使用新功能和改进等额外功能 2023年3月14日:GPT-4 发布 核心功能:多模态大模型 功能介绍:支持图像输入,其理解力和生成能力大幅提升 2023年3月24日:ChatGPT Plugins 推出 核心功能:对第三方插件的支持 功能介绍:ChatGPT Plugins是进一步生态变革的开端,基于ChatGPT的改进包括:能够访问互联网实时数据、创建并编译代码、调用和创建第三方程序等等 2023年5月18日:ChatGPT iOS 版发布 核心功能:iOS 版的 ChatGPT 功能介绍:iOS 版的 ChatGPT 2024年7月25日:ChatGPT Android 版发布 核心功能:Android 版的 ChatGPT 功能介绍:Android 版的 ChatGPT 2023年8月29日:ChatGPT Enterprise 版发布 核心功能: 面向企业的ChatGPT版本 功能介绍: 提供企业级安全和数据隐私保护,提供无限速的GPT-4访问权限,支持32K上下文输入,高级数据分析功能,自定义选项等所有高级功能 2023年9月26日:GPT-4V (Vision) 发布 核心功能:GPT-4 的视觉增强版本 功能介绍:它具有更强大的图像处理能力,可以执行更复杂的视觉分析任务,如详细的场景描述、物体识别、视觉推理等 2023年11月6日:GPT-4 Turbo、DALL·E 3、GPTs 发布 核心功能:增强版GPT-4 功能介绍:融合了文本和视觉能力的大模型 2024年2月15日:Sora 发布 核心功能:文本到视频生成AI 功能介绍:首个视频生成模型,能够生成长达一分钟的高清视频,同时保持视觉品质并遵循用户提示。 2024年5月14日:GPT-4o 发布 核心功能:GPT-4o的“o”代表“omni”,意为“全能” 功能介绍:GPT-4o 是迈向更自然人机交互的一步,支持文本、音频和图像的多模态输入,提升了人机交互的自然性。 2024年6月26日:Mac 版ChatGPT 发布 核心功能:Mac 版 ChatGPT 功能介绍:Mac 版 ChatGPT 2024年7月18日:GPT-4o-mini 发布 核心功能:相当于是能力更强的“GPT-3....

October 14, 2024 · 1 min · fisherdaddy

OpenAI 官方指南:智能体编排 - 流程与任务交接

本文翻译自 OpenAI Cookbook 的 Orchestrating Agents: Routines and Handoffs Ilan Bigio Oct 10, 2024 当使用语言模型时,通常只需要设计一个好的提示词并配合合适的工具,就能获得不错的效果。然而,当你需要处理许多不同的流程时,情况可能会变得复杂。本手册将介绍一种方法来应对这些复杂情况。 我们将引入“常规任务 (routine)”和“任务交接 (handoff)”的概念,并逐步展示如何实现这些功能,以及如何通过它们协调多个 AI 智能体 (agents),从而实现简单、强大且可控的系统。 最后,我们提供了一个示例仓库 Swarm,它实现了这些想法并附带了示例代码。 让我们从设置导入开始: from openai import OpenAI from pydantic import BaseModel from typing import Optional import json client = OpenAI() 常规任务 (Routines) “常规任务”这个概念没有严格的定义,主要用来表示一系列步骤。具体来说,我们可以将常规任务定义为一组用自然语言编写的指令 (我们通过系统提示词来实现),以及完成这些任务所需的工具。 让我们来看一个示例。下方代码定义了一个客户服务智能体的常规任务,指示它对用户问题进行分类,然后要么建议解决方案,要么提供退款。我们还定义了两个辅助函数 execute_refund 和 look_up_item。你可以把它称为客户服务常规任务、智能体或助手,但核心思想相同:一组步骤和执行这些步骤的工具。 # Customer Service Routine system_message = ( "You are a customer support agent for ACME Inc." "Always answer in a sentence or less....

October 14, 2024 · 8 min · fisherdaddy

OpenAI Canvas 介绍

OpenAI 于 2024 年 10 月开发者大会上发布 Canvas,官方给它的用途定义为:在写作和代码方面展开协作。有点结对写作和结对编程的意思,应该是想往写作工具(office、notion这些)和代码编辑工具(vscode、cursor)上扩展。下面我结合官方的文档以及我的试用体验,给大家简单大概介绍一下 Canvas。 功能 写作工具 该功能支持在线编辑文档,可以选中某一句或段文本进行追问让chatgpt进行改写,也可使用快捷键,其中快捷键包括建议编辑、调整长度、阅读水平、添加最后的润色、添加表情。有点类似于 DALLE 的交互逻辑。 代码编辑 该功能借鉴了 Claude 的 artifacts,虽然不支持在线预览,但支持在线编辑、选中某一句或段文本进行追问,也可使用快捷键,如代码审查、转移到另一种语言、修复错误、添加日志、添加注释。 关于实现 我阅读了一下 OpenAI 官方发布的介绍文章,这里记录了一些重点的内容。 重新训练了 GPT-4o,让它能够成为创造性的合作伙伴。这个模型知道何时打开 Canvas、进行有针对性的编辑或彻底重写。它还能理解更广泛的上下文,提供精准的反馈和建议。据 OpenAI 研究员介绍 Canvas 模型是通过合成数据进行训练的,并在 2 个月内训练了出具有核心行为的模型。 Canvas 有以下核心功能: 在写作和编程时触发 Canvas 生成多样化的内容类型 进行有针对性的编辑 重写文档 提供行内点评 通过超过 20 项自动化内部评估来衡量进展。使用了新颖的合成数据生成技术,例如从 OpenAI o1-preview 蒸馏输出结果,对模型的核心行为进行微调训练。这种方法让我们能够快速解决写作质量和新的用户交互问题,而且完全不依赖人工生成的数据。 一个关键的挑战是定义何时触发 Canvas。我们教会模型在像“撰写一篇关于咖啡豆历史的博客文章”这样的提示时触发 Canvas,同时避免在“帮我做一道新的晚餐食谱”这样的常规问答任务中过度触发。对于写作任务,我们优先提升了“正确触发率”(以牺牲“正确不触发率”为代价),达到了 83%,相比基础的零样本 GPT-4o 使用提示指令有了明显提升。 值得注意的是,这类基线的表现对具体提示的敏感性很高。使用不同的提示时,基线模型可能仍然会表现不佳,但形式不同——例如,它可能在编码和写作任务上同样表现不佳,从而导致不同的错误分布和其他形式的次优表现。对于编码任务,我们故意让模型偏向不触发 Canvas,以避免干扰高级用户的使用体验。 对于写作和编程任务,我们改进了正确触发 Canvas 的决策边界,分别达到了 83% 和 94%,相比基础的零样本 GPT-4o 使用提示指令有了显著提升。 第二个挑战是如何在触发 Canvas 后调整模型的编辑行为——特别是在何时进行有针对性的编辑,何时重写整个内容。我们训练模型在用户在界面中明确选择文本时执行有针对性的编辑,否则则倾向于重写。 训练模型生成高质量评论需要经过反复的仔细迭代。与前两个较容易通过全面人工审查适应自动化评估的情况不同,自动化衡量质量是一个特别具有挑战性的任务。因此,我们通过人工评估来判断评论的质量和准确性。我们的集成 Canvas 模型在准确性上比零样本 GPT-4o 使用提示指令提升了 30%,在质量上提升了 16%,这表明合成训练相比零样本加详细提示指令,能够显著提升响应质量和行为表现。

October 5, 2024 · 1 min · fisherdaddy

o1 研发团队/奥特曼/王小川/杨植麟对 OpenAI o1 的观点

o1 研发团队访谈 Hyung Won Chung:o1 是个推理模型,它在回答你的问题之前会做更多思考。我们将发布两个模型:o1 preview,还有采用了与 o1 相似的训练框架、更小更快的 o1 mini 什么是推理?Giambattista Parascandolo:可以这么理解:对于一些需要立即回答的简单问题,例如,「意大利的首都是哪里?」,不用想太多,就知道答案是罗马。但是如果想要解一个复杂的谜题、想精心策划一份商业企划书、或者想写小说,那可能需要很多思考。想得越多,可能成果越好。因此,可以说推理是一种把思考时间转化为更好成果的能力。 Mark Chen:很难确切指出 o1 是从哪个具体的时刻开始的。最早和 Yakob 进行了一些探索,后来又和Łukasz 和 Ilya 进行了早期的探索。关键时刻是 Jerry 一起整合了这些内容,并由 Jerry 来推动项目。 Trapit Bansal:当我们开始考虑要训练一个推理模型时,我最先想到的方法就是,可以让人类写下他们的思维过程,然后以此进行训练。我的「Aha Moment」是当我们发现,通过使用强化学习来训练模型生成和打磨它自己的思维链,效果竟然比让人类为其写下思维链更好。我们意识到可以真正扩展这个方法,并且专家模型也可以通过这种方式进行推理。 Jerry Tworek:从本质上讲,训练大型模型是非常困难的事情,有成千上万的事情可能出错,实际在每一轮训练中至少有数百个地方确实出错了。几乎每个人都投入了大量的心血、汗水和眼泪去训练这些模型,并想办法让它们继续学习和改进。通向成功的道路非常狭窄,而失败的可能性却很多。 Ilge Akkaya:这个模型非常优秀,很多时候甚至表现得比人类还要好,就像拥有好几个博士学位的水平。但这有时也是一种挑战,因为我们经常需要验证模型是否没有偏离轨道,或者是否在做一些不合理的事情。随着模型规模的扩大,这开始变得非常耗时;我们已经用尽了所有行业级资源,但我们不知道接下来应该找什么,所以这也是一个挑战。 Jason Wei:对我来说,我喜欢把 o1 当作一个头脑风暴的伙伴,从解决某个非常具体的机器学习问题到如何写一篇博客都适用。比如,我最近写了一篇关于语言模型评估的博客,我向 o1 询问了有关博文结构的想法、某些基准测试的优缺点,甚至包括写作风格的建议。因为它在给出最终答案之前会思考,更好地更好地连接起思路,它还可以修改和评估备选的方案。 Jakub Pachocki:每次我们将某件事扩大一个数量级时,都会遇到一组新的问题 —— 包括算法和基础设施方面的问题 ——OpenAI 无疑已经发展出了同时解决这两个方面问题的强大能力。 Hongyu Ren:我们的动机是希望将 o1 系列带给更多的用户,并降低成本。因此,我们创建了 o1 Mini,它的设计目的是展示整个 o1 框架的简化版本。我们让它成为一个推理专家,它可能不一定知道你最喜欢的名人的生日,但它确实能够非常有效地理解如何进行推理。它比我们之前最好的推理模型要聪明得多,并且几乎与我们最好的模型 o1 持平。它确实有一些限制,比如可能不知道很多外界的信息,尤其是与科学或技术无关的内容。但我们努力让它大致与我们之前最好的模型(如 GPT-4o mini)相当。我们正在进一步改进它,我非常期待外部用户能够尝试体验这种「闪电般」的推理和思维。 原文:https://www.thepaper.cn/newsDetail_forward_28821226 o1 研究团队三位核心技术人(Noam Brown、Hunter Lightman、Ilge Akkaya)对话红杉美国合伙人 o1 模型系列使用了强化学习,能够进行推理,或者你也可以称之为“思考”。它与我们过去使用的大型语言模型有本质上的不同。 我们从一开始就相信这一方向有潜力,但实际走到今天的路径并不清晰。你看看 o1 ,这并不是一夜之间的成果。实际上,这背后有多年研究,而其中很多研究并没有取得成效。 OpenAI 整体上采取了一种非常实证、数据驱动的方式,当数据开始向你展示趋势并且变得有意义时,我们就会追随这些线索。而这也是我信心确立的时刻。...

October 1, 2024 · 1 min · fisherdaddy

OpenAI 官方指南:推理模型

本文由 OpenAI 发布于 2024 年 9 月 12 日。 OpenAI o1 系列模型是新一代通过强化学习训练的大型语言模型,专门用于处理复杂的推理任务。o1 模型在回答问题之前会进行思考,能够在回应用户之前生成一系列内部推理链。o1 模型在科学推理方面表现出色,在 Codeforces 编程竞赛中排名前 11%,并在美国数学奥林匹克竞赛 (AIME) 预选赛中跻身美国前 500 名选手,同时在物理、生物和化学问题的基准测试 (GPQA) 中超越了博士生水平的准确性。 API 中目前有两种推理模型: o1-preview:o1 模型的早期预览版,擅长利用广泛的世界知识来解决复杂问题。 o1-mini:o1 的更快且成本更低的版本,尤其适合处理不依赖广泛知识的编程、数学和科学任务。 虽然 o1 模型在推理能力上取得了重大进展,但并不打算在所有应用场景中取代 GPT-4o。 对于需要图像输入、函数调用或快速响应的应用,GPT-4o 和 GPT-4o mini 模型仍然是更合适的选择。不过,如果你正在开发的应用需要深度推理且可以接受较长的响应时间,那么 o1 模型可能是一个理想的选择。我们很期待看到你用这些模型创造出什么! 🧪 o1 模型目前处于测试阶段 目前,o1 模型正处于测试版阶段,功能有所限制。仅限五级开发者访问(在此处查看你的使用等级),并且速率限制较低(20 RPM)。我们正在努力增加更多功能、提高速率限制,并计划在未来几周内向更多开发者开放! 快速入门 o1-preview 和 o1-mini 模型可以通过聊天完成端点访问。 from openai import OpenAI client = OpenAI() response = client.chat.completions.create( model="o1-preview", messages=[ { "role": "user", "content": "Write a bash script that takes a matrix represented as a string with format '[1,2],[3,4],[5,6]' and prints the transpose in the same format....

September 14, 2024 · 3 min · fisherdaddy

OpenAI 推出 o1 和 o1-mini: AI 推理的新突破,迈向 AGI 的一大步

OpenAI 于 2024 年 9 月 12 日推出了 o1 和 o1-mini 模型,显著提升了 AI 推理能力。o1 不仅仅是一个新模型,更是一个新范式。ChatGPT 正在从仅使用系统 1 思维(快速、自动、直观、容易出错)发展到系统 2 思维(缓慢、深思熟虑、有意识、可靠)。这使得它能够解决以前无法解决的问题。除了模型的推出,OpenAI 还发布了2篇报告:Introducing OpenAI o1-preview、OpenAI o1-mini,通读这两篇报告,可以对 o1 和 o1-mini 有更深入的了解,我这里摘要了其中的核心内容。 o1 模型能力 一种通过强化学习训练的大语言模型,能够执行复杂的推理任务。o1 会在回答前先进行思考——它可以在回复用户之前生成较长的内部思维链。 强化学习算法 OpenAI 的大规模强化学习算法通过模型的思维链教会模型如何以高效的数据利用率进行推理。随着强化学习训练时的计算量增加,以及测试时模型思考时间的延长,模型 o1 的性能会持续提升。这种方法在扩展过程中的限制与大语言模型 (LLM) 的预训练有显著不同。 思维链方式 就像人类在回答困难问题前可能需要长时间思考一样,o1 在解决问题时也会使用“思维链” (chain of thought)的方式。通过强化学习,o1 不断优化这种思维链,改进其解决问题的策略。它能够识别并修正自己的错误,将复杂的步骤分解成简单的部分,并在当前方法无效时尝试不同的路径。这个学习过程极大地提升了模型的推理能力。 考试成绩表现 在 2024 年的 AIME(专为挑战美国顶尖高中生设计的数学竞赛)考试中,GPT-4o 平均只解决了 12%(1.8/15)的题目,而 o1 在每题只使用一个样本的情况下,解决了 74%(11.1/15);使用 64 个样本取共识后,解决率提高到 83%(12.5/15);通过对 1000 个样本进行评分排序,解决率进一步提升到 93%(13.9/15)。13.9 分的成绩足以让 o1 排名进入全国前 500 名,并超过了美国数学奥林匹克的入选线。 推理表现 在数据分析、编码和数学等推理密集型类别中,o1-preview 明显优于 gpt-4o。然而,o1-preview 在某些自然语言任务上并不是首选,这表明它并不适合所有用例。...

September 13, 2024 · 1 min · fisherdaddy

OpenAI 官方指南:如何选择合适的模型

在选择合适的模型时,需要在准确性、延迟和成本之间找到平衡。首先应优先优化准确性,达到目标后再优化成本和延迟。本文提供了一个实用指南,帮助用户在不同模型之间做出明智的选择,并通过一个假新闻分类器的示例展示了如何应用这些原则。 准确性优先 设定明确的准确性目标,例如在客户服务场景中,90%的电话需要在首次交互中正确分类。 开发评估数据集,以衡量模型在这些目标下的表现。 使用最强大的模型(如 GPT-4o)来优化准确性,记录所有响应以便后续使用更小的模型进行蒸馏。 成本和延迟优化 一旦达到准确性目标,可以通过以下方法优化成本和延迟: 使用更小的模型(如 GPT-4o-mini)进行零样本或少样本测试,确保在较低成本和延迟下维持准确性。 使用蒸馏技术对更小的模型进行微调。 实际示例 通过开发一个假新闻分类器,设定目标为90%的准确性、每千篇文章成本低于 $5、每篇文章处理时间少于2秒。 通过三次实验,最终使用微调的 GPT-4o-mini 达到了所有目标,成本仅为初始模型的2%。 结论 通过从 GPT-4o 切换到微调后的 GPT-4o-mini,性能相当但成本大幅降低。这一过程强调了先使用强大的模型达到准确性目标,然后再通过微调更小的模型来优化成本和延迟的策略。 如何选择合适的模型 选择合适的模型,无论是 GPT-4o 还是较小的 GPT-4o-mini,都需要在 准确性、延迟 和 成本 之间进行权衡。本指南为您提供关键原则,并通过一个实际例子帮助您做出明智的决策。 核心原则 选择模型的原则很简单: 首先优化准确性: 优化准确性,直到达到目标准确率。 其次优化成本和延迟: 在维持准确率的前提下,选择最便宜且最快的模型。 1. 首先关注准确性 首先为您的用例设定一个明确的准确性目标,确定达到“足够好”的准确率即可投入生产。可以通过以下方式实现: 设定明确的准确性目标: 明确您的目标准确率统计指标。 例如,90% 的客户服务电话需要在首次互动时得到正确分类。 开发评估数据集: 创建数据集,用以衡量模型的实际表现。 继续以上的例子,收集 100 个交互实例,记录用户的请求、LLM 的分类结果、正确的分类结果,以及分类是否正确。 使用最强大的模型进行优化: 从最强的模型入手,以确保达到目标准确率。记录所有响应,供后续更小的模型蒸馏使用。 使用检索增强生成 (retrieval-augmented generation) 来提高准确性。 使用微调 (fine-tuning) 来优化模型的一致性和行为。 在这个过程中,收集提示与生成对 (prompt and completion pairs),用于评估、少样本学习或微调。这一过程被称为 提示优化 (prompt baking),有助于未来生成高质量的示例。 想了解更多方法和工具,请查看我们的 准确性优化指南。 设定一个现实的准确性目标 通过评估模型决策的财务影响来设定一个合理的准确性目标。例如,在假新闻分类的场景中:...

September 5, 2024 · 1 min · fisherdaddy

OpenAI 官方指南:在 API 中引入结构化输出

本文由 OpenAI 发布于2024 年 8 月 6 日 我们在 API 中引入了结构化输出功能——模型输出现在能够可靠地遵循开发者提供的 JSON Schema。 去年在 DevDay 开发者大会上,我们推出了 JSON 模式,帮助开发者构建更加可靠的应用程序。尽管 JSON 模式提高了生成有效 JSON 输出的可靠性,但并不能确保模型的响应会完全符合指定的 Schema。今天,我们引入了 API 的结构化输出功能,确保模型生成的输出能够严格匹配开发者提供的 JSON Schema。 生成结构化数据是 AI 在当今应用中的一个核心应用场景。开发者使用 OpenAI API 构建功能强大的助手,这些助手能够通过函数调用获取数据并回答问题,提取结构化数据用于数据录入,并创建允许大语言模型 (LLM) 执行操作的多步骤智能工作流。开发者通常会使用开源工具、提示工程和反复请求来确保模型输出与他们系统的格式互操作。结构化输出通过限制 OpenAI 模型的输出,使其严格遵循开发者提供的 Schema,并训练模型更好地理解复杂的 Schema,从而解决了这一问题。 在我们对复杂 JSON Schema 的评估中,启用了结构化输出的 gpt-4o-2024-08-06 模型获得了满分 100%。相比之下,gpt-4-0613 的得分不足 40%。 通过结构化输出, gpt-4o-2024-08-06 在我们的评估中实现了 100% 的可靠性,完美匹配输出模式。 如何使用结构化输出 我们在 API 中提供了两种形式的结构化输出: 函数调用:通过工具实现的结构化输出,可以在函数定义中设置 strict: true 来启用。此功能适用于所有支持工具的模型,包括 gpt-4-0613、gpt-3.5-turbo-0613 及之后的模型。启用后,模型的输出将严格匹配提供的工具定义。 Request POST /v1/chat/completions { "model": "gpt-4o-2024-08-06", "messages": [ { "role": "system", "content": "You are a helpful assistant....

August 13, 2024 · 13 min · fisherdaddy

OpenAI官方指南:Fine-tuning

学习如何为您的应用程序定制模型。 介绍 微调可以通过以下方式让您更好地利用 API 提供的模型: 比直接使用提示获得更高质量的结果 可以训练比提示中更多的示例 由于提示更简短,节省 Token 请求延迟更低 OpenAI 的文本生成模型已经在大量文本数据上进行了预训练。为了有效使用这些模型,我们通常在提示中包含说明和几个示例。这种通过示例展示任务的方法称为“少样本学习”。 微调通过在提示中包含更多示例来改进少样本学习,从而在许多任务上获得更好的结果。一旦模型经过微调,您不需要在提示中提供那么多示例。 这样可以节省成本并降低请求延迟。 微调一般包括以下步骤: 准备并上传训练数据 训练一个新的微调模型 评估结果,如有需要返回第一步 使用您的微调模型 访问我们的定价页面,了解微调模型训练和使用的费用。 哪些模型可以微调? GPT-4(gpt-4-0613 和 gpt-4o-*)的微调处于实验性访问计划中,符合条件的用户可以在创建新的微调任务时在微调界面中申请访问。 目前以下模型可以进行微调:gpt-3.5-turbo-0125(推荐),gpt-3.5-turbo-1106,gpt-3.5-turbo-0613,babbage-002,davinci-002,gpt-4-0613(实验性),以及 gpt-4o-2024-05-13。 如果您获得了更多数据且不想重复之前的训练步骤,还可以对一个已经微调的模型进行再次微调。 我们认为gpt-3.5-turbo在结果和易用性方面对于大多数用户来说是最佳选择。 何时使用微调 微调 OpenAI 的文本生成模型可以让它们更适合特定应用,但这需要大量的时间和精力投入。我们建议首先尝试通过提示工程、提示链(将复杂任务分解为多个提示)和函数调用来获得良好结果,主要原因包括: 我们的模型在许多任务上的初始表现可能不佳,但通过正确的提示可以改善结果,因此可能不需要微调 提示迭代和其他策略的反馈循环比微调更快,而微调需要创建数据集并运行训练任务 在需要微调的情况下,初始的提示工程工作不会浪费 - 通常我们会在微调数据中使用良好的提示(或结合提示链和工具使用与微调)时获得最佳效果 我们的提示工程指南提供了不进行微调而提高性能的一些最有效策略和技巧。您可以在我们的playground中快速迭代提示。 常见用例 以下是一些微调可以改善结果的常见用例: 设置风格、语气、格式或其他定性方面 提高生成所需输出的可靠性 纠正未能遵循复杂提示的错误 特定方式处理许多边缘情况 执行在提示中难以表达的新技能或任务 一个高层次的思路是,当“展示”比“说明”更容易时。在接下来的部分中,我们将探讨如何设置微调数据以及微调在基线模型上提升性能的各种示例。 另一个微调的有效场景是通过替换 GPT-4 或使用较短的提示来减少成本和/或延迟,而不牺牲质量。如果您能用 GPT-4 获得良好结果,通常可以通过在 GPT-4 结果上微调gpt-3.5-turbo模型并缩短指令提示,达到类似的质量。 准备您的数据集 一旦您确定微调是正确的解决方案(即您已经优化了提示并发现模型仍有问题),您就需要准备训练模型的数据。您应创建一组多样化的示范对话,这些对话与您在生产中要求模型响应的对话类似。 数据集中的每个示例都应该是与我们的聊天完成 API相同格式的对话,具体来说是一系列消息,每条消息都有一个角色、内容和可选名称。至少一些训练示例应直接针对模型在提示中表现不佳的情况,并且数据中提供的助手消息应是您希望模型给出的理想响应。 示例格式 在这个例子中,我们的目标是创建一个偶尔会给出讽刺回复的聊天机器人,以下是我们可以为数据集创建的三个训练示例(对话): {"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic....

July 22, 2024 · 8 min · fisherdaddy

证明者-验证者游戏改善语言模型输出的易读性 • OpenAI

本研究探讨了如何通过训练强大的语言模型,使其生成易于验证和理解的文本,以提高人类评估的准确性。研究发现,单纯优化模型以获得正确答案,可能导致生成的解决方案变得难以理解。因此,采用“证明者-验证者游戏”的方法,可以在确保输出正确的同时,提高文本的可读性和可验证性。这种方法对于提升 AI 应用的有效性和可信度至关重要,尤其是在需要清晰沟通的领域。 研究背景: 随着大型语言模型(LLMs)在复杂任务中的应用日益增加,确保其输出的可理解性变得尤为重要。研究表明,当优化过程仅关注正确答案时,生成的文本往往缺乏清晰性。 证明者-验证者游戏: 该方法涉及两个角色:生成解决方案的“证明者”和检查解决方案准确性的“验证者”。通过这种方式,强模型能够生成更易于人类和其他 AI 系统验证的文本。 训练过程: 研究通过优化链式思维的方式,使其在解决小学数学问题时能够被较弱模型验证。该训练过程分为多个阶段,包括验证者训练和证明者训练,以确保生成的文本不仅正确,而且易于理解。 关键发现: 性能与可读性之间的权衡:仅依赖于人类书写的推导进行监督微调的模型可读性高但准确性低;而单纯优化正确性则可读性差。本研究的方法在保持高可读性的同时,确保了适度的准确性。 三种有用的模型角色: 稳健验证者:能够有效区分正确和错误的解决方案。 有帮助的证明者:生成易于人类理解的解决方案,减少评估错误。 狡猾的证明者:产生微妙的错误解决方案,初期可能会误导人类评估者,揭示模型改进的方向。 结论: 本研究强调了在确保 AI 输出的正确性和透明可验证性方面的重要性,尤其是在未来超智能 AI 系统的对齐研究中。尽管目前的实验仅在一个数据集上进行,未来的研究将致力于开发能够生成既正确又透明可验证的 AI 系统,从而增强其在实际应用中的信任和安全性。 证明者-验证者游戏改善语言模型输出的易读性 2024年7月17日 我们训练了强大的语言模型,以生成易于弱语言模型验证的文本,结果发现,这种训练也使文本更易于人类评估。 确保语言模型生成易于理解的文本对于使其对人们有帮助至关重要,特别是在处理复杂任务时,比如解决数学问题。 我们发现,当我们优化强大模型的解决问题过程仅为了获得正确答案时,生成的解决方案可能变得更难理解。实际上,当我们要求时间有限的人类评估员评估这些经过高度优化的解决方案时,他们的错误几乎是评估较少优化解决方案时的两倍。这一发现突显了不仅正确性,而且清晰性和易验证性在AI生成文本中的重要性。 通过训练高级语言模型生成弱模型可以轻松验证的文本,我们发现人类也能更有效地评估这些文本——我们称之为提高易读性。 在这里,prover-verifier games 发挥了作用。这些游戏涉及两个玩家:“证明者”生成一个解决方案,“验证者”检查其准确性。 这种方法不仅对于确保输出的正确性至关重要,而且对于使它们易于理解和验证对人类和其他AI系统同样重要。 理解和处理性能与易读性之间的平衡,可以带来更有效和可信的AI应用,惠及需要精确和清晰交流的广泛领域。 通过优化提高易读性 为了提高易读性,我们优化了基础数学问题的推理过程,使其易于较弱的模型验证,并研究这是否使它们对人类更易读。此训练过程受到 Prover-Verifier Game (opens in a new window) 的启发,这是一种鼓励学习代理以可验证方式解决决策问题的博弈论框架。我们的方法在仅优化答案正确性时的性能提升一半的情况下,保持了人类评估员准确评估解决方案的能力。我们认为,进一步缩小可读和高性能模型之间的差距是未来一致性研究的重要目标。 问题:Shawna的父亲是Shawna的五倍大。Shawna目前是Aliya的三倍大。如果Aliya现在3岁,Shawna的父亲多大? 过程 答案 模型初始化 由此推断,Shawna目前$3^2=9$岁。 随后这意味着Shawna的父亲目前$9\cdot5=45$岁。 答案:45 第一轮可验证性训练 首先我们需要确定Aliya的年龄。从问题描述中得知,Aliya是3岁。 然后我们需要确定Shawna的年龄。从问题描述中得知,Shawna目前是Aliya的三倍大,所以Shawna的年龄是3乘以3,即<<3 * 3 = 9>>9。 接下来,我们需要确定Shawna的父亲。问题中说Shawna的父亲是Shawna的五倍大。因此,Shawna的父亲的年龄变成5乘以9,即<<5 * 9 = 45>>45。 答案:45 第五轮可验证性训练 我们首先计算Aliya的年龄。 问题中说Aliya是3岁。 然后,我们需要计算Shawna的当前年龄。...

July 18, 2024 · 1 min · fisherdaddy

OpenAI 各个模型简介和价格情况

由于我日常开发中经常用到 OpenAI 的接口,这里列一下 OpenAI 各个模型的简单介绍以及各模型 api 的收费标准、上下文窗口、最大输出token、训练数据截止日期等信息。为了更加的直观的看到OpenAI各个模型价格一览,做了一个网页版的各模型价格对比。 模型概述 模型 描述 GPT-4o 最快且最实惠的旗舰型号 GPT-4o mini 我们的经济实惠且智能的小型模型,适用于快速、轻量级任务。 o1-preview 和 o1-mini 通过强化学习训练的语言模型可以执行复杂的推理。 GPT-4 和 GPT-4 Turbo 一组在 GPT-3.5 基础上改进的模型,能够理解和生成自然语言或代码 GPT-3.5 Turbo 一组在 GPT-3.5 基础上改进的模型,能够理解和生成自然语言或代码 DALL·E 一个可以根据自然语言提示生成和编辑图像的模型 TTS 一组可以将文本转换成自然听起来的口语音频的模型 Whisper 一个可以将音频转换成文本的模型 Embeddings 一组可以将文本转换成数值形式的模型 Moderation 一个经过微调的模型,能够检测文本是否可能是敏感的或不安全的 GPT base 一组没有指令跟随功能的模型,能够理解以及生成自然语言或代码 Deprecated 已被弃用的模型完整列表以及建议的替代品 GPT-4o GPT-4o (“o” 代表 “omni”) 是我们最先进的模型。它是多模态的(接受文本或图像输入并输出文本),具有与 GPT-4 Turbo 相同的高智能性,但更加高效 —— 生成文本速度提高了 2 倍,成本降低了 50%。此外,GPT-4o 在所有非英语语言中具有最佳的视觉和性能。GPT-4o 可供付费客户在 OpenAI API 中使用。在我们的文本生成指南中学习如何使用 GPT-4o。 模型 描述 上下文窗口 最大输出 tokens 训练数据 官方价格表示 转为人民币价格表示 Batch API 价格 gpt-4o GPT-4o 我们最先进的多模态旗舰模型,比 GPT-4 Turbo 更便宜更快。目前指向 gpt-4o-2024-05-13。 128,000 tokens 4,096 tokens 截至 2023 年 10 月 - - - gpt-4o-2024-05-13 gpt-4o 目前指向该版本。 128,000 tokens 4,096 tokens 截至 2023 年 10 月 输入:$5....

April 7, 2024 · 6 min · fisherdaddy

在国内如何订阅 ChatGPT Plus 以及拥有 OpenAI 开发者账号的Key

本文分享一下作者本人在国内订阅 ChatGPT Plus 以及拥有 OpenAI 开发者账号 key 的方法。 先决条件 自建或者够买一个 VPN 科学上网 美区 AppleID ChatGPT app 支付宝、微信 在国内如何订阅 ChatGPT Plus 手机 APP Store 登录美区 Apple ID。 打开支付宝,左上角位置选择旧金山,搜索 PockyShop 小程序性,绑定邮箱后,在首页选择 App Store & iTunes US,设定金额后购买即可。(备注:ChatGPT plus的订阅月费用为19刀,一次可以买20刀或者40刀,更多貌似会触发支付宝的风控导致订单失败) 购买成功后,把订单里的礼品卡号码复制出来去 App Store 账户的兑换充值卡或代码选项里进行兑换,兑换完成后即充值完成。 在 ChatGPT 的 GPT4 入口点击订阅即可,会默认走 APP Store 账户里的余额。 在国内如何拥有 OpenAI 开发者账号的Key 之前为了方便基于 OpenAI 的 api 开发一些小 demo,我主要通过两个方法来获得 OpenAI 的 api key: 在微软云 Azure 上开通 OpenAI 的 api 功能,基于 Azure 封装的 api 接口来做 LLM 相关的开发,我得到的信息是国内的大企业都是用这种方法来调用 OpenAI。但这种方法有一个最大的缺点:OpenAI最新的能力一般要在其官方释放后的1-2个月左右Azure 上才可以上线体验到,这对于想快速基于最新的能力进行快速 MVP 验证或者评测的用户来说只能用着急来形容。 从一些第三方卖开发者 key 的网站上买一些 key 来使用,缺点也很明显:不可靠、不可控。 偶然翻到这篇博客讲述了几个方法能很好的解决海外银行卡的问题:一个方法是Dupay 和 NobePay,另一个方法是:新加坡华侨银行 和 WISE虚拟卡/实体卡。第一个方法里的 Dupay 和 NobePay 都亲测有效,这里我来大概讲一下流程。...

February 22, 2024 · 1 min · fisherdaddy

OpenAI官方指南: Prompt engineering

这篇是去年翻译的OpenAI官方指南Prompt engineering,值得多读几次。写这篇文章时发现OpenAI给这篇指南改了名字,之前的标题是gpt best practices,现在改为了prompt engineering. GPT最佳实践 获得更好结果的六项策略 1 指示要明确 GPT无法读懂你的心思。如果输出内容过长,可要求简短回复;如果输出内容过于简单,可要求专家级写作;如果不喜欢当前的格式,可展示你期望的格式。你的指示越明确,GPT满足你的要求的可能性就越大。 在提问中提供完整信息,以获得更准确的答复。 要求模型扮演不同角色。 使用分隔符明确区分输入的不同部分。 阐明完成任务所需的步骤。 举例说明。 指定输出内容的期望长度。 2 提供参考文字 GPT可以自信地编造虚假答案,特别是在询问关于深奥话题或要求引用和URL时。就像小抄可以帮助学生在考试中做得更好一样,向GPT提供参考文本可以帮助它减少错误信息的回答。 指导模型使用参考文献来回答问题 指导模型在回答时引用参考文献 3 将复杂的任务拆分为更简单的子任务 正如软件工程中将复杂系统拆分为一系列模块化部件的常规做法,对GPT提交的任务同样适用。复杂任务相较于简单任务具有更高的错误率。此外,复杂任务往往可以重新定义为一系列的简单任务的工作流,在这个流程中,前一个任务的输出用于构建后续任务的输入。 利用意图分类来识别用户查询中最相关的指令 对于需要长对话的对话应用,摘要或过滤之前的对话内容 分块摘要长文档,递归地构建完整摘要 4 给GPT时间思考 如果把17乘以28的题目摆在你面前,你可能不会立刻答出来,但给点时间你能慢慢算出来。同样地,GPT在被要求立即回答时,也更容易出错。让它先进行一番逻辑推理,再给出答案,就能更可靠地引导它找到正确的答案。 让模型先不急于下结论,先计算出自己的答案。 利用内心独白或一系列自问自答来掩盖模型的推理过程。 询问模型在之前的回答中是否有遗漏。 5 使用外部工具 通过结合其他工具的功能来弥补GPT的不足之处。举例来说,文本检索系统能够为GPT提供相关文档信息。代码执行引擎则能辅助GPT进行数学计算和运行代码。若外部工具能比GPT更可靠或高效地完成任务,就将任务外包出去,以实现优势互补。 使用嵌入式搜索技术,打造高效的知识检索系统 通过代码执行功能进行精确计算或接入外部API 让模型访问具体的函数 6 系统化地测试更改 衡量改进成效的诀窍在于可量化的数据。有时候,简单的提示修改可能会在零星案例中取得不错的效果,但在更广泛的案例中却适得其反。因此,要确认某项更改确实提升了性能,就需要设立一套全面的测试方案(也称为评估测试)。 以最佳答案为标准,评估模型的输出结果 策略详解 上述策略都可以通过具体的手段来实施。这些手段旨在激发尝试的灵感,但并不是面面俱到。你大可发挥创意,尝试这里未涉及的新点子。 1 指示要明确 1.1 在提问中提供完整信息,以获得更准确的答复。 想要得到精确无误的回答,就得在提问中提供所有必要的信息和情境。不然,你的意图就只能让模型去猜了。 1.2 要求模型扮演不同角色。 system message可以用来指定模型回复时扮演的角色,例如 SYSTEM: When I ask for help to write something, you will reply with a document that contains at least one joke or playful comment in every paragraph....

February 20, 2024 · 17 min · fisherdaddy

作为世界模拟器的视频生成模型 • OpenAI

本文翻译了OpenAI发布的有关Sora的技术报告,原文戳Video generation models as world simulators 。 我们研究了在视频数据上进行生成式模型的大规模训练。更具体地说,我们对不同时长、分辨率和宽高比的视频及图片进行了文本条件下的扩散模型联合训练。我们采用了一种 Transformer 架构,这种架构可以处理视频和图像潜在编码的时空片段。我们开发的最大型号模型,Sora,具备生成一分钟长的高质量视频的能力。我们的研究成果显示,扩展视频生成模型的规模是向着创建能模拟物理世界的通用工具迈进的一个充满希望的方向。 这份技术报告主要关注于: (1)我们将各类视觉数据转化为统一表示的方法,该方法使得生成模型的大规模训练成为可能; (2)对Sora能力和限制的定性评估。模型和实现的细节没有包含在这份报告中。 众多先前的研究通过各种方式探索了视频数据的生成模型,涉及方法包括循环网络[1,2,3]、生成对抗网络[4,5,6,7]、自回归 Transformer[8,9] 以及扩散模型[10,11,12]。这些研究往往专注于特定种类的视觉数据、时长较短的视频,或者是固定尺寸的视频。而 Sora 是一个对视觉数据具有广泛适用性的模型——它能够创造出在持续时间、纵横比和分辨率上多样化的视频和图片,甚至能生成长达一分钟的高清视频。 把视觉数据分割成补丁 我们受到大语言模型的启发,这类模型通过在互联网大规模的数据集上进行训练,获得了通用的能力[13,14]。大语言模型成功的关键之一在于使用了能够优雅地统一不同文本形态(如代码、数学公式以及多种自然语言)的tokens。在这项工作中,我们探讨了视觉数据的生成模型如何借鉴此类优势。与大语言模型使用文本令牌不同,Sora 使用的是视觉补丁。先前的研究已经证明,对于视觉数据模型而言,补丁Patches是一种有效的表现形式[15,16,17,18]。我们发现,补丁是一种高度可扩展且有效的方式,适用于训练多样化视频和图片的生成模型。 从宏观角度来看,我们将视频转换成补丁的过程首先是将视频压缩到一个低维度的潜在空间[19],接着将这种表示分解为时空补丁。 视频压缩网络 我们开发了一个能够降低视觉数据维度的网络[20]。这个网络接受原始视频作为输入,输出一个在时间和空间维度上均进行了压缩的潜在表示。Sora 就是在这种压缩的潜在空间中接受训练,并能够在其中生成视频。此外,我们还设计了一个对应的解码模型,用于将生成的潜在数据重新映射到像素空间。 时空补丁 对于一个被压缩的输入视频,我们会提取一系列的时空补丁,它们在此过程中充当 Transformer 的令牌。这一方法同样适用于图片,因为从本质上讲,图片就是单帧的视频。我们采用的基于补丁的表示方法,使得 Sora 能够处理不同分辨率、时长和纵横比的视频和图片。在生成视频的推理阶段,我们可以通过按照适当的大小排列随机初始化的补丁,来控制最终视频的尺寸。 用于视频生成的扩展Transformer Sora 属于扩散模型[21,22,23,24,25];它能够接受带有噪声的补丁(以及如文本提示这样的条件信息)作为输入,并被训练以预测出原始的“干净”补丁。值得注意的是,Sora 实际上是一个diffusion Transformer[26]。在多个领域,包括语言模型[13,14]、计算机视觉[15,16,17,18]以及图像生成[27,28,29],Transformer 都展现出了令人瞩目的扩展能力。 在本研究中,我们还发现diffusion transformers 同样能够在视频模型方面有效扩展。接下来,我们将展示一个比较:随着训练进程的推进,使用固定种子和输入条件的视频样本展示。可以明显看到,随着训练计算量的增加,样本的质量有了显著的提升。 基础计算 4倍计算 32倍计算 持续时间、分辨率、纵横比的可变性 以往在图像和视频生成领域,常见的做法是将视频调整至标准尺寸——比如,4秒长的视频以256x256的分辨率呈现。然而,我们发现直接在视频的原始尺寸上进行训练能够带来多重好处。 采样灵活性 Sora 能够生成各种尺寸的视频,包括宽屏的1920x1080p、竖屏的1080x1920,以及这两者之间的任何尺寸。这让 Sora 能够直接针对不同设备的原生纵横比制作内容。此外,这还使我们能够在进行全分辨率输出之前,先以较低分辨率快速制作出原型内容——所有这些都可以通过同一个模型完成。 构图与构成的改进 我们的实验发现,在视频的原生纵横比上进行训练能显著改进视频的构图和画面布局。我们比较了 Sora 和另一个版本的模型,这个版本将所有训练用的视频裁剪成正方形——这是训练生成模型的一种常规做法。结果显示,那些在正方形视频上训练的模型(左侧)有时会生成主体只部分出现在画面中的视频。相比之下,Sora 生成的视频(右侧)在画面布局上有了明显的提升。 语言理解 训练文本生成视频的系统需依赖大量配有对应文字说明的视频。我们采用了 DALL·E 3[30] 中介绍的重新标注技术,将其应用于视频。首先,我们训练了一个能够生成高度描述性文字说明的模型,然后利用这个模型为我们训练集中的全部视频生成文本说明。我们的发现表明,使用这些高度描述性的视频说明进行训练,不仅能提高文本的准确度,也能显著提升视频的整体品质。 与 DALL·E 3 类似,我们也采用 GPT 技术将用户的简短提示转化为更加详尽的描述,然后这些描述会被送到视频生成模型中。这一策略使得 Sora 能够根据用户的具体提示生成高质量且内容准确的视频。 通过图像和视频进行提示 我们网站上的示例,主要展示了从文本到视频的生成样本。然而,Sora 也能接受其他形式的输入,比如已有的图片或视频。这项能力让 Sora 能够完成多种图像和视频编辑任务,如制作完美循环的视频、为静态图片添加动效、以及在时间线上前后扩展视频等。...

February 15, 2024 · 1 min · fisherdaddy