OpenAi提供了Fine-tuning功能,解决个人模型训练需求。这里尝试使用下。
前置条件
OpenAI账号注册,api key获取
安装工具包
1
pip install --upgrade openai
生成数据集
按照如下格式整理数据
字段说明
- prompt即问题,以
\n\nIntent:\n\n
结尾 - completion即回答,空格开头
数据格式为什么如此要求,见官方解释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的模型,直接测试即可。
https://platform.openai.com/playground
更新model?
不存在对现有model的更新,必须以最新的全量数据重新训练出新的版本模型。
定价
模型训练需要花钱,具体价格见https://openai.com/pricing#language-models
写在最后
有了Fine-tuning,构建比如官方文档助手/客服等将会很简单了。