muzhi1991 / kubeflow-pytorch-nlp-example

kubeflow example

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

介绍

这是一个用kubeflow pipeline 来训练pytroch nlp的例子,来源是官方的examlple。 例子的要点如下

  • 使用了kubeflow pipeline 组织机器学习流程,其中的组件使用的是自定义image+yaml文件,然后load来定义的方式。(区别于python function方法)
  • 使用了自定义的tensorboard image来做展示
  • 训练使用了原生的pytorch image(没有是pytorchJob)
  • 项目的代码是pytorch lightning + transformers(注意:还用了一个自定义的pytorch component库)
  • 使用了kfserve来做serving。其中运行时容器是torch serve。他包括了explain的功能(Captum)

pytorch-kfp-components这个自定库封装了一堆功能

  • 封装了lightning的 trainer,调用直接训练
  • 封装了可视化组件,功能:组织满足kfp的metadata数据输出到某个路径
  • 封装了minos的长传,mar打包这几个工具类

使用说明

  • 构建需要的image,运行build.sh(运行前修改utils/build_image.py的配置,仔细阅读内容)
    • 自定义tensorboard镜像,安装了boto3读取minos数据,安装了pytorch profile插件
    • 自定义的alpine,主要用来执行一下简单的命令,安装了curl等一些工具
    • 自定义的pytroch容器,这里面包含了lightning,transformers,pytorch-kfp-components这些在./requirements.txt里面
  • 运行bert.ipynb构建pipeline(注意替换tfboar的镜像)
  • pytorch_kfp_components目录是从自定义的pytorch component库copy过来的。可能需要同步更新
  • components/kserve 来源也是kubeflow pipeline 仓库

其他注意点

  • torch serve可以自己安装一下python包,在bert/requirements.txt下面
  • kaniko除了看utils/build_image.py脚本,还可看build-image-example.ipynb的说明。使用方法来源

About

kubeflow example


Languages

Language:Python 80.7%Language:Jupyter Notebook 17.0%Language:Shell 1.5%Language:Dockerfile 0.8%