SlideShare a Scribd company logo
Copyright (C) 2019 BizReach, Inc.
ビズリーチの機械学習基盤
株式会社ビズリーチ システム本部 AI室
機械学習エンジニア
右田 尚人
2019年2月23日
第33回 Machine Learning 15minutes!
Copyright (C) 2019 BizReach, Inc.
自己紹介
■ 名前: 右田 尚人(ミギタ ナオト)
■ 2015/04〜2018/5: 富士通
• ニューラルネットワーク系の自然言語処理の研究開発
• AIサービスの導入支援・PoC(FAQ検索など)
■ 2018/7〜: ビズリーチ
• レコメンドエンジン開発
• 機械学習基盤開発
1
Copyright (C) 2019 BizReach, Inc.
ビズリーチでの機械学習活用
企業と求職者のマッチング、求人の職種・業種・年収推定
など様々な箇所で機械学習を活用
2
課題
● 様々な求人サイトから収集している
ため横断的な職種・業種がない
内容
● 求人情報から自然言語処理で求人の
特徴を抽出
● その特徴を学習して職種業種を推定
● 検索条件やデータ分析などで利用
例: 求人内容から職種・業種を推定
参考: BizReach Tech Blog
https://tech.bizreach.co.jp/posts/276/gtc2018-japan-report/
Copyright (C) 2019 BizReach, Inc.
なぜ私たちは機械学習基盤を必要としたのか?
3
①データサイエンティスト・機械学習エンジニアの作業負荷低減
前に作ったバッチ処理と同じ形で作っておいてね
deployの手順書はこれを参照してね
既存の動作についてちょっとだけ説明するね。
バッチ処理の動作はDockerのImageとしてBuildされ
てます。処理を動かす時は、AWSのLambdaをKickし
てね。処理が始まると、AutoScalingGroupの設定を
変更してスポットインスタンスを払い出して、その
インスタンス上で処理が実施されるよ。実施中のロ
グはCloudWatchに吐かれていて、もしErrorが発生
したら、Slackに通知が飛ぶようになってる。ここま
での設定は、CloudFormationを使うことで適宜定義
しているよ。
あ、そうそう、データについては事業部側のS3から
取ってくるので専用のRoleを用意して事業部側に権
限を付与してもらう必要もあるね。
まあ、これ読めばわかるから、
あとよろしく!
例: 新たなレコメンドエンジンを実装する時
Copyright (C) 2019 BizReach, Inc.
なぜ私たちは機械学習基盤を必要としたのか?
4
①データサイエンティスト・機械学習エンジニアの作業負荷低減
前に作ったバッチ処理と同じ形で作っておいてね
deployの手順書はこれを参照してね
既存の動作についてちょっとだけ説明するね。
バッチ処理の動作はDockerのImageとしてBuildされ
てます。処理を動かす時は、AWSのLambdaをKickし
てね。処理が始まると、AutoScalingGroupの設定を
変更してスポットインスタンスを払い出して、その
インスタンス上で処理が実施されるよ。実施中のロ
グはCloudWatchに吐かれていて、もしErrorが発生
したら、Slackに通知が飛ぶようになってる。ここま
での設定は、CloudFormationを使うことで適宜定義
しているよ。
あ、そうそう、データについては事業部側のS3から
取ってくるので専用のRoleを用意して事業部側に権
限を付与してもらう必要もあるね。
まあ、これ読めばわかるから、
あとよろしく!
例: 新たなレコメンドエンジンを実装する時
インフラ専門じゃない
エンジニアに
全部投げるの無理だから
Copyright (C) 2019 BizReach, Inc.
なぜ私たちは機械学習基盤を必要としたのか?
5
● 様々な環境に対して基盤を展開する必要アリ
● 事業部側がサービスを管理しているため サービス x (本番|開発)環境ごとにAWS
アカウントを発行
● 今後は他クラウドサービス(GCP、Azure)対応の可能性も
②インフラ側の特殊な条件
Copyright (C) 2019 BizReach, Inc.
なぜ私たちは機械学習基盤を必要としたのか?
6
まとめ
複数の環境にお手軽に展開できて、
インフラをあまり意識しないで使える基盤が
欲しい
                   から作りました
