Submit Search
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
12 likes
9,590 views
N
Nagato Kasaki
夏真っ盛り!Spark + Python + Data Science祭り 発表資料 http://connpass.com/event/34680/
Engineering
Read more
1 of 38
Download now
Downloaded 32 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
More Related Content
PPTX
SEGA : Growth hacking by Spark ML for Mobile games
DataWorks Summit/Hadoop Summit
PDF
Amebaにおけるレコメンデーションシステムの紹介
cyberagent
PPTX
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
Makoto SHIMURA
PPTX
niconicoにおける継続的なデータ活用のためのHadoop運用事例
Makoto SHIMURA
PPTX
ITの今とこれから public
Daiyu Hatakeyama
PPTX
2014年4月17日 dstnHub発表スライド「dataspiderインターナル:アーキテクチャ編」
dstn
PDF
Business Innovation cases driven by AI and BigData technologies
DataWorks Summit/Hadoop Summit
PDF
Data Scientist Workbench - dots0729
s. kaijima
SEGA : Growth hacking by Spark ML for Mobile games
DataWorks Summit/Hadoop Summit
Amebaにおけるレコメンデーションシステムの紹介
cyberagent
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
Makoto SHIMURA
niconicoにおける継続的なデータ活用のためのHadoop運用事例
Makoto SHIMURA
ITの今とこれから public
Daiyu Hatakeyama
2014年4月17日 dstnHub発表スライド「dataspiderインターナル:アーキテクチャ編」
dstn
Business Innovation cases driven by AI and BigData technologies
DataWorks Summit/Hadoop Summit
Data Scientist Workbench - dots0729
s. kaijima
What's hot
(20)
PPTX
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
Atsushi Kurumada
PDF
アドネットワークのデータ解析チームを支える技術
hagino 3000
PDF
データファースト開発
Katsunori Kanda
PDF
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
The Japan DataScientist Society
PPTX
AI for Business - Microsoft AI Business summit 2018
Daiyu Hatakeyama
PDF
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
Recruit Technologies
PDF
Yahoo! JAPANを支えるビッグデータプラットフォーム技術
Yahoo!デベロッパーネットワーク
PDF
トレジャーデータ 導入体験記 リブセンス編
Kentaro Yoshida
PPTX
2015年2月26日 dsthHUB 『オンプレミスとクラウドをシームレスに"つなぐ" 新製品「Thunderbus」の全貌』
dstn
PDF
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
NTT DATA OSS Professional Services
PPTX
ドライブレコーダの動画を使った道路情報の自動差分抽出
Tetsutaro Watanabe
PPTX
第三回 関西放送機器展 - Microsoft セッション - 放送・映像業界へのAI(Artificial Intelligence)の現実的な活用
Daiyu Hatakeyama
PDF
データ分析プラットフォームの歩き方
Tomoyuki Oota
PDF
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
NTT DATA Technology & Innovation
PDF
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
Atsushi Tsuchiya
PDF
dots. 7/7 DSWBハンズオン資料
s. kaijima
PDF
Data Scientist Workbench 入門
soh kaijima
PPTX
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
NTT DATA Technology & Innovation
PDF
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
NTT DATA OSS Professional Services
PDF
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...
Insight Technology, Inc.
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
Atsushi Kurumada
アドネットワークのデータ解析チームを支える技術
hagino 3000
データファースト開発
Katsunori Kanda
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
The Japan DataScientist Society
AI for Business - Microsoft AI Business summit 2018
Daiyu Hatakeyama
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
Recruit Technologies
Yahoo! JAPANを支えるビッグデータプラットフォーム技術
Yahoo!デベロッパーネットワーク
トレジャーデータ 導入体験記 リブセンス編
Kentaro Yoshida
2015年2月26日 dsthHUB 『オンプレミスとクラウドをシームレスに"つなぐ" 新製品「Thunderbus」の全貌』
dstn
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
NTT DATA OSS Professional Services
ドライブレコーダの動画を使った道路情報の自動差分抽出
Tetsutaro Watanabe
第三回 関西放送機器展 - Microsoft セッション - 放送・映像業界へのAI(Artificial Intelligence)の現実的な活用
Daiyu Hatakeyama
データ分析プラットフォームの歩き方
Tomoyuki Oota
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
NTT DATA Technology & Innovation
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
Atsushi Tsuchiya
dots. 7/7 DSWBハンズオン資料
s. kaijima
Data Scientist Workbench 入門
soh kaijima
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
NTT DATA Technology & Innovation
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
NTT DATA OSS Professional Services
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...
Insight Technology, Inc.
Ad
Viewers also liked
(9)
PDF
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Cloudera Japan
PPTX
Pythonで入門するApache Spark at PyCon2016
Tatsuya Atsumi
PPTX
Case Study: OLAP usability on Spark and Hadoop
DataWorks Summit/Hadoop Summit
PDF
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
Yahoo!デベロッパーネットワーク
PDF
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
Tokoroten Nakayama
PDF
大規模データに対するデータサイエンスの進め方 #CWT2016
Cloudera Japan
PDF
Hadoop’s Impact on Recruit Company
Recruit Technologies
PPTX
sparksql-hive-bench-by-nec-hwx-at-hcj16
Yifeng Jiang
PDF
Top 5 mistakes when writing Spark applications
hadooparchbook
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Cloudera Japan
Pythonで入門するApache Spark at PyCon2016
Tatsuya Atsumi
Case Study: OLAP usability on Spark and Hadoop
DataWorks Summit/Hadoop Summit
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
Yahoo!デベロッパーネットワーク
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
Tokoroten Nakayama
大規模データに対するデータサイエンスの進め方 #CWT2016
Cloudera Japan
Hadoop’s Impact on Recruit Company
Recruit Technologies
sparksql-hive-bench-by-nec-hwx-at-hcj16
Yifeng Jiang
Top 5 mistakes when writing Spark applications
hadooparchbook
Ad
Similar to Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
(20)
PDF
Machine Learning Casual Talks #4 ビッグデータチームを発足するにあたって気をつけておきたいn個のこと
Naoto Tamiya
PDF
避けては通れないビッグデータ周辺の重要課題
kurikiyo
PDF
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
Rakuten Group, Inc.
PDF
楽天におけるビッグデータを対象としたデータサイエンス&AIの最新応用事例
Rakuten Group, Inc.
PDF
ビッグデータとデータマート
株式会社オプト 仙台ラボラトリ
PDF
Markezine day 2012 gdo nakazawa
Shinya Nakazawa
PDF
ビッグデータはバズワードか? (Cloudian Summit 2012)
CLOUDIAN KK
PDF
明日から役立つ BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online
Google Cloud Platform - Japan
PPTX
Bluemixを使ったTwitter分析
Tanaka Yuichi
PDF
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
Kazuki Taniguchi
PDF
DMP / Lecture of DMP(data management platform) for Northwestern Univ. Medill ...
Digital Intelligence Inc.
PPT
Big data解析ビジネス
Mie Mori
PDF
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
Recruit Lifestyle Co., Ltd.
PDF
ゼロから始めるSparkSQL徹底活用!
Nagato Kasaki
PDF
ビッグデータエコシステムとデータサイエンスのススメ
Yuki Asano
PDF
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
Amazon Web Services Japan
PDF
Gcp ai marketing
Miki Katsuragi
PPT
Big data harvardbusiessreview20121112
Dennis Sugahara
PDF
Bigdata_conference_2014_autumn_20140903_nishikawa_presentation
Shinji Nishikawa
PPTX
Pysparkで始めるデータ分析
Tanaka Yuichi
Machine Learning Casual Talks #4 ビッグデータチームを発足するにあたって気をつけておきたいn個のこと
Naoto Tamiya
避けては通れないビッグデータ周辺の重要課題
kurikiyo
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
Rakuten Group, Inc.
楽天におけるビッグデータを対象としたデータサイエンス&AIの最新応用事例
Rakuten Group, Inc.
ビッグデータとデータマート
株式会社オプト 仙台ラボラトリ
Markezine day 2012 gdo nakazawa
Shinya Nakazawa
ビッグデータはバズワードか? (Cloudian Summit 2012)
CLOUDIAN KK
明日から役立つ BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online
Google Cloud Platform - Japan
Bluemixを使ったTwitter分析
Tanaka Yuichi
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
Kazuki Taniguchi
DMP / Lecture of DMP(data management platform) for Northwestern Univ. Medill ...
Digital Intelligence Inc.
Big data解析ビジネス
Mie Mori
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
Recruit Lifestyle Co., Ltd.
ゼロから始めるSparkSQL徹底活用!
Nagato Kasaki
ビッグデータエコシステムとデータサイエンスのススメ
Yuki Asano
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
Amazon Web Services Japan
Gcp ai marketing
Miki Katsuragi
Big data harvardbusiessreview20121112
Dennis Sugahara
Bigdata_conference_2014_autumn_20140903_nishikawa_presentation
Shinji Nishikawa
Pysparkで始めるデータ分析
Tanaka Yuichi
More from Nagato Kasaki
(7)
PDF
20190712 polkadot japan meetup
Nagato Kasaki
PDF
Pact言語によるセキュアなスマートコントラクト開発
Nagato Kasaki
PDF
暗号通貨輪読会 #20 bloXroute
Nagato Kasaki
PDF
Sparkで始めるお手軽グラフデータ分析
Nagato Kasaki
PDF
Spark GraphFrames のススメ
Nagato Kasaki
PDF
Spark graph framesとopencypherによる分散グラフ処理の最新動向
Nagato Kasaki
PDF
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Nagato Kasaki
20190712 polkadot japan meetup
Nagato Kasaki
Pact言語によるセキュアなスマートコントラクト開発
Nagato Kasaki
暗号通貨輪読会 #20 bloXroute
Nagato Kasaki
Sparkで始めるお手軽グラフデータ分析
Nagato Kasaki
Spark GraphFrames のススメ
Nagato Kasaki
Spark graph framesとopencypherによる分散グラフ処理の最新動向
Nagato Kasaki
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Nagato Kasaki
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
1.
/ 38 Sparkを活用したレコメンドエンジンの パフォーマンスチューニング&自動化 ビッグデータ部 加嵜長門 2016年7月25日 夏真っ盛り!Spark
+ Python + Data Science祭り
2.
/ 38 DMM.com ~総合エンターテイメントサイト 2 月間 25億PV 会員 1700万人 多様な サービス 形態
3.
/ 38 DMM.comの主な事業 3 動画配信 デジタル配信事業 電子書籍 AKB48 AKB48グループ劇場を独占配信 動画チャンネル TBSオンデマンド、バンダイチャンネ ルをはじめとした、映画・ドラマ、ア ニメ、アイドル、バラエティーなどを 配信 ペーパーレスな読書スタイル コミック、小説、写真集などの 電子書籍をPC、スマホで閲覧 ec系事業 無店舗型ネットレンタル いろいろレンタルネット通販 DVD、CD、コミック、ゲーム、 ホビーなどをネットショッピン グ ネットで借りて、自宅へ届き、ポストへ返却 ブランドバッグ、デジカメから 季節モノまで 必要なものを必要な時にラクラ クレンタル
4.
/ 38 DMM.comの主な事業 4 オンラインゲーム事業 FX/CFD事業 オンライン英会話事業 充実のラインナップ PC、スマホで遊べるオンラインゲーム FX業界トップクラスの実績 自宅や外出先のスマホで英会話学習
5.
/ 38 DMM.comの主な事業 5 .make /3Dプリント事業
ロボット事業 太陽光発電事業 ものつくりプラットフォーム 製造業の新しいカタチ クリエイターが集う ものつくりシェアスペース MVNO事業 世界初のロボットキャリア DMMではじめるロボットとの新 生活 格安SIM/スマホ販売
6.
/ 38 DMM.comラボにおけるSpark活用の歴史 • Developers
Summit 2015 • Sparkによるリアルタイムレコメンド • http://event.shoeisha.jp/devsumi/20150219/session/642/ • プレスリリース • Sparkを活用したアジアパシフィック初のレコメンド基盤実現 • http://www.cloudera.co.jp/customers/dmm.html • Spark Conference Japan 2016 • Hive on Sparkを活用した高速データ分析 • 『詳解 Apache Spark』発売 • 8章 GraphX を担当 6 2015年2月 2015年9月 2016年2月 2016年4月
7.
/ 38 Sparkを活用したレコメンドシステム導入実績 • DMM.comサービス内のレコメンド •
プラットフォームの共通モジュール • 外部ASP • 事業部独自実装 など多数 • Sparkを活用したレコメンド • 2015年8月~ • 順次導入を進めている 7 13 168
8.
/ 38 レコメンド導入の伸びを支えるシステム 8 230 CPUs 580
GB memory 360 CPUs 900 GB memory 13 168 x 13 x 1.5 x 1.3 レコメンド導入数 YARN リソース 処理時間/日 3h 4h 自動化 パフォーマンス チューニング
9.
/ 38 アジェンダ • レコメンド導入の自動化 •
レコメンドの基礎 • ユーザ・アイテムマトリクス • レコメンドの分類 • データ処理の流れ • チューニング • 精度チューニングとパフォーマンスチューニング • Sparkチューニング • データの偏り 9
10.
/ 38 アジェンダ • レコメンド導入の自動化 •
レコメンドの基礎 • ユーザ・アイテムマトリクス • レコメンドの分類 • データ処理の流れ • チューニング • 精度チューニングとパフォーマンスチューニング • Sparkチューニング • データの偏り 10
11.
/ 38 レコメンド導入の自動化 11 サービスに新しくレコメンドを1つ追加する場合 レコメンドの「レシピ」を書く(所要時間1分) 「レシピ」にしたがってテストを実行 ステージング環境 チューニング自動化 本番環境 テスト環境 要件テスト
性能テスト 精度テスト 結合テスト リリース テストで問題があれば…
12.
/ 38 レコメンドの基礎 –
協調フィルタリング 12 対象ユーザ 閲覧中の商品 閲覧 他のユーザ 購入 購入 レコメンド
13.
/ 38 協調フィルタリングのマトリクス表現 13 item user
14.
/ 38 ユーザ・アイテムマトリクス 1 2
3 4 1 1 2 1 1 3 1 1 4 1 1 14 item user
15.
/ 38 サービスごとのユーザ・アイテムマトリクス • アイテム数、ユーザ数の規模や比率が異なる •
サービスの特徴に応じたチューニングが不可欠 15 サービス名 ユーザ数 アイテム数 特徴 サービスA 50,000 200,000 アイテム数が多い サービスB 1,000,000 200 ユーザ数が多い アイテム数は極端に少ない サービスC 1,500,000 300,000 ユーザ数もアイテム数も多い サービスD 100,000 4,000,000 アイテム数が極端に多い
16.
/ 38 全サービス横断のユーザ・アイテムマトリクス 16 全サービスの ユーザ 全サービスのアイテム 汎用的なデータ構造として、全 サービス横断の、巨大なユーザ・ アイテムマトリクスを作成 実態はHiveテーブル レコメンドの要件に応じて、部分 空間を抽出する HiveクエリのWHERE句で絞り込み
17.
/ 38 全サービス横断のユーザ・アイテムマトリクス 17 サービスAの ユーザ サービスAのアイテム サービスBの ユーザ サービスBのアイテム サービスC&Dの ユーザ サービスCのアイテム サービスDのアイテム サービス横断の レコメンドも可能
18.
/ 38 レコメンドの分類 • 巷のいろいろなレコメンドのカテゴリ •
DMMでは3種類に分類 • Ranking • 任意の場所からアイテムをレコメンド • UserToItem • 人に対してアイテムをレコメンド • ItemToItem • アイテムに対してアイテムをレコメンド 18 サイトTOP サービスTOP アイテム アイテム アイテム サービスTOP アイテム アイテム アイテム サービスTOP アイテム アイテム アイテム ECサイトの構造例 Ranking ItemToItemUserToItem
19.
/ 38 Ranking 19 item user アイテムごとに スコア計算
20.
/ 38 UserToItem 20 item user 類似ユーザを 見つける
21.
/ 38 ItemToItem 21 item user アイテム同士の 相関を計算
22.
/ 38 レコメンドの分類例 22 レコメンドの説明 入力
出力 分類 あなたにおすすめの商品 ユーザID その人に似ているユー ザが買った商品 UserToItem この商品を買った人はこんな 商品も興味があります 商品ID 同時に買われた商品 ItemToItem あなたの閲覧履歴からおすす め 過去に閲覧したア イテム 類似のアイテム ItemToItem 新着アイテム (時刻) 新着アイテム Ranking 地域別人気アイテム (位置情報) 人気アイテム Ranking ユーザ属性(年齢・性別など) に基づくおすすめ商品 (ユーザ属性) 人気アイテム Ranking あなたにおすすめの友達 ユーザ 類似ユーザ UserToItem
23.
/ 38 データ処理の流れ 23 Ranking 対象データの抽出
後段Spark処理のためのデータ整形 UserToItem ItemToItem 機械学習 ベクトル計算 レコメンド計算結果をDBにエクスポート Sparkではレコメンド計算だけを記述したい データ整形は前段のHiveに任せる
24.
/ 38 レコメンドの「レシピ」 24 { "hive": { "対象ユーザ、対象アイテムの条件":
"サービスID、フロア条件など", "レコメンド種類": "(Ranking, UserToItem, ItemToItem)", "スコアの計算方法": ~, }, "spark": { "アルゴリズム": ~, "パラメタ": ~, "リソース設定": "メモリ、コア数、Executor数など", }, "sqoop": { "出力先": ~, } } recommendXX.json5
25.
/ 38 レコメンド導入の自動化 まとめ •
データの抽象化と汎用化 • 巨大なマトリクス構造 • レコメンドの種類を3タイプに抽象化 • 個別の設定やチューニング項目を設定ファイル化 • テスト・リリースの自動化 25
26.
/ 38 アジェンダ • レコメンド導入の自動化 •
レコメンドの基礎 • ユーザ・アイテムマトリクス • レコメンドの分類 • データ処理の流れ • チューニング • 精度チューニングとパフォーマンスチューニング • Sparkチューニング • データの偏り 26
27.
/ 38 レコメンドのチューニング 27 チューニング パフォーマンスチューニング 精度チューニング そもそも処理が失敗する場合
処理はできるが時間がかかりすぎる場合 定量的指標 Coverage, Mean Average Precision, B-pref, … 定性的指標 ユーザテスト 最終的には、リリースしてみてABテストで改善していく
28.
/ 38 パフォーマンスチューニング • Sparkのパフォーマンスチューニング •
ボトルネックとなる箇所の特定 • データの偏りを解消 • リソースの調整 • 詳しくは以前の発表 「Hive on Spark を活用した高速データ分析」 • その他の項目を調整 • データ構造の改善 • ロジックの改善 • …etc. 28
29.
/ 38 データの偏りはなぜ起こるか? • データの偏り •
Skewed Data • スケールフリーネットワーク • 人気者はより人気者になりやすい • 売れている商品はより売れやすい • 例:ロングテール商品 • 分散処理の限界 • 全件ソートなど 29 https://en.wikipedia.org/wiki/Long_tail ロングテール 上位20%の商品が売上の80%を占める
30.
/ 38 データの偏り:ユーザ・アイテムマトリクスの例 user item
score 1 1 1 2 1 1 2 3 1 3 1 1 3 2 1 4 1 1 4 4 1 30 1 1 1 3 1 1 4 4 1 2 3 1 3 2 1 2 1 1 4 1 1 マトリクスのRDD, Hiveテーブル表現 パーティショナーに より分割されて保持
31.
/ 38 Spark RDDで類似のユーザを探す user
item score 1 1 1 2 1 1 2 3 1 3 1 1 3 2 1 4 1 1 4 4 1 31 item (user, score) 1 (1, 1) 1 (2, 1) 3 (2, 1) 1 (3, 1) 2 (3, 1) 1 (4, 1) 4 (4, 4) アイテムIDでJOINす るため、アイテムID をキーに変更
32.
/ 38 item (user,
score) 1 (1, 1) 1 (2, 1) 3 (2, 1) 1 (3, 1) 2 (3, 1) 1 (4, 1) 4 (4, 4) Spark RDDで類似のユーザを探す 32 1 (1, 1) 1 (2, 1) 1 (3, 1) 1 (4, 1) 3 (2, 1) 2 (3, 1) 4 (4, 4) 同じアイテムIDの データは同じブロッ クに集められる
33.
/ 38 自己結合時のデータの偏り 33 key value key
value JOIN Task
34.
/ 38 データの偏りの解消 • パフォーマンスが数十倍改善することも •
1分50秒 → 5秒 • 5時間 → 30分 • 3時間 → 3分 • 主な手法 • パーティショナーの最適化 • パーティション数の調整 • 外れ値の除外 • キーにSaltを加えた多段処理 34
35.
/ 38 外れ値の除外 • 上限を設ける •
評価アイテム数が多いユーザは、最新N件の評価アイテムのみ使う • 1アイテムしか評価していないユーザは、モデルの計算処理から省く • 分割する • 評価が集中するアイテムのスコアを別枠で計算する 35
36.
/ 38 キーにSaltを加えた多段処理 • 偏りの多いIDについて、ランダムなsaltを付与 •
saltを加えたIDで処理した後、本来のIDで再度処理する 36 item 1 1 1 1 1 item-salt 1-001 1-002 1-002 1-003 1-003 item 1 1 1 1 1
37.
/ 38 チューニング まとめ •
精度チューニング • リリース後にABテスト • パフォーマンスチューニング • ボトルネックとなる箇所の特定 • リソース調整の前に、データの偏り(skewed data)を解消する • データの偏りがボトルネックになる場合、リソースを増やしても効果が薄い • データの特性を見ながら調整 37
38.
/ 38 今後の展望 • HiveとSparkの統合 •
設計当時、Sparkの処理はRDDベースだった • データの整形やフィルタがHive(SQL)に比べ冗長だった • DataFrames, DataSet, Pipelineの登場で、状況が変わった • パフォーマンス・保守性向上のため、HiveとSparkは統合していきたい • 行動ログに依存しないレコメンド • コンテンツベース • メディアデータの解析 • 画像、音声、動画、・・・ • Deep Learningの活用 38
Download