1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【实践笔记】手把手带你微调自己的GPT-davinci-003 关联 ChatGPT OpenAI 微调API Fine-tune API

【实践笔记】手把手带你微调自己的GPT-davinci-003 关联 ChatGPT OpenAI 微调API Fine-tune API

时间:2023-01-26 09:18:47

相关推荐

【实践笔记】手把手带你微调自己的GPT-davinci-003 关联 ChatGPT OpenAI 微调API Fine-tune API

预备 Preliminary:

接下来的操作我默认以下条件已满足:

1.已安装openai pakage, 具体可以看我的上两篇文章。

2.做的是生成任务,如果是其他任务诸如抽取和问答,可以参考,对照官方文档调整对应操作。

Step 0.5 : 设置密钥

官网指令(Linux):

export OPENAI_API_KEY="<OPENAI_API_KEY>"

如果你是Windows,请这样操作:

setx OPENAI_API_KEY "<OPENAI_API_KEY>"

Step 1 :准备数据

我是简单的生成,所以只有输入"prompt"和输出"completion"这两个东西,

官方给了很多数据格式与载体格式,我这里用的是csv,

很简单,两个列,列名对应好就可以。

这里演示,我们假设我们的微调训练数据文件名为 pac.csv

openai tools fine_tunes.prepare_data -f pac.csv

此时完成了文件处理,他会帮你加好一些预处理操作,一直选Y(yes)就行。

Step 2: 创建并训练微调模型

参数 -t 是你生成的jsonLine文件

参数 -m是你的基础模型,这里我选择的是达芬奇

openai api fine_tunes.create -t "pac_prepared.jsonl" -m davinci

当这句话开始执行, 先会把文件传到云端,然后微调训练就开始了,你可以用给出的命令 follow查看进度。

openai api fine_tunes.follow -i "<model_id>"

或者你也考虑list指令看当前全部模型状态

openai api fine_tunes.list

在输出中找到你的训练id, status属性会显示"pending"

当训练结束,可以使用的时候,status会变成 “processed”

Step 3: 使用微调模型结果进行预测:

在命令行:

openai api completions.create -m "<model_name>" -p " 帮我生成肯德基吮指原味鸡的广告语 ->"

如果你想像在官网playground上面那样调一些模型参数,可以考虑python调用方式:

import openairesponse = pletion.create(# 模型名称model= "<model_name>",# 用户提供的输入文本,用于指导GPT输出prompt=" 生成文案关于必胜客的牛肉披萨 ->",# 控制输出的多样性,0-1,其中0表示最保守的输出,1表示最多样化的输出。temperature=0.2,# 输出的最大长度(输入+输出的token不能大于模型的最大token),可以动态调整max_tokens=1000,# [控制字符的重复度] -2.0 ~ 2.0 之间的数字,正值会根据新 tokens 在文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性frequency_penalty=0.5,# [控制主题的重复度] -2.0 ~ 2.0 之间的数字,正值会根据到目前为止是否出现在文本中来惩罚新 tokens,从而增加模型谈论新主题的可能性presence_penalty=0.5,)print(response['choices'][0]['text'])

response有很多输出属性,可以自行做其他拆解。

此处python调用API的代码参考 @感谢地吸引力 原文链接:

/weixin_43764974/article/details/129218852

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。