Copyright (C) 2019 BizReach, Inc.
世の中の機械学習基盤
機械学習サービスの課題
Hidden Technical Debt in Machine Learning Systems NIPS2015
7
https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf
Copyright (C) 2019 BizReach, Inc.
世の中の機械学習基盤
■ KubeFlow
• KubeCon2017年でgoogleが発表した
OSSプロジェクト
• kubernetes上に機械学習基盤を構築
• 現状だと発展途上かつGCP依存が多そう
(PipelinesはGKE依存)
8
https://www.kubeflow.org/docs/other-guides/accessing-uis/
Copyright (C) 2019 BizReach, Inc.
ビズリーチの機械学習基盤 ALICE
9
Copyright (C) 2019 BizReach, Inc.
values.yaml 概要
10
インフラに依らないデプロイ仕様の設定
(アプリをどのように動かしたいか)
- 動作モード: calendar/webhook
- モード固有設定
アプリケーション動作設定
- Workflow実行順
- 起動コンテナ定義
worker Nodeのスペック
- ボリューム
- インスタンスタイプ
- スポットインスタンスの入札価 など
Copyright (C) 2019 BizReach, Inc.
Chart概要
11
Copyright (C) 2019 BizReach, Inc.
Workflowの見え方
12
Copyright (C) 2019 BizReach, Inc.
ビズリーチの機械学習基盤 ALICE まとめ
13
複数の環境にお手軽に展開できてインフラをあまり意識しない
で使える基盤をkubernetesを使って開発
■ ALICE CLIの提供
• init: kubernetesクラスタをコマンド1つで展開
• notebook: jupyter notebookをクラスタ上に展開
■ アプリDeploy時の設定は、1枚のファイルを書くだけ
• 最低限のAWS, Argoの知識があればDeploy可能になった
• 設定ファイルの変更は、Argo CDでAuto sync。GitOpsを実現
■ Argoによって柔軟なworkflowを定義可能
• preprocess、training、predictionなどのジョブごとに
コンテナやマシンスペックを選べる
Copyright (C) 2019 BizReach, Inc.
今後
■ 脱AWS依存
• CodeBuild -> skaffold?
• fluentd + CloudWatch Logs -> Prometheus?
■ インフラエンジニアとの連携
• Kubernetes周りは登場人物も多くてキャッチアップが大変
• 専門の人に頼りたい
■ ALICEを外部公開
• まずはhelm chartから公開予定
14
ビズリーチの機械学習基盤

More Related Content

What's hot

イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05都元ダイスケ Miyamoto
 
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
Amazon Web Services Japan
 
Amazon SageMaker ML Governance 3つの機能紹介
Amazon SageMaker ML Governance 3つの機能紹介Amazon SageMaker ML Governance 3つの機能紹介
Amazon SageMaker ML Governance 3つの機能紹介
西岡 賢一郎
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
Takahiro Kubo
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
 
実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記
Hiroyuki Ohnaka
 
AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策
Amazon Web Services Japan
 
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
Ryoma Nagata
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
 
Worldwide Scalable and Resilient Messaging Services by CQRS and Event Sourcin...
Worldwide Scalable and Resilient Messaging Services by CQRS and Event Sourcin...Worldwide Scalable and Resilient Messaging Services by CQRS and Event Sourcin...
Worldwide Scalable and Resilient Messaging Services by CQRS and Event Sourcin...
DataWorks Summit
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
 
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTT DATA Technology & Innovation
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
 
20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM 20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM
Amazon Web Services Japan
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
 

What's hot (20)

イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
 
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
 
Amazon SageMaker ML Governance 3つの機能紹介
Amazon SageMaker ML Governance 3つの機能紹介Amazon SageMaker ML Governance 3つの機能紹介
Amazon SageMaker ML Governance 3つの機能紹介
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
 
実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記
 
AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策
 
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
Worldwide Scalable and Resilient Messaging Services by CQRS and Event Sourcin...
Worldwide Scalable and Resilient Messaging Services by CQRS and Event Sourcin...Worldwide Scalable and Resilient Messaging Services by CQRS and Event Sourcin...
Worldwide Scalable and Resilient Messaging Services by CQRS and Event Sourcin...
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM 20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
 

Similar to ビズリーチの機械学習基盤

