OpenAI GPT-3模型详解

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 针对文本生成和代码生成这两大类场景,OpenAPI分别提供了GPT-3和Codex模型,本文将为大家详细介绍这两个模型。

OpenAI GPT-3模型详解

针对文本生成和代码生成这两大类场景,OpenAPI分别提供了GPT-3Codex模型,

模型 描述
GPT-3 一组能够理解和生成自然语言的模型
Codex 一组可以理解和生成代码的模型,包括将自然语言转换为代码

本文将为大家详细介绍这两个模型。

模型概述

GPT-3

p1.png

GPT-3模型可以理解并生成自然语言。OpenAI根据任务场景和功能强度提供了四种可选子模型。其中Davincig功能最强大,而Ada响应速度最快。

模型名称 描述 最大tokens 训练数据
text-davinci-003 最强大的GPT-3模型。
具有更高的输出质量、
更长的输出内容
和更好的语言理解能力。
还支持文本插入功能。
4,000 tokens 截至2021年6月
text-curie-001 功能强大,
但比Davinci速度更快,价格也更便宜。
2,048 tokens 截至2019年10月
text-babbage-001 能够完成简单任务,速度快,成本低。 2,048 tokens 截至2019年10月
text-ada-001 能够完成非常简单的任务,
通常是GPT-3系列中速度最快的,成本最低的。
2,048 tokens 截至2019年10月

尽管通常来讲Davinci最强大,但其他型号的模型在某些特定场景和任务下,具有明显的速度或成本优势。例如,Curie可以执行许多与Davinci相同的任务,但速度更快,成本仅为Davinci的1/10。

建议在实验时使用Davinci,因为它产生的结果最好。一旦实验完成,建议尝试一下其他模型的效果,看看是否能以更低的延迟或成本获得同样或近似的效果。同时还可以通过在特定任务上对其他模型进行微调来提高它们的性能。

Davinci

Davinci是GPT-3系列中最强大的模型,可以在很少指引的情况下完成其他模型能完成的任何任务。对于需要大量理解内容的应用,如针对特定受众的摘要生成和创造性内容生成,Davinci的产生效果最佳好。当然,这些优势需要更多的计算资源,因此Davinci每次API调用的成本更高,而且速度也不如其他模型。

Davinci的另一个亮点是理解文本的意图。Davinci非常擅长解决各种逻辑问题,并解释其中角色的动机。Davinci已经能够解决一些涉及因果关系的最具挑战性的人工智能问题。

擅长领域:复杂意图理解、因果关系发现及理解、针对性摘要总结

Curie

Curie也非常强大,同时速度也非常快。虽然Davinci在分析复杂文本时更具优势,但Curie在情感分类和总结摘要等许多细致任务上表现出色。Curie还非常擅长回答问题,因此非常适合作通用服务聊天机器人。

擅长领域:翻译、摘要、复杂分类、文本情感

Babbage

Babbage可以执行分类等简单任务。当涉及到语义搜索时,它也可以很好地对文档与搜索查询的匹配程度进行排序。

擅长领域:文本分类、语义搜索分类

Ada

Ada通常是速度最快的模型,可以执行解析文本、地址更正和粗放的分类任务。可以通过提供更多上下文来提升Ada的表现。

擅长:文本解析、简单分类、地址更正、关键字提取

⚠注意:高级模型都能完成低级模型能完成的任务,例如Ada能完成的工作,Curie和Davinci都能完成。

OpenAI模型是非确定性的,这意味着相同的输入可以产生不同的输出。将temperature 设置为0将使输出大部分具有确定性,但仍可能存在少量可变性。

Codex

p6.png

Codex模型是GPT-3模型的派生模型,可以理解和生成代码。训练数据包含自然语言和来自GitHub的数十亿行公共代码。

Codex最擅长Python,并精通十几种语言,包括JavaScript、Go、Perl、PHP、Ruby、Swift、TypeScript、SQL,甚至Shell。

Open AI目前提供2种子模型:

模型名称 描述 最大请求 训练数据
code-davinci-002 最强大的Codex模型。
特别擅长将自然语言转译成代码。
除了完成代码外,还支持在代码补全。
8,000 tokens 截至2021年6月
code-cushman-001 几乎与Davinci Codex一样强大,但速度稍快。
这种速度优势可使其更适合于实时应用。
2,048 tokens

Codex目前尚处在公测阶段。公测期间免费调用,但是速度会受限制。推荐直接用最强的code-davinci-002

API调用

OpenAI API调用非常简单,官方提供Python和Node.js库。

Python库

Python库可以通过下面命令安装:

$ pip install openai

安装后即可在代码中通过导入openai库来调用各功能接口

import openai

openai.api_key = "YOUR_API_KEY"

