Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
0
880
ALICE: AI Lab Interfaced with Configurable Environment
Computing base for machine learning system, BizReach Inc.
Keisuke Hirota
January 18, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
専門領域に特化したチームの挑戦
leveragestech
0
190
SDN の Hype Cycle を一通り経験してみて思うこと / Going through the Hype Cycle of SDN
mshindo
3
340
Mastering Quickfix
daisuzu
2
470
SDNという名のデータプレーンプログラミングの歴史
ebiken
PRO
2
280
あなたの知らない Function.prototype.toString() の世界
mizdra
PRO
4
3k
LINEヤフーにおけるPrerender技術の導入とその効果
narirou
3
3.6k
LLMアプリケーションの評価と継続的改善
pharma_x_tech
2
150
Amazon ECSとCloud Runの相互理解で広げるクラウドネイティブの景色 / Mutually understanding Amazon ECS and Cloud Run
iselegant
18
2.1k
"とにかくやってみる"で始めるAWS Security Hub
maimyyym
2
210
Bytebaseで実現する データベース管理の効率化
shogo452
1
120
Kubernetes だけじゃない!Amazon ECS で実現するクラウドネイティブな GitHub Actions セルフホストランナー / CNDW2024
ponkio_o
PRO
6
390
ヤプリのデータカタログ整備 1年間の歩み / Progress of Building a Data Catalog at Yappli
yamamotoyuta
3
550
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Writing Fast Ruby
sferik
627
61k
Done Done
chrislema
181
16k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
27
2.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
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