ゼロから学ぶAI
ゼロから学ぶAIゼロから学ぶAI
ゼロから学ぶAI
DIVE INTO CODE Corp.
 
中小企業におけるキャッシュレス決済導入のポイント
中小企業におけるキャッシュレス決済導入のポイント中小企業におけるキャッシュレス決済導入のポイント
中小企業におけるキャッシュレス決済導入のポイント
良治 富田
 
第4次産業革命 AIでビジネスの現場が変わる
第4次産業革命 AIでビジネスの現場が変わる第4次産業革命 AIでビジネスの現場が変わる
第4次産業革命 AIでビジネスの現場が変わる
DIVE INTO CODE Corp.
 
20190313_SDGsや社会課題にxRはどう活かせるか
20190313_SDGsや社会課題にxRはどう活かせるか20190313_SDGsや社会課題にxRはどう活かせるか
20190313_SDGsや社会課題にxRはどう活かせるか
Shingo Mori
 
第4次産業革命 AIでビジネスの現場が変わる
第4次産業革命 AIでビジネスの現場が変わる第4次産業革命 AIでビジネスの現場が変わる
第4次産業革命 AIでビジネスの現場が変わる
DIVE INTO CODE Corp.
 
リクルーティングパートナーシップのご提案
リクルーティングパートナーシップのご提案リクルーティングパートナーシップのご提案
リクルーティングパートナーシップのご提案
DIVE INTO CODE Corp.
 
HelloCodingSchool説明会資料.pdf
HelloCodingSchool説明会資料.pdfHelloCodingSchool説明会資料.pdf
HelloCodingSchool説明会資料.pdf
ssuser568785
 
クラウドで実現!!マーケティングにおけるIoT活用事例
クラウドで実現!!マーケティングにおけるIoT活用事例クラウドで実現!!マーケティングにおけるIoT活用事例
クラウドで実現!!マーケティングにおけるIoT活用事例
Yasuhiro Kobayashi
 
Business utilization of real estate image classification system using deep le...
Business utilization of real estate image classification system using deep le...Business utilization of real estate image classification system using deep le...
Business utilization of real estate image classification system using deep le...
BrainPad Inc.
 
採用担当者必見!\累計6万通以上のスカウト送信実績/ ITエンジニア採用における返信率10%超のスカウトメール術
採用担当者必見!\累計6万通以上のスカウト送信実績/ ITエンジニア採用における返信率10%超のスカウトメール術採用担当者必見!\累計6万通以上のスカウト送信実績/ ITエンジニア採用における返信率10%超のスカウトメール術
採用担当者必見!\累計6万通以上のスカウト送信実績/ ITエンジニア採用における返信率10%超のスカウトメール術
AtsushiMurakami10
 
第4次産業革命に備える!新たなスキルを習得し時代の変化をバネにする
第4次産業革命に備える!新たなスキルを習得し時代の変化をバネにする第4次産業革命に備える!新たなスキルを習得し時代の変化をバネにする
第4次産業革命に備える!新たなスキルを習得し時代の変化をバネにする
DIVE INTO CODE Corp.
 
Smfl20201001
Smfl20201001Smfl20201001
ポストAiを見据えた日本企業の経営戦略 加藤整 20171020_v1.2
ポストAiを見据えた日本企業の経営戦略 加藤整 20171020_v1.2ポストAiを見据えた日本企業の経営戦略 加藤整 20171020_v1.2
ポストAiを見据えた日本企業の経営戦略 加藤整 20171020_v1.2
Sei Kato (加藤 整)
 
AIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるためにAIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるために
ReNom User Group
 
HoloLab_20191016_ceatec
HoloLab_20191016_ceatecHoloLab_20191016_ceatec
HoloLab_20191016_ceatec
Takesen - Takehisa Ito
 
リクルーティングパートナーシップのご提案 β版1.2
リクルーティングパートナーシップのご提案 β版1.2リクルーティングパートナーシップのご提案 β版1.2
リクルーティングパートナーシップのご提案 β版1.2
DIVE INTO CODE Corp.
 
DIVE INTO WORK 就業説明会のご案内
DIVE INTO WORK 就業説明会のご案内DIVE INTO WORK 就業説明会のご案内
DIVE INTO WORK 就業説明会のご案内
DIVE INTO CODE Corp.
 
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
Arata Fujimura
 
