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
AWS Personalizeを活用した レコメンドシステム構築事例 / aws personalize recsys
Search
pigooosuke
June 11, 2020
Technology
1
4.1k
AWS Personalizeを活用した レコメンドシステム構築事例 / aws personalize recsys
pigooosuke
June 11, 2020
Tweet
Share
Other Decks in Technology
See All in Technology
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
190
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
240
VS CodeでAWSを操作しよう
smt7174
7
1.6k
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
180
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
2
230
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
170
VSCodeの拡張機能を作っている話
ebarakazuhiro
1
300
ServiceNow Knowledge Learning Rise up
manarobot
0
200
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
1
270
Meta Quest 3 で動く桜マシマシ WebXR アプリを IBM Cloud Code Engine と Babylon.js で作った話
1ftseabass
PRO
0
120
オーナーシップを持つ領域を明確にする
konifar
13
3.1k
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
2
11k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
Statistics for Hackers
jakevdp
789
220k
Designing the Hi-DPI Web
ddemaree
276
33k
Designing for Performance
lara
601
67k
Producing Creativity
orderedlist
PRO
337
39k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
What's in a price? How to price your products and services
michaelherold
237
11k
Git: the NoSQL Database
bkeepers
PRO
422
63k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Building Applications with DynamoDB
mza
88
5.6k
Optimizing for Happiness
mojombo
370
69k
Transcript
© - BASE, Inc. AWS Personalizeを活⽤した レコメンドシステム構築事例
© - BASE, Inc. ⾃⼰紹介 齋藤 勇介 BASE株式会社 DataStrategy Team
‧データ分析、機械学習を活⽤した開発 ‧データ集計から予測モデル作成、データ配信まで何でも ‧過去にBASEで取り組んだ事例 ‧特集コンテンツの⾃動⽣成とレコメンドサービスの取り組み ‧機械学習にアノテーションを活⽤して、商品検索の関連キーワード機能を作る BASE開発チームブログ (https://devblog.thebase.in/)
© - BASE, Inc. アジェンダ . 「BASE」紹介 . 「BASE」のレコメンドシステム紹介 .
Amazon Personalizeの導⼊ . 効果検証 . 運⽤上のTips . まとめ
© - BASE, Inc. 「BASE」紹介
© - BASE, Inc. ネットショップ作成サービス「BASE」 出店ショップ数 (個⼈‧法⼈‧⾏政を含む) 100万ショップ以上 BASEかんたん決済利⽤料 3.6%+40円
サービス利⽤料 % コンセプト 「誰でも簡単に使えるネットショップ作成サービス」 初期費⽤‧⽉額費⽤ 0円 ショップオーナーのサポート機能が充実! 個⼈でも決済機能をかんたん導⼊。 審査もスピーディー! クレジットカード 銀⾏振込 コンビニ決済‧Pay-easy 後払い (BASE Apps) キャリア決済
© - BASE, Inc. 「BASE」のレコメンドシステム紹介
© - BASE, Inc. ショッピングアプリ「BASE」 ユーザーの嗜好に合うコンテンツをレコメンド 例えばアプリのホーム画⾯では、 - 今⽇のおすすめ商品 -
今⽇のおすすめショップ - テーマ別特集 にて稼働中
© - BASE, Inc. ショッピングアプリ「BASE」 ユーザーの嗜好に合うコンテンツをレコメンド 例えばアプリのホーム画⾯では、 - 今⽇のおすすめ商品 -
今⽇のおすすめショップ - テーマ別特集 にて稼働中 今⽇の話はこのエリア
© - BASE, Inc. ECS API Proxy ECS ALB Internal
ALB ECS 計算batch レコメンド配信基盤 API A.協調フィルタリング ECS ECS B.Factorization Machines ECS ECS C. ⼈気順ランキング
© - BASE, Inc. レコメンド配信基盤 ‧アルゴリズム - 協調フィルタリング - Factorization
Machines - ⼈気順ランキング ‧予測‧計算 - リアルタイムでの予測はしておらず、バッチ計算結果を表⽰ ‧配信ルール - 前段のAPI Proxyで制御
© - BASE, Inc. アルゴリズム運⽤ タイプ メインアルゴリズム (予測可能ユーザー) サブアルゴリズム (予測不可ユーザー)
A 協調フィルタリング ⼈気順ランキング B Factorization Machines ⼈気順ランキング ‧2種類のアルゴリズムを並⾏運⽤ ‧学習に含まれていないor新規ユーザーには、各属性に合った⼈気商品を提⽰ ‧複数のアルゴリズムを運⽤することで、推薦結果によるバイアスを受けた ⾏動ログで学習し続けてしまう事象を軽減
© - BASE, Inc. ⼀応の運⽤は回っていたが、 いくつか懸念点が、、、
© - BASE, Inc. 懸念点 メンテナンス性 アルゴリズムの特性 モデル精度
© - BASE, Inc. アルゴリズムの特性 ‧課題 協調フィルタリング、Factorization Machinesともに、 商品全体に対するユーザーの嗜好性を推定するもので、 モデル学習時に時系列性を取り⼊れるのが難しい
→ 直前までの⾏動を考慮したレコメンドが出来ない ‧どうする? - ユーザーのセッションベースのレコメンドモデルを作る? - 学習にGPU必須。環境作りなども少し億劫 - 新規モデルの開発 - その改善のリターンは⾒込める?
© - BASE, Inc. メンテナンス性 ‧課題 所々で独⾃実装が⼊っていて、担当者がいなくなった時に メンテナンスや緊急対応が難しそう ‧どうする? -
ML Opsあるある。どうする?
© - BASE, Inc. モデル精度 ‧課題 - 既存の運⽤モデルはベストな選択なのか? - より良いモデルは存在するのでは?
- 学習パラメーターもある程度⾒直す必要があるが、放置状態 ‧どうする? - 新規モデルの開発 - その改善のリターンは⾒込める? - 学習パラメーターの検証 - やりたいけどやっていない
© - BASE, Inc. Amazon Personalizeの導⼊
© - BASE, Inc. 2019年6⽉ Amazon Personalizeが 東京リージョンで利⽤可能に
© - BASE, Inc. 2019年10⽉ 「BASE」で Amazon Personalizeの運⽤開始
© - BASE, Inc. 課題点解消 ‧アルゴリズムの特性 「HRNN」という定義済みアルゴリズムを使えば、 セッションベースの学習が可能 ‧メンテナンス性 最低限、csvを3file⽤意すれば⼤丈夫
運⽤開始から8ヶ⽉経過するも、コード修正は2回だけ 障害も発⽣せず ‧モデル精度 最適パラメーターの探索も設定次第で簡単に可能
© - BASE, Inc. ⾊々と理由を挙げましたが、 どれぐらいの精度が出るものか検証してみたい という動機が⼀番⼤きかったです
© - BASE, Inc. ショッピングアプリ「BASE」 「今⽇のおすすめ商品」枠 にて、検証開始
© - BASE, Inc. ECS API Proxy ECS ALB Internal
ALB ECS レコメンド配信基盤 既存のアルゴリズム Lambda Personalize ECS Personalize DynamoDB データ投⼊ NG商品など の情報 出⼒調整 レコメンド取得
© - BASE, Inc. 効果検証
© - BASE, Inc. 計測指標 ͬͱݟΔը໘ ΞϓϦϗʔϜը໘ ৄࡉը໘ 1. 閲覧率
2. お気に⼊り率 3. カート追加率
© - BASE, Inc. 運⽤実績 閲覧率 お気に⼊り率 カート追加率 ‧Personalize(Per)は、カート追加率で最も優れた予測を実現 ‧閲覧率では、既存のモデルに勝てないこともある
- アルゴリズムの特性、カスタマイズ性に起因 ‧回遊性を重視するのか、売上を重視するのかでより良い選択を
© - BASE, Inc. 運⽤上のTips
© - BASE, Inc. 学習パラメーター 最重要! 必要な時だけ、ハイパーパラメーターチューニングする Perform HPO /
Perform AutoMLというパラメーターの仕様 をよく理解して、毎回チューニングしないようにする ちなみに、 運⽤中のデータサイズでチューニングすると、 チューニングなし学習の約15回分の請求がきます
© - BASE, Inc. 未学習ユーザーへの予測 学習時に含まれていないユーザーに⼈気順のitemが出る 新規ユーザーや⻑期⾮ログインユーザーに対して、 共通のレコメンドがされ、 Personalize内での調整が今の所できない 別途取得したユーザー属性元にレコメンドしたい場合は、
追加で拡張する必要がある
© - BASE, Inc. まとめ
© - BASE, Inc. Amazon Personalizeを使ってみて - ⼿間を掛けずにレコメンドサービスを開発できるツール - メンテナンスコストも削減可能
- ハイパーパラメータチューニングも容易
© - BASE, Inc. ご清聴ありがとうございました