开发者社区 > 大数据与机器学习 > 人工智能平台PAI > 正文

机器学习PAI EasyRec训练时,如何导出直接去除这些没有意义的辅助任务的模型,用于部署?

机器学习PAI EasyRec训练时,多个辅助任务提高训练效果。如何导出直接去除这些没有意义的辅助任务的模型,用于部署?有简便方式吗?

展开
收起
真的很搞笑 2023-11-05 17:34:49 79 0
3 条回答
写回答
取消 提交回答
  • 可以使用PLE(Progressive Layered Extraction)来导出直接去除没有意义的辅助任务的模型,用于部署。PLE是一种解决多任务学习中跷跷板现象的方法,可以提升一部分任务的效果而不影响其他任务。通过逐层提取的方式,PLE可以得到一个只包含有意义任务的模型。具体的配置说明可以参考PLE的配置说明文档。使用PLE可以简化导出模型的过程,提高部署的效率。,此回答整理自钉群“【EasyRec】推荐算法交流群”

    2023-11-07 23:57:53
    赞同 展开评论 打赏
  • 在PAI EasyRec中,辅助任务是为了提高主任务的训练效果而添加的,但是有时候在部署时可能并不需要这些辅助任务。导出直接去除没有意义的辅助任务的模型需要进行以下步骤:

    1. 在训练时,将需要去除的辅助任务标记为“无用”或“无效”。
    2. 训练完成后,导出训练好的模型文件。
    3. 在导出模型文件时,需要确保只导出主任务相关的模型参数,而去除辅助任务相关的参数。这可以通过在导出模型时指定参数名称或使用过滤器来实现。
    4. 导出的模型文件可以用于部署,不再需要辅助任务的支持。

    请注意,由于PAI EasyRec的设计中,辅助任务和主任务是相互关联的,因此在去除辅助任务时可能会影响主任务的性能。因此,在导出模型之前,请确保已经充分测试和验证了模型的性能。

    2023-11-06 10:28:28
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,看了你的描述,在阿里云机器学习PAI EasyRec训练时想去除辅助任务并导出模型进行部署,有一种简单的方式是使用 TensorFlow 的 SavedModel 格式。使用 SavedModel 格式将允许你从 EasyRec 中导出仅包含主任务模型的模型文件。

    下面分享一下大概的步骤:
    使用 EasyRec 训练模型并保存模型。在训练时,在“其他参数”中,将--export_model_dir参数设置为你要将导出的模型保存到的目录。

    然后从 EasyRec 导出你的模型,并将其转换为 TensorFlow SavedModel 格式。可以使用 TensorFlow 的 Python API 或 TensorFlow Serving 工具完成此操作,其中 TensorFlow Serving 是一种专门用于将 TensorFlow 模型部署到生产环境中的方式。

    • 比如使用 TensorFlow 的 Python API 进行转换:
      image.png
    import tensorflow as tf
    
    # Replace `{saved_model_dir}` with the path to the directory containing your EasyRec model
    model = tf.saved_model.load(f"{saved_model_dir}/serve")
    
    # Replace `{export_dir}` with the path to the directory where you want to save the converted model
    tf.saved_model.save(model, f"{export_dir}/converted_model")
    
    • 或者使用 TensorFlow Serving 进行转换:
      image.png
    # Replace `{saved_model_dir}` with the path to the directory containing your EasyRec model
    # Replace `{export_dir}` with the path to the directory where you want to save the converted model
    tensorflow_model_server --port=9000 --model_name=my_model --model_base_path="{saved_model_dir}/serve" --export_path="{export_dir}/converted_model"
    

    最后就可以将这个转换后的模型用于部署到生产环境中,比如使用 TensorFlow Serving 进行模型服务。

    注意:本回答参考了阿里云机器学习官方网站

    2023-11-05 23:06:18
    赞同 展开评论 打赏

人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。

相关产品

  • 人工智能平台 PAI
  • 热门讨论

    热门文章

    相关电子书

    更多
    大规模机器学习在蚂蚁+阿里的应用 立即下载
    阿里巴巴机器学习平台AI 立即下载
    机器学习及人机交互实战 立即下载