Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
Treasure  Data  Inc.
Research  Engineer
油井 誠 @myui
2015/04/30
Machine  Learning  Casual  Talk  #3 1
Hivemall  v0.3の新機能の紹介
http://myui.github.io/
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
Ø2015/04  トレジャーデータ入社
Ø第1号のリサーチエンジニア
ØML  as  a  Service  (MLaaS)に従事(?)
Ø2015/03  産業技術総合研究所 情報技術研究部
門 主任研究員
Ø大規模機械学習および並列データベースの研究に従
事
Ø2009/03  NAIST  博士課程修了 博士(工学)
ØXMLネイティブデータベースおよび超並列データベース
の研究に従事
ØH14未踏ユース第1期スーパクリエイタ
2
自己紹介
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
3
0
2000
4000
6000
8000
10000
12000
Aug-­‐12
Sep-­‐12
Oct-­‐12
Nov-­‐12
Dec-­‐12
Jan-­‐13
Feb-­‐13
M
ar-­‐13
Apr-­‐13M
ay-­‐13
Jun-­‐13
Jul-­‐13
Aug-­‐13
Sep-­‐13
Oct-­‐13
Nov-­‐13
Dec-­‐13
Jan-­‐14
Feb-­‐14
M
ar-­‐14
Apr-­‐14M
ay-­‐14
Jun-­‐14
Jul-­‐14
Aug-­‐14
Sep-­‐14
Oct-­‐14
(単位)10億レコード
サービス開始
Series  A  Funding
100社導入
Gartner社「Cool  Vendor  in  
Big  Data」に選定される
10兆件
5兆レコード
数字でみる トレジャーデータ (2014年10月):
40万レコード 毎秒インポートされるデータの数
10兆レコード以上 インポートされたデータの数
120億 アドテク業界のお客様1社によって毎日送られてくるデータ
数字で見るトレジャーデータ
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
数字で見る現在のトレジャーデータ
100+
日本の顧客社数
15兆
保存されている
データ件数
4,000
一社が所有する最大
サーバー数
500,000
1秒間に保存される
データ件数
4
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
Hivemallとは
Apache  Hadoopのエコシステム上に構築したオープン
ソースの機械学習ライブラリ
Hadoop  HDFS
MapReduce
(MRv1)
Hive/PIG
クエリ処理系
Hivemall
Apache  YARN
Apache  Tez
DAG処理系
MR v2
分散ファイルシステム
リソース管理システム
並列処理フレームワーク
問合せ処理系
機械学習ライブラリ
github.com/myui/hivemall
5
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
SQLベースの宣言的かつ容易な記述
Hivemallの特徴
何十行もの
プログラム
Mahoutによるプログラミング
CREATE  TABLE  lr_model AS
SELECT
feature,  -­‐-­‐ reducers  perform  model  averaging  in  
parallel
avg(weight)  as  weight
FROM  (
SELECT  logress(features,label,..)  as  (feature,weight)
FROM  train
)  t  -­‐-­‐ map-­‐only  task
GROUP  BY  feature;  -­‐-­‐ shuffled  to  reducers
ü 一般的なエンジニアでも機械学習を扱える
ü API抽象度がHiveQLと高いのでAPIがかなりstable
(Sparkはまだ結構unstable)
このような問合せを書くと学習処理が
Hadoop上で並列実行される
6
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
Hivemall  v0.3で提供している機能
7
• クラス分類(二値分類/多値
分類)
ü Perceptron
ü Passive  Aggressive  (PA)
ü Confidence  Weighted  (CW)
ü Adaptive  Regularization  of  Weight  
Vectors  (AROW)
ü Soft  Confidence  Weighted  (SCW)
ü AdaGrad+RDA
• 回帰分析
ü 確率的勾配降下法に基づくロジス
ティック回帰
ü PA  Regression
ü AROW  Regression
ü AdaGrad
ü AdaDELTA
• K近傍法 &  レコメンデーション
ü Minhashとb-­‐Bit  Minhash (LSH  variant)
ü 類似度に基づくK近傍探索
ü Matrix  Factorization
• Feature  engineering
ü Feature  hashing
ü Feature  scaling  (normalization,  z-­‐score)  
ü TF-­‐IDF  vectorizer
トレジャーデータでもv0.3を5月中に
サポート予定
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
8
Matrix  Factorization
k個の潜在因子をもつ
行列P,Qで近似
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
9
評価値の
平均
Matrix  Factorization
正則化項
ユーザおよび商品ごとの
評価バイアスを考慮
Biased  MFのSGDおよびAdagradによる最適化
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
10
Matrix  Factorizationの学習
ローカルディスクに訓練事例を書き出すことで学習が収束するまでの
繰り返し学習に対応(全体最適化のためにパラメタ交換が必要)
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
11
Matrix  Factorizationの予測/評価
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
機械学習におけるパラメタ交換
12
学習器1
学習器2
学習器N
パラメタ
交換
学習
モデル
分割された訓練例例
データ並列列
データ並列列
(モデルパラメタ)
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
create  table  kdd10a_pa1_model1  as
select  
feature,
cast(voted_avg(weight)  as  float)  as  weight
from  
(select  
train_pa1(addBias(features),label,"-­‐mix  host01,host02,host03")  
as  (feature,weight)
from  
kdd10a_train_x3
)  t  
group  by  feature;
MIX  Serverの利用
このように学習器の呼び出しで
Mix  serverをオプション指定する
13
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
・・・・・・
Model  updates
Async add
AVG/Argmin KLD  accumulator
hash(feature)  %  N
Non-­‐blocking  Channel
(single  shared  TCP  connection  w/  TCP  keepalive)
classifiers
Mix  serv.Mix  serv.
Computation/training  
is  not  being  blocked
MIX  Serverの概要
14
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
15
Feature  requirements  in  Treasure  Data
Copyright  ©2016 Treasure  Data.    All  Rights  Reserved.
16
Treasure  Dataでは、機械学習の実装に強い人/Kaggle
Master/Data  Scientistsも募集しております!
Hiringの一覧にはまだ出ていないので、興味のある方は
myui@treasure-­‐data.com または @myui に連絡ください

