Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ALICE: AI Lab Interfaced with Configurable Envi...
Search
Keisuke Hirota
January 18, 2019
Technology
1k
0
Share
ALICE: AI Lab Interfaced with Configurable Environment
Computing base for machine learning system, BizReach Inc.
Keisuke Hirota
January 18, 2019
Other Decks in Technology
See All in Technology
CyberAgent YJC Connect
shimaf4979
1
170
Tachikawa.any 運営挨拶
daitasu
0
120
生成AI時代に信頼性をどう保ち続けるか - Policy as Code の実践
akitok_
0
160
クラウドネイティブ DB はいかにして制約を 克服したか? 〜進化歴史から紐解く、スケーラブルアーキテクチャ設計指針〜
hacomono
PRO
5
730
いつの間にかデータエンジニア以外の業務も増えていたけど、意外と経験が役に立ってる
zozotech
PRO
0
260
QAエンジニアはどうやって プロダクト議論の場に入れるのか?
moritamasami
2
410
小さいVue.jsを30分で作る
hal_spidernight
0
150
AI駆動開発で生産性を追いかけたら、行き着いたのは品質とシフトレフトだった
littlehands
0
460
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (前半)
oracle4engineer
PRO
2
240
OWASP APTSを眺めてみた
su3158
0
130
Building Production-Ready Agents Microsoft Agent Framework
_mertmetin
0
160
ServiceによるKubernetes通信制御ーClusterIPを例に
miku01
1
160
Featured
See All Featured
Bash Introduction
62gerente
615
210k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.3k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
140
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Skip the Path - Find Your Career Trail
mkilby
1
120
Statistics for Hackers
jakevdp
799
230k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
Transcript
Copyright (C) 2019 BizReach, Inc. ALICE: AI Lab Interfaced with
Configurable Environment 株式会社ビズリーチ AI室 廣田佳祐
Copyright (C) 2019 BizReach, Inc. 自己紹介 ▪ 名前: 廣田 佳祐(ヒロタ
ケイスケ) ▪ 履歴 • 2015/04-2018/10: 某大手SIerでソフト開発 – サーバーサイド – フロントエンド – NLPの研究開発 – などなど • 2018/11: ビズリーチ 入社 – AI室の機械学習エンジニアとして、 現在は機械学習基盤の開発を担当 ▪ 趣味 • ボードゲーム – 直近では、Dice Forgeをプレーしました 1
Copyright (C) 2019 BizReach, Inc. 目次 - ビズリーチでの機械学習活用 - 機械学習基盤
ALICEの紹介 - 開発経緯 - 概要 - AWS向けのHelm Chartを作った話 - さいごに 2
Copyright (C) 2019 BizReach, Inc. ビズリーチでの機械学習活用 ▪ 企業と求職者のマッチング、求人の職種・業種・年収推定など 様々な箇所で機械学習を活用 ▪
例: 求人検索エンジン スタンバイでの「職種・業種推定」 3 課題 •様々な求⼈サイトから収集しているため、 横断的な職種・業種がない 内容 •求⼈情報から⾃然⾔語処理で求⼈の特徴 を抽出 •その特徴を学習して職種業種を推定 •検索条件やデータ分析などで利⽤ 求⼈内容から職種・業種を推定 参考: BizReach Tech Blog https://tech.bizreach.co.jp/posts/276/gtc2018-japan-report/
Copyright (C) 2019 BizReach, Inc. ALICE開発に至る経緯 ▪ 何故私たちは機械学習基盤を必要としたのか? 4 その①:データサイエンティスト・機械学習エンジニアの作業負荷低減
前に作ったバッチ処理と同じ形で作っておいてね deployの手順書はこれを参照してね 既存の動作についてちょっとだけ説明するね。 バッチ処理の動作はDockerのImageとしてBuildされてます。 処理を動かす時は、AWSのLambdaをKickしてね。処理が始 まると、AutoScalingGroupの設定を変更してスポットイン スタンスを払い出して、そのインスタンス上で処理が実施さ れるよ。実施中のログはCloudWatchに吐かれていて、もし Errorが発生したら、Slackに通知が飛ぶようになってる。こ こまでの設定は、CloudFormationを使うことで適宜定義し ているよ。 あ、そうそう、データについては事業部側のS3から取ってく るので専用のRoleを用意して事業部側に権限を付与してもら う必要もあるね。 まあ、これ読めばわかるから、 あとよろしく! 例: 新たなレコメンドエンジンを実装する時 インフラ専門じゃない エンジニアに 全部投げるの無理だから
Copyright (C) 2019 BizReach, Inc. ALICE開発に至る経緯 ▪ 何故私たちは機械学習基盤を必要としたのか? 5 その②:インフラ側の特殊な条件
•様々な環境に対して基盤を展開する必要アリ ◦事業部側がサービスを管理しているため、 事業部の採⽤インフラに合わせて適宜展開できるようにする 現状: サービス x (本番|開発)環境ごとにAWSアカウントを発行
Copyright (C) 2019 BizReach, Inc. ALICE開発に至る経緯 ▪ 何故私たちは機械学習基盤を必要としたのか? 6 まとめ
複数の環境にお⼿軽に展開できて、 インフラをあまり意識しないで使える基盤が欲しい から作りました
Copyright (C) 2019 BizReach, Inc. ALICEの概要 7
Copyright (C) 2019 BizReach, Inc. AWS向けのHelm Chartを作った話 ▪ argo-events で定義したEventに基づいて、
AWSの 特定のスポットインスタンス 上で、 argoのWorkflow を実行する、 HelmのChart を作成して、 CodeBuild経由でDeployできるようにしました ▪ 登場人物おさらい 8 Helm Kubernetesの設定ファイルを管理するパッケージマネージャ Chart Helmのパッケージ argo Kubernetes上で動作するワークフローエンジン argo-events Kubernetes上で動作するEventによる依存関係マネージャ
Copyright (C) 2019 BizReach, Inc. AWS向けのHelm Chartを作った話 ▪ 何故作ったか? •
WorkflowをDeployするためには、Kubernetes, argo, AWSの知識が必須 – Kubernetes(含argo)のyamlファイルは複雑怪奇なので、 未修者に全て編集させるのは厳しい・・・ – AWSに囚われる必要はないのに、AWS上でDeployするための学習コスト高い… – CloudFormation, EC2, CodeBuild, … ▶ 基盤側で吸収しよう 9
Copyright (C) 2019 BizReach, Inc. Chart概要 10
Copyright (C) 2019 BizReach, Inc. values.yaml 概要 11 インフラに依らないデプロイ仕様の設定 (アプリをどのように動かしたいか)
- 動作モード: calendar/webhook - モード固有設定 アプリケーション動作設定 - Workflow実行順 - 起動コンテナ定義 - ボリューム - サービス など
Copyright (C) 2019 BizReach, Inc. Chart作成の効果 ▪ 最低限のAWS, Kubernetes, argoの知識があればDeploy可能になった
▪ AWS • Deploy時に、以下の内容を設定 – スポットインスタンスのタイプ – スポットインスタンスの入札価格 – ボリュームサイズ ▪ Kubernetes & argo • values.yamlに設定し、Gitに格納 12
Copyright (C) 2019 BizReach, Inc. Workflowの見え方 13
Copyright (C) 2019 BizReach, Inc. さいごに ▪ まだまだ足りてないところが多いので順次実装して行く予定です! • 機能面
– EDA/Modeling環境のJupyter – パラメータチューニング • 環境面 – 脱AWS依存 – CodeBuild -> argo-cd/ci – fluentd + CloudWatch Logs -> Prometheus? ▪ スライドに書いてないことは懇親会で! • argo-eventsのlatestイメージが更新されて動かなくなった話など 14
None