赞
踩
一:参数
OpenAI提供的在线大模型中,所有的Completions模型都需要通过Completion.create进行调用,并在实际调用的过程中通过超参数设置对应的调用模型及模型相关参数。
以下是OpenAI官网给出的详解:
https://platform.openai.com/docs/api-reference
不同的参数有着不同的作用,可以阅读官方文档。
二:调试
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
#注意这里需要API KEY
#实际调用的过程中通过超参数设置对应的调用模型及模型相关参数
response = openai.Completion.create(
model="text-davinci-003",
prompt="This is a test message"
)
程序如果不报错,证明是没有任何问题的。
比如给一个具体的例子:
response = openai.Completion.create(
model="text-davinci-003",
prompt="请问什么是机器学习",
max_tokens=1000,
n=3
)
n=3时,就有3个completion返回,如下:
当n不等于1时,取结果采用索引的方式。当输入n=3的时候,response[“choices”][0]就是取第一个Completion的内容,response[“choices”][1]就是取第二个Completion的内容,以此类推。
三:激发大语言模型的能力
一般有两种方式,提示工程(prompt engineering)和微调(fine-tuning)
3.1提示工程(prompt engineering)
提示工程是指通过设计特殊的提示来激发模型的涌现能力。这种方法不需要对模型进行额外的训练,只需要通过设计合适的提示来引导模型完成特定任务。提示工程通常用于在不更新模型参数的情况下,快速解决新问题。通过输入更加合理的提示,引导模型进行更有效的结果输出,本质上一种引导和激发模型能力的方法。这种方法最早在GPT3 的论文中提出:给定一个提示(例如一段自然语言指令),模型能够在不更新参数的情况下给出回复。在此基础上,Brown等在同一篇工作中提出了Few-shot prompt,在提示里加入输入输出实例,然后让模型完成推理过程。这一流程与下游任务规定的输入输出完全相同,完成任务的过程中不存在其它的中间过程。
优势:它是一种更加轻量级的引导方法,尝试和实施的门槛更低。
优劣势:受限于模型对话上下文限制,提示量有限。
3.2微调(fine-tuning)
微调是指在预训练好的大型语言模型基础上,针对特定任务进行额外训练。这种方法需要对模型进行额外的训练,但可以提高模型在特定任务上的性能。微调通常用于解决那些无法通过提示工程解决的问题。换句话说:它通过输入额外的样本,对模型部分参数进行修改,从而强化模型某部分能力。本质上也是一种引导和激发模型能力的方法。
优势:可以让模型永久的强化某方面能力。
劣势:需要重新训练模型部分,训练成本较大,需要精心准备数据,技术实施难度更大。
后续很多操作实例以及代码方面的知识会慢慢发出
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。