[Track3-1] ビジネスで役立つAIリテラシーから機械学習エンジニアリングまで実践形式で学ぶ課題解決型AI人材育成とは?〜国内最大AIコンペサイトの...
[Track3-1] ビジネスで役立つAIリテラシーから機械学習エンジニアリングまで実践形式で学ぶ課題解決型AI人材育成とは?〜国内最大AIコンペサイトの...[Track3-1] ビジネスで役立つAIリテラシーから機械学習エンジニアリングまで実践形式で学ぶ課題解決型AI人材育成とは?〜国内最大AIコンペサイトの...
[Track3-1] ビジネスで役立つAIリテラシーから機械学習エンジニアリングまで実践形式で学ぶ課題解決型AI人材育成とは?〜国内最大AIコンペサイトの...
Deep Learning Lab(ディープラーニング・ラボ)
 
AI-OCR 導入最前線 (AI inside)
AI-OCR 導入最前線 (AI inside)AI-OCR 導入最前線 (AI inside)
AI-OCR 導入最前線 (AI inside)
Shotaro Umeda
 

Similar to ビズリーチの機械学習基盤 (20)

ゼロから学ぶAI
ゼロから学ぶAIゼロから学ぶAI
ゼロから学ぶAI
 
中小企業におけるキャッシュレス決済導入のポイント
中小企業におけるキャッシュレス決済導入のポイント中小企業におけるキャッシュレス決済導入のポイント
中小企業におけるキャッシュレス決済導入のポイント
 
第4次産業革命 AIでビジネスの現場が変わる
第4次産業革命 AIでビジネスの現場が変わる第4次産業革命 AIでビジネスの現場が変わる
第4次産業革命 AIでビジネスの現場が変わる
 
20190313_SDGsや社会課題にxRはどう活かせるか
20190313_SDGsや社会課題にxRはどう活かせるか20190313_SDGsや社会課題にxRはどう活かせるか
20190313_SDGsや社会課題にxRはどう活かせるか
 
第4次産業革命 AIでビジネスの現場が変わる
第4次産業革命 AIでビジネスの現場が変わる第4次産業革命 AIでビジネスの現場が変わる
第4次産業革命 AIでビジネスの現場が変わる
 
リクルーティングパートナーシップのご提案
リクルーティングパートナーシップのご提案リクルーティングパートナーシップのご提案
リクルーティングパートナーシップのご提案
 
HelloCodingSchool説明会資料.pdf
HelloCodingSchool説明会資料.pdfHelloCodingSchool説明会資料.pdf
HelloCodingSchool説明会資料.pdf
 
クラウドで実現!!マーケティングにおけるIoT活用事例
クラウドで実現!!マーケティングにおけるIoT活用事例クラウドで実現!!マーケティングにおけるIoT活用事例
クラウドで実現!!マーケティングにおけるIoT活用事例
 
Business utilization of real estate image classification system using deep le...
Business utilization of real estate image classification system using deep le...Business utilization of real estate image classification system using deep le...
Business utilization of real estate image classification system using deep le...
 
採用担当者必見!\累計6万通以上のスカウト送信実績/ ITエンジニア採用における返信率10%超のスカウトメール術
採用担当者必見!\累計6万通以上のスカウト送信実績/ ITエンジニア採用における返信率10%超のスカウトメール術採用担当者必見!\累計6万通以上のスカウト送信実績/ ITエンジニア採用における返信率10%超のスカウトメール術
採用担当者必見!\累計6万通以上のスカウト送信実績/ ITエンジニア採用における返信率10%超のスカウトメール術
 
第4次産業革命に備える!新たなスキルを習得し時代の変化をバネにする
第4次産業革命に備える!新たなスキルを習得し時代の変化をバネにする第4次産業革命に備える!新たなスキルを習得し時代の変化をバネにする
第4次産業革命に備える!新たなスキルを習得し時代の変化をバネにする
 
Smfl20201001
Smfl20201001Smfl20201001
Smfl20201001
 
ポストAiを見据えた日本企業の経営戦略 加藤整 20171020_v1.2
ポストAiを見据えた日本企業の経営戦略 加藤整 20171020_v1.2ポストAiを見据えた日本企業の経営戦略 加藤整 20171020_v1.2
ポストAiを見据えた日本企業の経営戦略 加藤整 20171020_v1.2
 
AIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるためにAIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるために
 
HoloLab_20191016_ceatec
HoloLab_20191016_ceatecHoloLab_20191016_ceatec
HoloLab_20191016_ceatec
 
リクルーティングパートナーシップのご提案 β版1.2
リクルーティングパートナーシップのご提案 β版1.2リクルーティングパートナーシップのご提案 β版1.2
リクルーティングパートナーシップのご提案 β版1.2
 
DIVE INTO WORK 就業説明会のご案内
DIVE INTO WORK 就業説明会のご案内DIVE INTO WORK 就業説明会のご案内
DIVE INTO WORK 就業説明会のご案内
 
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
 
[Track3-1] ビジネスで役立つAIリテラシーから機械学習エンジニアリングまで実践形式で学ぶ課題解決型AI人材育成とは?〜国内最大AIコンペサイトの...
[Track3-1] ビジネスで役立つAIリテラシーから機械学習エンジニアリングまで実践形式で学ぶ課題解決型AI人材育成とは?〜国内最大AIコンペサイトの...[Track3-1] ビジネスで役立つAIリテラシーから機械学習エンジニアリングまで実践形式で学ぶ課題解決型AI人材育成とは?〜国内最大AIコンペサイトの...
[Track3-1] ビジネスで役立つAIリテラシーから機械学習エンジニアリングまで実践形式で学ぶ課題解決型AI人材育成とは?〜国内最大AIコンペサイトの...
 
AI-OCR 導入最前線 (AI inside)
AI-OCR 導入最前線 (AI inside)AI-OCR 導入最前線 (AI inside)
AI-OCR 導入最前線 (AI inside)
 

