介绍一下 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