Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MOVの機械学習システムを支えるMLOps実践

2kyym
March 12, 2020

 MOVの機械学習システムを支えるMLOps実践

本セッションでは機械学習システム特有の課題を踏まえ、『お客さま探索ナビ』の開発・運用における MLOps の実践について、実際の取り組みとともに紹介します。
具体的には、MLOps 技術の選定理由とナレッジ、MLOps のハマりポイントと解決策、さらなる自動化に向けて現在取り組んでいる内容などをお話しします。

2kyym

March 12, 2020
Tweet

More Decks by 2kyym

Other Decks in Programming

Transcript

  1. !3

  2. !4

  3. 6

  4. 7

  5. 8

  6. 11

  7. 12

  8. !33

  9. DeNA TechCon 2020 #denatechcon M ! ’›®lROgňǐkYi々  @ ûÂIJ_jmąƀŰ¯=„z?`ÍÌŰ¯^]=é©é\ęÐaŰ¯Qm

    @ ƈœĪ`ēÑøħůÄ_jmŐƉ`ąƀÛ ġŁǐƢǜ ƔŁǐƢǜ   ijŨƿç  Map data ©2019 Google
  10. DeNA TechCon 2020 #denatechcon ($3 ,VCFGMPX1JQFMJOF 々   4JNVMBUJPO

    3VOOFS *NBHF 1SFEJDUPS *NBHF $PNQPTFS 1SPGJMF 4JNVMBUPS%BUB 5SBJO #BUDI 1SFEJDUJPO 1SFQSPDFTT #VJME #JH2VFSZ ($4
  11. DeNA TechCon 2020 #denatechcon   ($3 1SPEVDUJPO"1* 3PVUF"1* 1SFEJDUPS

    *NBHF $PNQPTFS 1SFEJDUJPO 1SFQSPDFTT #JH2VFSZ ($4
  12. DeNA TechCon 2020 #denatechcon def task_fail_slack_alert(context): slack_msg = “Task Failed.”

    failed_alert = SlackWebhookOperator( task_id="xxx", http_conn_id="slack", webhook_token=Variable.get("webhook.token"), message=slack_msg, username="airflow", ) return failed_alert.execute(context=context)  
  13. DeNA TechCon 2020 #denatechcon ※ @pytest.fixture(scope="session", autouse=True) def setup_teardown(request, test_config):

    # setup # ͜͜ʹࡉʑͱͨ͠ॲཧ suffix = uuid.uuid4() create_dataset(suffix) yield # teardown # ͜͜ʹࡉʑͱͨ͠ॲཧ delete_blobs(suffix) delete_dataset(suffix)  
  14. DeNA TechCon 2020 #denatechcon @pytest.mark.dependency(depends=[“test_preprocess_a”, “test_preprocess_b”]) def test_trainer(test_config): trainer =

    Trainer( test_config[“xxx”].format(test_config[“hash"]), test_config[“yyy”].format(test_config[“hash"]), ) trainer.train() trainer.upload_model()