Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[AI/ML] 機械学習における AWS を用いたマイクロサービスアーキテクチャ

JAWS Days 2019 の登壇資料です.

【概要】
ABEJAでは機械学習を用いた店舗解析サービスを2015年から提供しています。その中で培ったノウハウを活かしつつツラみを解消し、さらなるスケーラビリティを確保すべくこの約半年間でアーキテクチャを見直しマイクロサービス化を進めた話をご紹介します。機械学習を用いたシステムだからこそ直面した課題に対して我々が実践した AWS の各サービスの組み合わせ方をお伝えします。

  • Be the first to comment

[AI/ML] 機械学習における AWS を用いたマイクロサービスアーキテクチャ

  1. 1. 中川 裕太 @僕らの遊び場ABEJA 機械学習における AWS を用いた マイクロサービスアーキテクチャ
  2. 2. Agenda 2 機械学習を用いたシステムのポイント Insight for Retail での実装 未来へ向かうBE2.0構想
  3. 3. 3 中川 裕太 Research Engineer @ ABEJA
  4. 4. 4 VISION
  5. 5. VISION イノベーションで世界を変える 5
  6. 6. TAG LINE ゆたかな世界を、実装する 6
  7. 7. MISSION テクノロジーの力で産業構造を変革する 7
  8. 8. 8 PRODUCT
  9. 9. Insight for Retail 9
  10. 10. 10
  11. 11. ABEJA Platform 11
  12. 12. 12 AWS
  13. 13. 様々な検証⇒プロダクション適用 13
  14. 14. 14
  15. 15. 15 遊び
  16. 16. 日本初の Machine Learning Competency 取得 16
  17. 17. 17
  18. 18. 18 MYSELF
  19. 19. 19
  20. 20. 学生時代はロボット研究 20
  21. 21. 大手 SIer で インフラ部隊 21
  22. 22. ABEJA では全プロダクトにかかわる 22
  23. 23. 23
  24. 24. 機械学習を用いた システムのポイント 24
  25. 25. Deep Learning の研究速度はえげつなく早い 25
  26. 26. 多くのモデルはすでに公開されている 26
  27. 27. ただし、実装フレームワークはさまざま 27
  28. 28. 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyObject_FastCallDict+0x18e) [0x7f24df4ad10e] 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyObject_CallMethodIdObjArgs+0xea) [0x7f24df4ec5ca] 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyImport_ImportModuleLevelObject+0x27c) [0x7f24df41ec4c] 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x703e) [0x7f24df4a164e] 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x22543c) [0x7f24df4de43c] 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyEval_EvalCodeEx+0x3e) [0x7f24df4deebe] 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyEval_EvalCode+0x1b) [0x7f24df49a36b] 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x1ecb3d) [0x7f24df4a5b3d] 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyCFunction_Call+0xc9) [0x7f24df348eb9] 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x6a51) [0x7f24df4a1061] 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x22543c) [0x7f24df4de43c] 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x2259c7) [0x7f24df4de9c7] 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x469f) [0x7f24df49ecaf] 2018-10-02T15:20:52+09:00: /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x2236c0) [0x7f24df4dc6c0] しかも、フレームワークが競合することも 28
  29. 29. マイクロサービスで最新の技術を 素早く安全に取り込む 29
  30. 30. 機械学習のモデルは金食い虫 30
  31. 31. データの量と特性によって原価が変動する 31
  32. 32. データの量と特性に合わせて リソースをオートスケールさせる 32
  33. 33. Insight for Retail での実装 33
  34. 34. 1年前のアーキテクチャ 34 camera camera aggregator dashboard analysis core analysis core
  35. 35. 35 camera camera aggregator dashboard analysis core analysis core モノリス
  36. 36. 全体アーキテクチャの刷新 36 camera camera queue model A model B model C model D aggregator dashboard analysis DAG
  37. 37. 今日、話す部分 37 camera camera queue model A model B model C model D aggregator dashboard analysis DAG
  38. 38. マイクロサービスで最新の技術を 素早く安全に取り込む 38
  39. 39. 最新の技術の取り込み 39 queue model A model B model C model D
  40. 40. model B と同じ機能を持った model B+ が開発される 40 model B model B+
  41. 41. model B を取り換える 41 queue model A model B+ model C model D
  42. 42. model Cよりもmodel E と Fを組み合わせた方がよいと知る 42 model C model E model F
  43. 43. DAG を組み替える 43 queue model A model B model E model D model F
  44. 44. データの量と特性に合わせて リソースをオートスケールさせる 44
  45. 45. リソースのオートスケール 45 queue model A model B model C model D
  46. 46. 動画が queue に溜まり始める 46 queue model A model B model C model D
  47. 47. model A をオートスケールさせる 47 queue model A model B model C model D model A
  48. 48. model の負荷に合わせてオートスケールを伝播させる 48 queue model A model B model C model D model A model B model D model D
  49. 49. 49
  50. 50. アーキテクチャの振り返り 50 queue model A model B model C model D
  51. 51. queue の実装は S3 + AWS Batch 51 model A model B model C model D
  52. 52. model の実装は ECS 52 model
  53. 53. Service Discovery を DynamoDB で実装 53 model GW model
  54. 54. インフラは Spotinst で原価削減 54 model GW model
  55. 55. アーキテクチャ刷新の効果 55 精度の高い最新のモデルを組み合わせられるように 大幅に原価削減し8万円/月で提供可能に
  56. 56. 未来へ向かうBE2.0構想 56
  57. 57. 必要最低限のデータデリバリー 57
  58. 58. から 58
  59. 59. データを用いた価値創造 59
  60. 60. サービスレイヤーの再整理 60 Maintenance Monitoring Device Data Analysis Dashboard
  61. 61. ありとあらゆるものを可視化したい 61
  62. 62. 実装を見直して遊んでみたいサービスもいっぱい 62
  63. 63. 63
  64. 64. 64
  65. 65. https://six.abejainc.com
  66. 66. まとめ 66 MLシステムのポイントはマイクロサービスとオートスケール AWSではBatchとECSで実装 一緒に遊びながら夢を追いかける仲間を募集中
  67. 67. ABEJA という場所で 一緒に遊びましょう 67

×