过程其实挺简单的,首先得注册一个账号获取token(我是叫在美国的朋友注册了一个)。注册好账号后,有18美金的试用额度,基本可以完成好几次模型训练了。除了模型训练需要收费之外,大概1000个token的费用是0.02美金。

设置好OPENAI_API_KEY这个环境变量。

export OPENAI_API_KEY="<OPENAI_API_KEY>"

接下来就进入正题了,

1. 准备数据,格式如下,每一行都是一个json,换行用\n表示,我finetune的task只需要1000条左右的数据,模型结果还不错,根据训练时的提示,至少需要100条,越多越好

{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
...

openai提供了现成的命令可以转csv成json: openai tools fine_tunes.prepare_data -f ./train_data.csv

2. 训练,我finetune的是davinci模型,还有三四个选择,输错命令行会提示。我的task只finetune了一个周期,整个过程大概花费1美金,持续约5~10分钟

openai api fine_tunes.create -t ./train_data_prepared.jsonl -m davinci --n_epochs 1

不需要的模型还可以删除

openai api models.delete -i "davinci:ft-personal-2022-11-20-03-40-02"

用如下命令可以列出曾经训练的模型列表

openai api fine_tunes.list

3. api调用,有好几种方法,比如直接

openai api completions.create -m davinci:ft-personal-2022-11-20-04-05-47 -p "Beautiful sunset beach landscape with a boat"

我的task还需要设置更多的两个参数temperature和frequency_penalty,所以我写了个简单的脚本完成这个任务,并且openai限制1秒调用超过60次,我加了个简单的sleep。其中有个坑是,推理的时候seperator里的\n,无需过采用"\\"多转义。

import os
import sys
import openai
import json
import timeif not os.path.exists(sys.argv[2]):res = openai.Completion.create(max_tokens=32,model=sys.argv[1],prompt=sys.argv[2]+"\n##\n",temperature=0.7,frequency_penalty=0.1)text = res["choices"][0]["text"]items = text.split('\n')print(sys.argv[2]+"|"+items[0]+"|"+items[2])
else:f = open(sys.argv[2])lines = [line.strip()[:-2] for line in f.readlines()]f.close()f = open("./result.txt", "a+")for i,line in enumerate(lines):print(i, line)try:res = openai.Completion.create(max_tokens=32,model=sys.argv[1],prompt=line+"\n##\n",temperature=0.7,frequency_penalty=0.1)text = res["choices"][0]["text"]items = text.split('\n')print(line+"|"+items[0]+"|"+items[2], file=f)if i%30 == 0:f.flush()time.sleep(1.5)except Exception as e:print(e)time.sleep(15)f.close()

参考OpenAI API

finetune一个GPT3模型相关推荐

  1. 超 31% 生成文本涉暴力色情,GPT-3 模型在 AI Dungeon 游戏里疯狂「飙车」!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自 | 新智元 来源 | GitHub 编辑 | LRS AI被人 ...

  2. 最新最全GPT-3模型网络结构详细解析

    最近,GPT3很火,现在有很多讲GPT-3的文章,比如讲解它可以做什么, 思考它的带来的影响, 可视化其工作方式.看了这些文章并不足以详细了解GPT-3模型,仍然需要认真研究相关论文和博客. 因此,本 ...

  3. AI人工智能洗稿「OpenAI GPT-3模型」

    GPT-3模型达到千亿级参数:语言模型仍然可以是算术和编程,君子喻于义,小人喻于利.人类和ai相比有什么优势,与专用AI相比会高枕无忧,GPT-3更"通用":在这个过程中也许情同手 ...

  4. OpenAI GPT-3模型详解

    OpenAI GPT-3模型详解 针对文本生成和代码生成这两大类场景,OpenAPI分别提供了GPT-3和Codex模型, 模型 描述 GPT-3 一组能够理解和生成自然语言的模型 Codex 一组可 ...

  5. 赠书 | 成为一个多模型思考者,从掌握数据跃迁到拥有智慧

    文中有数据派THU福利哦 密歇根大学复杂性研究中心"掌门人"斯科特·佩奇大力提倡多模型思维方法,即通过一系列不同的逻辑框架"生成"智慧的方法.为了论证多模型思维 ...

  6. 构建一个LVS-DR模型的高性能集群,并实现Nginx、PHP、MySQL分离

    搭建一个LVS-DR模型的高性能集群,并实现以下功能: (1).wordpress程序通过nfs共享给个个realserver: (2).后端realserver中的nginx和php分离: 网站架构 ...

  7. 把一个dataset的表放在另一个dataset里面_使用中文维基百科语料库训练一个word2vec模型并使用说明...

    ​本篇主要介绍如何通过中文维基百科语料库来训练一个word2vec模型. 相关资料下载: 中文维基百科下载地址:https://dumps.wikimedia.org/zhwiki/ WikiExtr ...

  8. matlab全景图素材,matlab以simulink的方式建立一个vr模型

    在动态视景仿真中,建立虚拟现实模型通常非常方便.早些时候,据说通过命令行构建一个虚拟现实模型.以下是用simulink建立simulink模型的一种简单快捷的方法.增加了一个方框作为例子. 工具/原材 ...

  9. Log Cauchy分布的一个Hierarchical模型:LC=Gamma+Gamma+Unif

    Log Cauchy分布的一个Hierarchical模型:LC=Gamma+Gamma+Unif 一个重要公式:Γ(z)Γ(1−z)=πsin⁡(πz)\Gamma(z)\Gamma(1-z)=\f ...

最新文章

  1. Go 学习笔记(12)— 字典map定义、初始化、读取字典、删除字典、清空字典、map 按 key 进行有序遍历
  2. arcgis Server Object Extension (SOE)部署jar文件失败 原因探索
  3. 002_html发展史
  4. java 爬中 验证码识别_JAVA爬虫---验证码识别技术(一)
  5. 机房动力环境监控对消防子系统、UPS不间断电源监控方案
  6. 【SpringBoot的坑】Restful请求报错Request method 'POST' not supported,HiddenHttpMethodFilter无法将POST转换为PUT原因分析
  7. 在 Intellij IDEA 里使用 OpenJFX (JavaFX)
  8. php在线考试系统模板下载,PHPEMS在线模拟考试系统 v6.1
  9. python 整数输出 d f_如何将数字(10,11,12,13,14,15)分配给Python 3中的字母(A,B,C,D,E,F)?...
  10. 判断一个字符(小写变为大写,大写变小写,数字不变,空格输出space,其他字符输出other)C语言
  11. 听说本周五要进行一个小测试,公司对员工的考核
  12. checking build system type... ./config.guess: unable to guess system type/you must specify one
  13. Android 9 Audio系统笔记:AudioFlinger音频流处理流程
  14. 神舟Z8-SP7D1驱动安装
  15. mac系统+frida 简单测试真机or genymotion模拟器
  16. office2010 手动卸载和安装提示
  17. the storage of information of web app
  18. 两台电脑互传文件你还可以这么做
  19. Windows 下编译使用 TCMalloc
  20. html css动画自动旋转,基于animation.css实现动画旋转特效

热门文章

  1. iOS 如何修改App图标和App显示在iPhone的名字
  2. HTTP 错误 500.19 配置文件错误 ( 0x8007000d,0x80070032)
  3. 探索语音识别技术:从自动翻译到智能客服
  4. 单链表基本操作C++
  5. tcp和udp可以共用端口
  6. uniapp 微信小程序导航栏不起作用
  7. hide show toggle
  8. 随机生成10个不重复的0-100的数字
  9. jQuery全局点击事件的使用
  10. 黑屏助手V1.0(本本不能手动关闭显示器?不想屏保?)