Hivemall LT @ Machine Learning Casual Talks #3

  • 1.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. Treasure  Data  Inc. Research  Engineer 油井 誠 @myui 2015/04/30 Machine  Learning  Casual  Talk  #3 1 Hivemall  v0.3の新機能の紹介 http://myui.github.io/
  • 2.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. Ø2015/04  トレジャーデータ入社 Ø第1号のリサーチエンジニア ØML  as  a  Service  (MLaaS)に従事(?) Ø2015/03  産業技術総合研究所 情報技術研究部 門 主任研究員 Ø大規模機械学習および並列データベースの研究に従 事 Ø2009/03  NAIST  博士課程修了 博士(工学) ØXMLネイティブデータベースおよび超並列データベース の研究に従事 ØH14未踏ユース第1期スーパクリエイタ 2 自己紹介
  • 3.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. 3 0 2000 4000 6000 8000 10000 12000 Aug-­‐12 Sep-­‐12 Oct-­‐12 Nov-­‐12 Dec-­‐12 Jan-­‐13 Feb-­‐13 M ar-­‐13 Apr-­‐13M ay-­‐13 Jun-­‐13 Jul-­‐13 Aug-­‐13 Sep-­‐13 Oct-­‐13 Nov-­‐13 Dec-­‐13 Jan-­‐14 Feb-­‐14 M ar-­‐14 Apr-­‐14M ay-­‐14 Jun-­‐14 Jul-­‐14 Aug-­‐14 Sep-­‐14 Oct-­‐14 (単位)10億レコード サービス開始 Series  A  Funding 100社導入 Gartner社「Cool  Vendor  in   Big  Data」に選定される 10兆件 5兆レコード 数字でみる トレジャーデータ (2014年10月): 40万レコード 毎秒インポートされるデータの数 10兆レコード以上 インポートされたデータの数 120億 アドテク業界のお客様1社によって毎日送られてくるデータ 数字で見るトレジャーデータ
  • 4.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. 数字で見る現在のトレジャーデータ 100+ 日本の顧客社数 15兆 保存されている データ件数 4,000 一社が所有する最大 サーバー数 500,000 1秒間に保存される データ件数 4
  • 5.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. Hivemallとは Apache  Hadoopのエコシステム上に構築したオープン ソースの機械学習ライブラリ Hadoop  HDFS MapReduce (MRv1) Hive/PIG クエリ処理系 Hivemall Apache  YARN Apache  Tez DAG処理系 MR v2 分散ファイルシステム リソース管理システム 並列処理フレームワーク 問合せ処理系 機械学習ライブラリ github.com/myui/hivemall 5
  • 6.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. SQLベースの宣言的かつ容易な記述 Hivemallの特徴 何十行もの プログラム Mahoutによるプログラミング CREATE  TABLE  lr_model AS SELECT feature,  -­‐-­‐ reducers  perform  model  averaging  in   parallel avg(weight)  as  weight FROM  ( SELECT  logress(features,label,..)  as  (feature,weight) FROM  train )  t  -­‐-­‐ map-­‐only  task GROUP  BY  feature;  -­‐-­‐ shuffled  to  reducers ü 一般的なエンジニアでも機械学習を扱える ü API抽象度がHiveQLと高いのでAPIがかなりstable (Sparkはまだ結構unstable) このような問合せを書くと学習処理が Hadoop上で並列実行される 6
  • 7.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. Hivemall  v0.3で提供している機能 7 • クラス分類(二値分類/多値 分類) ü Perceptron ü Passive  Aggressive  (PA) ü Confidence  Weighted  (CW) ü Adaptive  Regularization  of  Weight   Vectors  (AROW) ü Soft  Confidence  Weighted  (SCW) ü AdaGrad+RDA • 回帰分析 ü 確率的勾配降下法に基づくロジス ティック回帰 ü PA  Regression ü AROW  Regression ü AdaGrad ü AdaDELTA • K近傍法 &  レコメンデーション ü Minhashとb-­‐Bit  Minhash (LSH  variant) ü 類似度に基づくK近傍探索 ü Matrix  Factorization • Feature  engineering ü Feature  hashing ü Feature  scaling  (normalization,  z-­‐score)   ü TF-­‐IDF  vectorizer トレジャーデータでもv0.3を5月中に サポート予定
  • 8.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. 8 Matrix  Factorization k個の潜在因子をもつ 行列P,Qで近似
  • 9.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. 9 評価値の 平均 Matrix  Factorization 正則化項 ユーザおよび商品ごとの 評価バイアスを考慮 Biased  MFのSGDおよびAdagradによる最適化
  • 10.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. 10 Matrix  Factorizationの学習 ローカルディスクに訓練事例を書き出すことで学習が収束するまでの 繰り返し学習に対応(全体最適化のためにパラメタ交換が必要)
  • 11.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. 11 Matrix  Factorizationの予測/評価
  • 12.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. 機械学習におけるパラメタ交換 12 学習器1 学習器2 学習器N パラメタ 交換 学習 モデル 分割された訓練例例 データ並列列 データ並列列 (モデルパラメタ)
  • 13.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. create  table  kdd10a_pa1_model1  as select   feature, cast(voted_avg(weight)  as  float)  as  weight from   (select   train_pa1(addBias(features),label,"-­‐mix  host01,host02,host03")   as  (feature,weight) from   kdd10a_train_x3 )  t   group  by  feature; MIX  Serverの利用 このように学習器の呼び出しで Mix  serverをオプション指定する 13
  • 14.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. ・・・・・・ Model  updates Async add AVG/Argmin KLD  accumulator hash(feature)  %  N Non-­‐blocking  Channel (single  shared  TCP  connection  w/  TCP  keepalive) classifiers Mix  serv.Mix  serv. Computation/training   is  not  being  blocked MIX  Serverの概要 14
  • 15.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. 15 Feature  requirements  in  Treasure  Data
  • 16.
    Copyright  ©2016 Treasure Data.    All  Rights  Reserved. 16 Treasure  Dataでは、機械学習の実装に強い人/Kaggle Master/Data  Scientistsも募集しております! Hiringの一覧にはまだ出ていないので、興味のある方は myui@treasure-­‐data.com または @myui に連絡ください