ビズリーチの機械学習基盤

  • 1. Copyright (C) 2019 BizReach, Inc. ビズリーチの機械学習基盤 株式会社ビズリーチ システム本部 AI室 機械学習エンジニア 右田 尚人 2019年2月23日 第33回 Machine Learning 15minutes!
  • 2. Copyright (C) 2019 BizReach, Inc. 自己紹介 ■ 名前: 右田 尚人(ミギタ ナオト) ■ 2015/04〜2018/5: 富士通 • ニューラルネットワーク系の自然言語処理の研究開発 • AIサービスの導入支援・PoC(FAQ検索など) ■ 2018/7〜: ビズリーチ • レコメンドエンジン開発 • 機械学習基盤開発 1
  • 3. Copyright (C) 2019 BizReach, Inc. ビズリーチでの機械学習活用 企業と求職者のマッチング、求人の職種・業種・年収推定 など様々な箇所で機械学習を活用 2 課題 ● 様々な求人サイトから収集している ため横断的な職種・業種がない 内容 ● 求人情報から自然言語処理で求人の 特徴を抽出 ● その特徴を学習して職種業種を推定 ● 検索条件やデータ分析などで利用 例: 求人内容から職種・業種を推定 参考: BizReach Tech Blog https://tech.bizreach.co.jp/posts/276/gtc2018-japan-report/
  • 4. Copyright (C) 2019 BizReach, Inc. なぜ私たちは機械学習基盤を必要としたのか? 3 ①データサイエンティスト・機械学習エンジニアの作業負荷低減 前に作ったバッチ処理と同じ形で作っておいてね deployの手順書はこれを参照してね 既存の動作についてちょっとだけ説明するね。 バッチ処理の動作はDockerのImageとしてBuildされ てます。処理を動かす時は、AWSのLambdaをKickし てね。処理が始まると、AutoScalingGroupの設定を 変更してスポットインスタンスを払い出して、その インスタンス上で処理が実施されるよ。実施中のロ グはCloudWatchに吐かれていて、もしErrorが発生 したら、Slackに通知が飛ぶようになってる。ここま での設定は、CloudFormationを使うことで適宜定義 しているよ。 あ、そうそう、データについては事業部側のS3から 取ってくるので専用のRoleを用意して事業部側に権 限を付与してもらう必要もあるね。 まあ、これ読めばわかるから、 あとよろしく! 例: 新たなレコメンドエンジンを実装する時
  • 5. Copyright (C) 2019 BizReach, Inc. なぜ私たちは機械学習基盤を必要としたのか? 4 ①データサイエンティスト・機械学習エンジニアの作業負荷低減 前に作ったバッチ処理と同じ形で作っておいてね deployの手順書はこれを参照してね 既存の動作についてちょっとだけ説明するね。 バッチ処理の動作はDockerのImageとしてBuildされ てます。処理を動かす時は、AWSのLambdaをKickし てね。処理が始まると、AutoScalingGroupの設定を 変更してスポットインスタンスを払い出して、その インスタンス上で処理が実施されるよ。実施中のロ グはCloudWatchに吐かれていて、もしErrorが発生 したら、Slackに通知が飛ぶようになってる。ここま での設定は、CloudFormationを使うことで適宜定義 しているよ。 あ、そうそう、データについては事業部側のS3から 取ってくるので専用のRoleを用意して事業部側に権 限を付与してもらう必要もあるね。 まあ、これ読めばわかるから、 あとよろしく! 例: 新たなレコメンドエンジンを実装する時 インフラ専門じゃない エンジニアに 全部投げるの無理だから
  • 6. Copyright (C) 2019 BizReach, Inc. なぜ私たちは機械学習基盤を必要としたのか? 5 ● 様々な環境に対して基盤を展開する必要アリ ● 事業部側がサービスを管理しているため サービス x (本番|開発)環境ごとにAWS アカウントを発行 ● 今後は他クラウドサービス(GCP、Azure)対応の可能性も ②インフラ側の特殊な条件
  • 7. Copyright (C) 2019 BizReach, Inc. なぜ私たちは機械学習基盤を必要としたのか? 6 まとめ 複数の環境にお手軽に展開できて、 インフラをあまり意識しないで使える基盤が 欲しい                    から作りました
  • 8. Copyright (C) 2019 BizReach, Inc. 世の中の機械学習基盤 機械学習サービスの課題 Hidden Technical Debt in Machine Learning Systems NIPS2015 7 https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf
  • 9. Copyright (C) 2019 BizReach, Inc. 世の中の機械学習基盤 ■ KubeFlow • KubeCon2017年でgoogleが発表した OSSプロジェクト • kubernetes上に機械学習基盤を構築 • 現状だと発展途上かつGCP依存が多そう (PipelinesはGKE依存) 8 https://www.kubeflow.org/docs/other-guides/accessing-uis/
  • 10. Copyright (C) 2019 BizReach, Inc. ビズリーチの機械学習基盤 ALICE 9
  • 11. Copyright (C) 2019 BizReach, Inc. values.yaml 概要 10 インフラに依らないデプロイ仕様の設定 (アプリをどのように動かしたいか) - 動作モード: calendar/webhook - モード固有設定 アプリケーション動作設定 - Workflow実行順 - 起動コンテナ定義 worker Nodeのスペック - ボリューム - インスタンスタイプ - スポットインスタンスの入札価 など
  • 12. Copyright (C) 2019 BizReach, Inc. Chart概要 11
  • 13. Copyright (C) 2019 BizReach, Inc. Workflowの見え方 12
  • 14. Copyright (C) 2019 BizReach, Inc. ビズリーチの機械学習基盤 ALICE まとめ 13 複数の環境にお手軽に展開できてインフラをあまり意識しない で使える基盤をkubernetesを使って開発 ■ ALICE CLIの提供 • init: kubernetesクラスタをコマンド1つで展開 • notebook: jupyter notebookをクラスタ上に展開 ■ アプリDeploy時の設定は、1枚のファイルを書くだけ • 最低限のAWS, Argoの知識があればDeploy可能になった • 設定ファイルの変更は、Argo CDでAuto sync。GitOpsを実現 ■ Argoによって柔軟なworkflowを定義可能 • preprocess、training、predictionなどのジョブごとに コンテナやマシンスペックを選べる
  • 15. Copyright (C) 2019 BizReach, Inc. 今後 ■ 脱AWS依存 • CodeBuild -> skaffold? • fluentd + CloudWatch Logs -> Prometheus? ■ インフラエンジニアとの連携 • Kubernetes周りは登場人物も多くてキャッチアップが大変 • 専門の人に頼りたい ■ ALICEを外部公開 • まずはhelm chartから公開予定 14