OpenAI Fine-tuning使用
OpenAi提供了Fine-tuning功能,这个可以自定义AI模型
前置条件
OpenAI账号注册,
api key
获取安装工具包,这里以nodejs为例
1
npm i openai
生成数据集
按照如下格式整理数据
openai官方针对微调数据集例子数量推荐为50-100
,要求至少10
个。
1 | {"messages": [{"role": "system", "content": "Given a sports headline, provide the following fields in a JSON dict, where applicable: \"player\" (full name), \"team\", \"sport\", and \"gender\"."}, {"role": "user", "content": "Sources: Colts grant RB Taylor OK to seek trade"}, {"role": "assistant", "content": "{\"player\": \"Jonathan Taylor\", \"team\": \"Colts\", \"sport\": \"football\", \"gender\": \"male\" }"}]} |
数据格式为什么如此要求,见官方解释https://platform.openai.com/docs/guides/fine-tuning/data-formatting
校验数据
1 | openai tools fine_tunes.prepare_data -f ./test/trainai.jsonl |
在执行数据校验时可能会遇到一些错误,比如
missing pandas
OpenAI error:
missing
pandas
报错原因是像 numpy
和 pandas
这样的数据库,由于其体积较大,不会默认安装。它们是该库的某些功能所需,但通常不需要用于与API通信。如果遇到 MissingDependencyError
,请使用以下方式安装它们:
1 | pip install pandas |
创建model
1 | openai api fine_tunes.create -t test/trainai.jsonl -m davinci |
创建成功后命令行会提示模型名称/训练花费
使用model
模型训练成功后即可以使用,除了API直接调用外,简单测试的话可以走官网playground,模型下拉会显示出已训练OK的模型,直接测试即可。
更新model?
openai目前支持对已finetuning的的model,二次微调。
定价
模型训练需要花钱,具体价格见https://openai.com/pricing#language-models
写在最后
有了Fine-tuning,构建比如官方文档助手/客服等将会很简单了。