response = openai.Completion.create(
    model="text-davinci-003", 
    prompt="Hello", 
    temperature=0, 
    max_tokens=16
)

这里需要注意的是:调用接口需要先绑定OpenAI API Key。该API Key可以在OpenAI后台申请,点击右上角头像,在弹出菜单中点击”View API keys“。在API Keys管理界面可以创建或删除API Keys。

企业微信截图_20230211150457.png

Node.js库

Node.js库的安装和使用步骤与Python库类似,在项目中运行

$ npm install openai

即可向项目中安装并添加openai库。安装完成后,即可在代码中调用

const {
   
    Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
   
   
  apiKey: 'YOUR_API_KEY',
});
const openai = new OpenAIApi(configuration);
const response = await openai.createCompletion({
   
   
  model: "text-davinci-003",
  prompt: "Hello",
  temperature: 0,
  max_tokens: 16,
});

社区提供了其他所有主流编程语言的库,大家可以根据自己使用的语言,在这里查找。

参数说明

用API的一大好处是,API提供了众多参数,可以让我们控制输出效果。下面是GPT-3Codex模型支持的参数:

参数名 类型 默认值 说明
model string 模型名称(详见模型综述
prompt string 输入的提示
suffix string null 文本生成后在文末插入的后缀
max_tokens int 16 文本生成时要生成的最大token数。
提示的token数加上max_tokens不能超过模型的上下文长度。
大多数模型的上下文长度为2048个token(最新模型支持4096 tokens)
temperature float 1 采样温度。值越高意味着模型承担的风险越大。
对于需要创意的场景,可以尝试0.9,
对于答案明确的场景,建议用0(argmax采样)
建议不要与top_p同时改变。
详见《ChatGPT模型采样算法详解》
top_p float 1 核采样(温度采样的另一种方式),其中模型考虑具有top_p概率质量的token的结果。因此,0.1意味着只考虑包含最高10%概率质量的token
建议不要与temperature同时改变。
详见《ChatGPT模型采样算法详解》
n int 1 每个提示要生成多少个答案
stream boolean false 是否返回流传输进度。如果设置,token将在可用时以纯数据服务器端推送事件发送,流以data:[DONE]消息终止。
logprobs int nul 如果传值(最大值5)则表示包括logprobs个最可能的token以及所选令牌的对数概率。例如,如果logprobs为5,则API将返回包含5个最可能Token的列表。
echo boolean false 是否回传提示
stop string null 最多4个序列,遇到stopAPI将停止生成。
返回的文本不包含停止序列。
presence_penalty float 0 数值介于-2.0和2.0之间。正值将根据到目前为止新token是否出现在文本中来惩罚新token,从而增加模型谈论新主题的可能性。
详见 《ChatGPT模型中的惩罚机制》
frequency_penalty float 0 数值介于-2.0和2.0之间。正值根据文本中新token已经出现的频率惩罚新token,从而降低模型逐字重复同一行的可能性。
详见 《ChatGPT模型中的惩罚机制》
best_of int 1 在服务端生成best_of个完成,并返回“最佳”(每个token的log概率最高的一条)。结果无法流式传输。
n一起使用时,best_of控制候选回应的数量,n指定要返回的数量–best_of必须大于等于n
⚠注意:由于此参数生成许多回应,因此会快速消耗token配额。小心使用并确保对max_tokensstop进行了合理的设置。
logit_bias map null 修改回应种出现指定token的可能性。
接受一个json对象,该对象将token(由GPT tokenizer的token ID指定)映射到-100到100之间的相关偏差值。可以用 tokenizer tool 将文本转换成token ID。
在数学上,在采样之前,将偏差添加到模型生成的逻辑中。每个模型的确切效果会有所不同,但介于-1和1之间的值应该会降低或增加选择的可能性;像-100或100这样的值应该会导致相关token的禁用或必现。
例如,可以传递{"50256": -100} 以防止生成 <endoftext> 标记
user string null 代表终端用户的唯一标识符,OpenAI用来监控和检测滥用。

理解上述参数对文本生成任务的影响至关重要。其中最重要的一组参数是temperaturetop_ppresence_penaltyfrequency_penalty,详见《ChatGPT模型采样算法详解》《ChatGPT模型中的惩罚机制》

总结

虽然GPT-3模型没有ChatGPT强大,但使用API有如下好处:

优点

  • 无需注册、直接使用
  • 有参数可以控制输出
  • 比ChatGPT稳定
  • 速度比ChatGPT快一点
  • 可以整合到其他系统中

缺点

  • 生成质量不如ChatGPT
  • 有限的上下文支持
  • 会产生费用
目录
相关文章
|
3月前
|
机器学习/深度学习 人工智能 并行计算
"震撼!CLIP模型:OpenAI的跨模态奇迹,让图像与文字共舞,解锁AI理解新纪元!"
【10月更文挑战第14天】CLIP是由OpenAI在2021年推出的一种图像和文本联合表示学习模型,通过对比学习方法预训练,能有效理解图像与文本的关系。该模型由图像编码器和文本编码器组成,分别处理图像和文本数据,通过共享向量空间实现信息融合。CLIP利用大规模图像-文本对数据集进行训练,能够实现zero-shot图像分类、文本-图像检索等多种任务,展现出强大的跨模态理解能力。
284 2
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
当语言遇见智慧火花:GPT家族历代模型大起底,带你见证从平凡到卓越的AI进化奇迹!
【10月更文挑战第6天】随着自然语言处理技术的进步,GPT系列模型(Generative Pre-trained Transformers)成为该领域的明星。从GPT-1的开创性工作,到GPT-2在规模与性能上的突破,再到拥有1750亿参数的GPT-3及其无需微调即可执行多种NLP任务的能力,以及社区驱动的GPT-NeoX,这些模型不断进化。虽然它们展现出强大的语言理解和生成能力,但也存在如生成错误信息或偏见等问题。本文将对比分析各代GPT模型的特点,并通过示例代码展示其部分功能。
165 2
|
1月前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
3月前
|
数据采集 API 决策智能
华为诺亚联合中科大发布工具调用模型ToolACE,效果持平GPT-4获开源第一
 【10月更文挑战第10天】华为诺亚方舟实验室与中国科学技术大学合作推出ToolACE,一种自进化合成过程的工具调用模型。ToolACE通过多智能体交互和双重验证系统生成准确、复杂、多样化的工具学习数据,显著提升大型语言模型(LLM)的功能调用能力。实验结果显示,使用ToolACE数据训练的80亿参数模型性能媲美GPT-4,在伯克利功能调用排行榜上获得开源第一。
100 4
|
26天前
|
数据采集 人工智能 数据可视化
InternVL 2.5,首个MMMU超过70%的开源模型,性能媲美GPT-4o
近期Internvl2.5发布,性能与GPT-4o和Claude-3.5-sonnet等领先的商业模型相媲美,成为首个在MMMU上超过70%的开源模型,通过链式思考(CoT)推理实现了3.7个百分点的提升,展示了强大的测试时间可扩展性潜力。
|
10天前
|
人工智能 自然语言处理 机器人
OpenAI推出具有图像上传和分析功能的完整o1模型,并首次推出ChatGPT Pro
OpenAI推出具有图像上传和分析功能的完整o1模型,并首次推出ChatGPT Pro
|
1月前
|
人工智能 自然语言处理 计算机视觉
OpenAI发布sCM提升50倍效率,扩散模型重大技术突破!
OpenAI近期发布了Simplified Consistency Models (sCM) 技术,这是在扩散模型基础上的重大改进,实现了50倍效率提升。sCM通过简化和稳定连续时间一致性模型的训练过程,解决了传统模型中的离散化误差和训练不稳定性问题,显著提升了生成模型的性能和效率。在多个数据集上的测试结果表明,sCM不仅超越了现有模型,还在生成模型的实际应用中展现了巨大潜力。论文地址:https://arxiv.org/abs/2410.11081
48 3
|
2月前
|
自然语言处理 搜索推荐 Serverless
基于函数计算部署GPT-Sovits模型实现语音生成
阿里云开发者社区邀请您参加“基于函数计算部署GPT-Sovits模型实现语音生成”活动。完成指定任务即可获得收纳箱一个。活动时间从即日起至2024年12月13日24:00:00。快来报名吧!
|
3月前
|
存储 数据采集 数据安全/隐私保护
商汤、清华、复旦等开源百亿级多模态数据集,可训练类GPT-4o模型
商汤科技、清华大学和复旦大学等机构联合开源了名为OmniCorpus的多模态数据集,规模达百亿级,旨在支持类似GPT-4级别的大型多模态模型训练。该数据集包含86亿张图像和1696亿个文本标记,远超现有数据集规模并保持高质量,具备广泛来源和灵活性,可轻松转换为纯文本或图像-文本对。经验证,该数据集质量优良,有望促进多模态模型研究,但同时也面临存储管理、数据偏见及隐私保护等挑战。
199 60
|
2月前
|
弹性计算 自然语言处理 搜索推荐
活动实践 | 基于函数计算部署GPT-Sovits模型实现语音生成
通过阿里云函数计算部署GPT-Sovits模型,可快速实现个性化声音的文本转语音服务。仅需少量声音样本,即可生成高度仿真的语音。用户无需关注服务器维护与环境配置,享受按量付费及弹性伸缩的优势,轻松部署并体验高质量的语音合成服务。

热门文章

最新文章