Ninhao API中文文档
  1. 微调(Fine-tunes)
Ninhao API中文文档
  • 发出请求
  • 模型(Models)
    • 模型
    • 列出模型
      GET
    • 检索模型
      GET
  • 聊天(Chat)
    • 生成聊天消息的自动完成
      POST
  • 自动补全(Completions)
    • 创建完成
      POST
  • 编辑(Edits)
    • 创建编辑
      POST
  • 图像(Images)
    • README
    • 创建图像
      POST
    • 创建图片编辑
      POST
    • 创建图像变体
      POST
  • 嵌入(Embeddings)
    • 创建嵌入
      POST
  • 音频(Audio)
    • 创建转录
      POST
    • 创建翻译
      POST
  • 文件(Files)
    • README
    • 列出文件
      GET
    • 上传文件
      POST
    • 删除文件
      DELETE
    • 检索文件
      GET
    • 检索文件内容
      GET
  • 微调(Fine-tunes)
    • 创建微调
      POST
    • 列表微调
      GET
    • 检索微调
      GET
    • 取消微调
      POST
    • 列出微调事件
      GET
    • 删除微调模型
      DELETE
  • 审查(Moderations)
    • 创建内容审核
  1. 微调(Fine-tunes)

创建微调

POST
https://api.ninhao.cc/v1/fine-tunes
创建一个从给定数据集微调指定模型的作业。
响应包括排队作业的详细信息,包括作业状态和完成后微调模型的名称。
了解有关微调的更多信息

请求参数

Header 参数
Authorization
string 
可选
示例值:
Bearer {{YOUR_API_KEY}}
Body 参数application/json
training_file
string 
必需
包含训练数据的上传文件的 ID。 有关如何上传文件,请参见上传文件。 您的数据集必须格式化为 JSONL 文件,其中每个训练示例都是一个带有键“提示”和“完成”的 JSON 对象。此外,您必须上传带有目的的文件fine-tune。 有关详细信息,请参阅微调指南。
validation_file
string 
可选
包含验证数据的上传文件的 ID。 如果您提供此文件,该数据将用于在微调期间定期生成验证指标。这些指标可以在微调结果文件中查看。您的火车和验证数据应该是互斥的。 您的数据集必须格式化为 JSONL 文件,其中每个验证示例都是一个带有键“prompt”和“completion”的 JSON 对象。此外,您必须上传带有目的的文件fine-tune。 有关详细信息,请参阅微调指南。
model
string 
可选
要微调的基本模型的名称。您可以选择“ada”、“babbage”、“curie”、“davinci”或 2022-04-21 之后创建的微调模型之一。要了解有关这些模型的更多信息,请参阅 模型文档。
n_epochs
integer 
可选
训练模型的时期数。一个纪元指的是训练数据集的一个完整周期。
batch_size
integer 
可选
用于训练的批量大小。批量大小是用于训练单个前向和后向传递的训练示例数。 默认情况下,批量大小将动态配置为训练集中示例数量的 0.2%,上限为 256 - 通常,我们发现较大的批量大小往往更适合较大的数据集。
learning_rate_multiplier
number 
可选
用于训练的学习率乘数。微调学习率是用于预训练的原始学习率乘以该值。 默认情况下,学习率乘数是 0.05、0.1 或 0.2,具体取决于 final batch_size(较大的学习率往往在较大的批量大小下表现更好)。我们建议使用 0.02 到 0.2 范围内的值进行试验,以查看产生最佳结果的值。
prompt_loss_weight
number 
可选
用于提示令牌损失的权重。这控制了模型尝试学习生成提示的程度(与权重始终为 1.0 的完成相比),并且可以在完成较短时为训练增加稳定效果。 如果提示非常长(相对于完成),则减少此权重以避免过度优先学习提示可能是有意义的。
compute_classification_metrics
boolean 
可选
如果设置,我们将在每个时期结束时使用验证集计算特定于分类的指标,例如准确性和 F-1 分数。可以在结果文件中查看这些指标。 为了计算分类指标,您必须提供一个 validation_file. 此外,您必须指定classification_n_classes多类分类或 classification_positive_class二元分类。
classification_n_classes
integer 
可选
分类任务中的类数。 多类分类需要此参数。
classification_positive_class
string 
可选
二元分类中的正类。 在进行二元分类时,需要此参数来生成精度、召回率和 F1 指标。
classification_betas
array[string]
可选
如果提供,我们将计算指定 beta 值的 F-beta 分数。F-beta 分数是 F-1 分数的推广。这仅用于二进制分类。 当 beta 为 1(即 F-1 分数)时,精确率和召回率被赋予相同的权重。Beta 分数越大,召回率越高,精确率越低。Beta 分数越小,精确度越重要,召回率越低。
suffix
string  | null 
可选
最多 40 个字符的字符串,将添加到您的微调模型名称中。 例如,suffix“custom-model-name”的 a 会生成类似ada:ft-your-org:custom-model-name-2022-02-15-04-21-04.
示例
{
  "training_file": "text-similarity-babbage-001"
}

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.ninhao.cc/v1/fine-tunes' \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data-raw '{
  "training_file": "text-similarity-babbage-001"
}'

返回响应

🟢200成功
application/json
Body
id
string 
必需
object
string 
必需
model
string 
必需
created_at
integer 
必需
events
array [object {4}] 
必需
object
string 
可选
created_at
integer 
可选
level
string 
可选
message
string 
可选
fine_tuned_model
null 
必需
hyperparams
object 
必需
batch_size
integer 
必需
learning_rate_multiplier
number 
必需
n_epochs
integer 
必需
prompt_loss_weight
number 
必需
organization_id
string 
必需
result_files
array[string]
必需
status
string 
必需
validation_files
array[string]
必需
training_files
array [object {6}] 
必需
id
string 
可选
object
string 
可选
bytes
integer 
可选
created_at
integer 
可选
filename
string 
可选
purpose
string 
可选
updated_at
integer 
必需
示例
{
  "id": "ft-AF1WoRqd3aJAHsqc9NY7iL8F",
  "object": "fine-tune",
  "model": "curie",
  "created_at": 1614807352,
  "events": [
    {
      "object": "fine-tune-event",
      "created_at": 1614807352,
      "level": "info",
      "message": "Job enqueued. Waiting for jobs ahead to complete. Queue number: 0."
    }
  ],
  "fine_tuned_model": null,
  "hyperparams": {
    "batch_size": 4,
    "learning_rate_multiplier": 0.1,
    "n_epochs": 4,
    "prompt_loss_weight": 0.1
  },
  "organization_id": "org-...",
  "result_files": [],
  "status": "pending",
  "validation_files": [],
  "training_files": [
    {
      "id": "file-XGinujblHPwGLSztz8cPS8XY",
      "object": "file",
      "bytes": 1547276,
      "created_at": 1610062281,
      "filename": "my-data-train.jsonl",
      "purpose": "fine-tune-train"
    }
  ],
  "updated_at": 1614807352
}
上一页
检索文件内容
下一页
列表微调
Built with