modelscope-funasr怎么微调performer-zh模型?

modelscope-funasr怎么微调performer-zh模型?

展开
收起
真的很搞笑 2024-02-08 12:49:39 112 分享 版权
阿里云 AI 助理回答

要微调ModelScope-FunASR中的performer-zh模型,您可以按照以下步骤操作。这些步骤基于阿里云百炼平台提供的模型微调功能。


1. 准备训练数据

微调模型需要准备符合格式要求的训练数据集。以下是具体要求:

  • 数据格式:JSONL(每行一条数据)。
  • 字段说明
    • 每条数据应包含systemuserassistant等角色的消息。
    • 如果涉及语音任务,可能还需要提供音频文件和对应的文本标注。
  • 样例文件:可以参考官方文档中提供的样例文件格式。

准备好数据后,将其保存为本地文件(如train_data.jsonl)。


2. 上传训练数据

将本地训练数据上传至百炼平台,获取文件ID(file_id)。以下是两种上传方式:

Shell 方式

dashscope files.upload -f '<替换为训练数据集的本地文件路径>' -p fine_tune -d 'training dataset'

HTTP 方式

curl --location --request POST 'https://dashscope.aliyuncs.com/api/v1/files' \
--header 'Authorization: Bearer ${DASHSCOPE_API_KEY}' \
--form 'files=@"<替换为训练数据集的本地文件路径>"' \
--form 'descriptions="a sample fine-tune data file for performer-zh"'

上传成功后,您会获得一个file_id,用于后续创建微调任务。


3. 创建微调任务

使用上传的训练数据创建微调任务,指定performer-zh模型进行微调。

Shell 方式

dashscope fine_tunes.call -m performer-zh -t '<替换为训练数据集的file_id>' \
--mode sft -b 16 -e 1 -l 1.6e-5 \
--hyper_parameters split=0.9 warmup_ratio=0.0 eval_steps=1

HTTP 方式

curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes' \
--header 'Authorization: Bearer ${DASHSCOPE_API_KEY}' \
--header 'Content-Type: application/json' \
--data '{
    "model":"performer-zh",
    "training_file_ids":["<替换为训练数据集的file_id>"],
    "hyper_parameters":{
        "n_epochs":1,
        "batch_size":16,
        "learning_rate":"1.6e-5",
        "split":0.9,
        "warmup_ratio":0.0,
        "eval_steps":1
    },
    "training_type":"sft"
}'

注意:请根据实际需求调整超参数(如batch_sizelearning_rate等)。


4. 查看微调任务状态

创建微调任务后,可以通过以下命令查看任务状态,确保任务成功完成。

Shell 方式

dashscope fine_tunes.get -j <替换为您的微调任务 id>

HTTP 方式

curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<替换为您的微调任务 id>' \
--header 'Authorization: Bearer ${DASHSCOPE_API_KEY}' \
--header 'Content-Type: application/json'

任务状态说明: - PENDING:任务待开始。 - RUNNING:任务正在进行中。 - SUCCEEDED:任务成功完成。 - FAILED:任务失败。

如果任务失败,可以通过以下命令查看日志以排查问题。


5. 查看微调日志

如果微调任务未成功完成,可以通过以下命令查看详细日志。

Shell 方式

dashscope fine_tunes.stream -j <替换为您的微调任务 id>

HTTP 方式

curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<替换为您的微调任务 id>/logs?offset=0&line=1000' \
--header 'Authorization: Bearer ${DASHSCOPE_API_KEY}' \
--header 'Content-Type: application/json'

6. 获取微调后的模型 ID

当微调任务成功完成后,返回结果中会包含微调后的模型 ID。例如:

{
  "finetuned_output": "performer-zh-ft-202410121111-a590"
}

记录下该模型 ID(如performer-zh-ft-202410121111-a590),用于后续部署和调用。


7. 部署微调后的模型

将微调后的模型部署为在线服务,以便调用。

Shell 方式

dashscope deployments.call -c 2 -m <替换为微调任务成功后的模型 ID>

HTTP 方式

curl --location 'https://dashscope.aliyuncs.com/api/v1/deployments' \
--header 'Authorization: Bearer ${DASHSCOPE_API_KEY}' \
--header 'Content-Type: application/json' \
--data '{ 
    "model_name": "<替换为微调任务成功后的模型 ID>", 
    "capacity":2
}'

注意capacity参数表示实例数量,可根据实际需求调整。


8. 调用微调后的模型

部署完成后,可以通过以下方式调用微调后的模型。

Shell 方式

dashscope generation.call -m <替换为部署任务成功后的模型实例 ID> -p '测试输入'

HTTP 方式

curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation' \
--header 'Authorization: Bearer ${DASHSCOPE_API_KEY}' \
--header 'Content-Type: application/json' \
--data '{
    "model": "<替换为部署任务成功后的模型实例 ID>",
    "input":{
        "messages":[
            {
                "role": "user",
                "content": "测试输入"
            }
        ]
    },
    "parameters": {
        "result_format": "message"
    }
}'

重要提醒

  • 环境配置:确保已正确安装DashScope SDK,并配置好DASHSCOPE_API_KEY环境变量。
  • 资源限制:微调和部署过程可能需要较高的计算资源,请确保账户有足够的配额。
  • 数据质量:训练数据的质量直接影响微调效果,请确保数据标注准确且多样化。

通过以上步骤,您可以顺利完成performer-zh模型的微调、部署和调用。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

包含命名实体识别、文本分类、分词、关系抽取、问答、推理、文本摘要、情感分析、机器翻译等多个领域

热门讨论

热门文章

还有其他疑问?
咨询AI助理