SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
MapReduceによる大規模データ処理
      at Yahoo! JAPAN

         2011/09/26
     ヤフー株式会社 R&D統括本部

       角田直行、吉田一星
自己紹介

    角田 直行(かくだ なおゆき)
    R&D統括本部 プラットフォーム開発本部検索開発部 開発4


    – 2005年 ヤフー株式会社入社

     – Yahoo!地図

     – Yahoo!路線

     – Yahoo!検索
      …

    – 2011年現在、検索プラットフォームを開発中


1                 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
自己紹介

    吉田 一星(よしだ いっせい)
    R&D統括本部 プラットフォーム開発本部検索開発部 開発4


    – 2008年 ヤフー株式会社入社

    – 検索プラットフォームでHadoopに関する開発

    – 画像処理、iPhone向け技術開発にも関わる




2              Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Agenda

    –Yahoo! JAPANでの事例

    –MapReduceによるアルゴリズムデザイン

    –まとめ




3              Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Yahoo! JAPANでの事例




4    Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Hadoop at Yahoo! JAPAN




                                        検索プラットフォーム

      アクセスログデータ
                                                                                             広告プラットフォーム
       プラットフォーム



           レコメンデーションプ                                                           地域APIプラットフォーム
             ラットフォーム



    様々なYahoo! JAPANのサービスを支えるプラットフォームで、
    Hadoopが使われています
5                 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Yahoo! JAPANの検索サービス

    –例えば、Yahoo! JAPANの検索サービスでは・・・




    検索のログをHadoop                                                            サービスに検索機能を提供
    で分析してデータ提供



         検索ログプラット                                                    検索プラットフォーム
           フォーム                                                         (ABYSS)




6             Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Yahoo!検索

    –検索ログプラットフォームのデータを元に様々な機能を提供




    キーワード入力補助→

     関連検索ワード→


     ショートカットの
      表示制御→




7               Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Yahoo!検索 リアルタイム検索

    –検索プラットフォーム(ABYSS)が検索機能を提供

    –Twitter社が提供した、リアルタイムのツイートデータを、ABYSS
    側に送ってインデクシング




8            Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Yahoo!オークション
    – おすすめのオーション




            Hadoopで解析したデ
                ータを提供




        レコメンデーション
         プラットフォーム



9              Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
MapReduceのアルゴリズムデザイン




10       Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
11   Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
MapReduceのアルゴリズムデザイン

 –Yahoo! JAPANでの実例を交えながら、MapReduceでどうアルゴ
     リズムをデザインするか、解説します。

     –空間解析

     –検索インデックス作成

     –機械学習




12           Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
空間解析




13   Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
空間解析

 –位置関係を利用した検索を行いたい

     –今いる場所から一番近いコンビニ

     –港区にある図書館

     –駅から5分のマンション

     –環状7号線沿いのラーメン屋




14          Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
リバースジオコーダー

 –緯度経度から住所を求める


                                                                                含まれるかどうか
 ある地点




 住所ポリゴン




15          Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
MapReduceのおおまかな設計

 –Mapper

     –住所ポリゴンデータと、ある地点の緯度経度のデータを同じキ
     ーで出力

 –Reducer

     –同じキーにまとまっている場合、地点データが住所ポリゴンデ
     ータに含まれている。つまりその地点の住所がわかる。



 →Mapのキーは何にするか?

16            Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
GeoHash

 –緯度経度を英数字の文字列で表すアルゴリズム

     –35.65861, 139.745447 → xn76ggrw26

 –文字列の長さが精度に比例する

     –文字列が短いとおおまかなエリア、長いとピンポイントのエリア

 –点としてだけでなく、ある範囲(グリッド)を表すことが可能




17                Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
XN76GGR
                                                             XN76GGRW
     (123.60m x 152.27m)
                                                             (30.90m x 19.03m)

          XN76GGRW2
          (3.86 m x 4.76m)

                                XN76GGRW26
                                 (0.97m x 0.59m)




18         Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
19   Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
20   Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
21   Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
22   Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
23   Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Map

 –MultipleInputsで2種類のMapperを立ち上げる

 –Mapper1
     Key     ある地点の7桁GeoHash

     Value   ある地点のユニークID + 緯度経度

 –Mapper2

     Key     住所ポリゴンデータと交わる7桁GeoHash

     Value   GeoHashのメッシュ単位で抜き出したポリゴンデータ




24              Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Reduce

 –同じGeoHashの住所ポリゴンと地点がまとまって入力

 –ある地点が住所ポリゴンに含まれているかどうか、改めて演算

 –MapReduceの出力

     Key     ある地点のユニークID

     Value   住所文字列




25               Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
出力結果
     UID                                                                住所
     755a458181f0d0ce670ca6363ac3fcf15c5ec                              東京都西東京市谷戸町1丁目23
     ec9
     b9eb85ccad95dce44ba5ba56047c359a5ab2                               東京都西東京市ひばりが丘2丁目8
     5321
     c2bd76e39a900202cd89a8a62127975779c                                東京都西東京市ひばりが丘2丁目6
     3c5db
     25e82144eff068c13d7d04004681723c53c5                               東京都西東京市ひばりが丘2丁目7
     6c72
     a1f307a07f21cc5c43069f222a861fd3a0381                              東京都西東京市谷戸町3丁目20
     427
     0f88a6d126e9080de53d70b8771665a06d3                                東京都西東京市保谷町3丁目12
     b783c
     04a27655283486df6dde65cf31702310bd91                               東京都西東京市保谷町3丁目14
     13c3



26                     Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
検索インデックス生成




27   Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
検索インデックス生成
 –MapReduceの最も基本的なタスクの一つ
     –Hadoop MapReduceデザインパターンでも紹介されている
 –インデックス=本の索引

        apple.co.jp        Apple, iPad, iPhone, Macbook…

        yahoo.co.jp        Yahoo, オークション, ニュース, 検索, 地図…

        twitter.com        tsuda, ふぁぼり, なう, 個人, 見解…

        2ch.net            香具師, ガイシュツ, スマソ, 池沼, 希ガス…




28                Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
検索インデックス生成
 –単語をキーにしたURLのリストの形式に転置する
 –例えば、「地獄 ミサワ」で検索すると、その単語が含まれている
     URLがすぐにわかる

        iPhone         apple.co.jp, softbank.co.jp, apple.com…

        地獄             jigokuno.com, twitter.com, hatena.ne.jp…

        ググレカス          2ch.net, nicovideo.jp, google.co.jp…

        ミサワ            jigokuno.com, misawa.co.jp…




29               Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
MapReduceのおおまかな設計
 –Mapper
     –URLとページの内容を入力として、単語を抽出
     Key     単語

     Value   URL



 –Reducer

     Key     単語

     Value   URLのリスト


30                 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
実際の課題
 –インデックスには複数のフィールドがある
 –フィールドごとに単語を分割する方法が違う
     –フィールドと単語分割の種類

     URL                      タイトル                                         ページの内容
     完全一致                     2Gram                                        形態素解析


     –フィールドと単語分割の例
     labs.yahoo.co.jp         Yahoo!ラボ                                     実験的なサービス・機
                                                                           能・仕組みを…

     labs.yahoo.co.jp         Ya, ah, ho, oo,                              実験的, な, サービ
                              o!, !ラ, ラボ                                   ス, ・, 機能, ・, 仕組
                                                                           み, を…
31                 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
実際の課題
 –ユニークな文書番号を付与し、文書番号でソートする
 –文書内での単語のポジションや頻度を考慮する
     –検索インデックスの例
       単語       <文書番号: 文書内のポジションのリスト>…
       iPhone   <3: 104,202,1241>, <7: 3,190,1267>…


 –TFIDFの計算のために、単語ごとの文書数と、文書ごとの単語数を計
     算する
     –TFIDFは文書内で単語の重要度を測る指標の一つでランキングに
      用いられる
 –インデックスを圧縮する必要がある
32                 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
ABYSSの場合
 –社内の検索サービスをホスティングするプラットフォーム
     –30以上の社内サービスで使われている
 –検索インデックス作成処理の流れ


      前処理                                                                                    後処理

     文書番号をふる                                                                               MapReduceの
     数値インデックス                                                                              結果のファイルを
        作成                                                                                 一つのインデック
       etc…                                                                                 スにまとめる




33              Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Map
 –インデックスの元データが入力

       labs.yahoo.co.jp           Yahoo!ラボ                                     実験的なサービス・機
                                                                               能・仕組みを…


 –インデックスのスキーマファイルを読んで、単語の分割の種類ごとに処
     理を分岐
       完全一致                      2Gram                                        形態素解析


 –単語の正規化と、単語の分割を行う

      Key     フィールド名+単語+文書番号+ポジション+フィールド番号
      Value   文書番号+ポジション

34                  Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Shuffle

 –Partitioner

     –同じフィールドのデータは同じReducerに行くように分散

 –Comparator

     –単語のキー順にソート

     –単語が同じ場合は文書番号でソート

     –文書番号も同じ場合はポジションでソート

 –GroupingComparator

     –フィールド名+単語で、グルーピングしてReducerに渡す

35              Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Reduce

 –フィールド名+単語でグルーピング、単語、文書番号、ポジション
     でソートされて入力

 –MultipleOutputsでフィールドごとにファイルを出力

 –インデックスは圧縮して出力

     Key      単語
     Value    文書番号+ポジションのリスト



     ミサワ        <124: 12,135,1223>, <278,1278,2380>…
     iPhone     <3: 104,202,1241>, <7: 3,190,1267>…


36                  Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
機械学習




37   Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
機械学習とは?

 「データの中で見えているものを手がかりに、見えないものを予測
     する」

     –ページの内容がアダルトかどうか判定する

     –自分のプロフィールと条件に合ったお見合い相手を探す(
      Yahoo!お見合い)

     –検索結果を様々な指標に応じて最適にランキング

     –クエリや、コンテンツ、その人の興味に合った広告を表示

     –あるニュースに関連するニュースを表示

38            Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
機械学習によるランキング
 –検索結果を機械学習でランキングする

 –WEBページの様々な指標(=素性)を考える
     PageRank   クリック数                                リンク数                                  被リンク数
     50         2300                                 50                                    120


 –それぞれの素性に対して予め学習済みの重みが与えられているとする
     0.2        0.01                                 -0.02                                 0.05

 –掛け合わせたものをスコアとして検索結果をランキングする

     スコア = 50×0.2+2300×0.01+50×-0.02+120×0.05=53

 –重みさえわかれば、ランキングができる
39              Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
重みの学習
 –重みをどう学習するかがポイント

 –あらかじめ、素性とスコアのペア(=正解データ)を用意しておく

     正解スコア   PageRank                クリック数                        リンク数                       被リンク数
     30      50                      2300                         50                         120
     22      45                      1200                         100                        20


 –正解データを元に、重みを学習していく




40                Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
重みの学習

 –オンライン学習

     –正解データを一件ずつ見ていって、重みを更新する

     –実装が容易

     –ノイズが含まれていたり、素性が多い場合に有効

 –バッチ学習

     –すべての正解データを見て重みを更新する

     –実装が難解

     –情報量が多いので、精度が高くなる場合が多い

41            Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
オンライン学習
 –正解データを一つ見て、古い重みを新しい重みに更新する

     新しい重み = 古い重み – 適当な係数 × (予測スコア - 正解スコア)
     × 正解データ
     古い重み    0.2                    0.01                        -0.02                     0.05
                                                 |
                                          0.001 ×(53 - 58)
                                                ×
     正解データ   50                     2300                        50                        120
                                                           ||
     新しい重み 0.205                    11.51                       -0.015                    0.005

 –オンライン学習をMapReduceで行いたい

42                 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Iterative Parameter Mixing



                  Mapper                      Mapper                        Mapper
                  重みベクトル                      重みベクトル                        重みベクトル
                   を更新                         を更新                           を更新




                                             Reducer
                                              重みベクトル
                                               を平均
 [Mann et al. 09]
 [Mcdonald et al. 10]

43                      Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
MapReduce
 – Mapper

     – 正解データを入力

     – 前回の繰り返しの重みをMapの初期化処理で読み込んでおく

     – オンライン学習で、重みを更新

      Key     なし
      Value   重み

 – Reducer

     – Reducerは一つだけ立ち上げる

     – 重みを平均して出力する

 – このMapReduceを繰り返す
44                 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
GBDT

 –実際には精度が高い決定木ベースのGBDTという手法が使われ
     ている

 –決定木とは?
                                            クリック数 > 3000



                 PageRank > 30                                                     被リンク数 > 100




           クリック数 > 1200                            60                               70           100




      20                45
45                   Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
GBDT

 –複数の決定木のスコアを足し合わせて、結果のスコアを決定




正解データ                                                                                   =合計スコア
       +
の平均スコア


      決定木1のスコア              決定木2のスコア                                         決定木nのスコア




46           Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
GBDTの学習プロセス

     正解データの平均スコア
     を元に決定木1を構築



 正解データ
        +
 の平均スコア

            決定木1                              決定木2                                      決定木n




47           Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
GBDTの学習プロセス

       決定木1までの学習結果
       を元に決定木2を学習




 正解データ
        +
 の平均スコア

            決定木1                              決定木2                                      決定木n




48           Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
GBDTの学習プロセス

                      決定木n-1までの学習結果
                      を元に決定木nを学習




 正解データ
        +
 の平均スコア

            決定木1                              決定木2                                      決定木n




49           Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
決定木の構築

 –どの素性をどの値で、決定木の枝を分岐するかを決定



                                              ?




50       Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
決定木の構築

 –実際に学習データを分岐させてスコアをアップデート



                                    クリック数 > 3000



        60                                                                              70




51           Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
決定木の構築

 –次の枝をどう分岐させたらいいかを決定



                                クリック数 > 3000



                                                                                    70
          ?




52       Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
決定木の構築

 –これを繰り返し、一定の深さになったところで、中断



                                           クリック数 > 3000



                PageRank > 30                                                     被リンク数 > 100




          クリック数 > 1200                            60                               70           100




     20                45
53                  Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
MapReduceで分散
 –MapReduceで分散可能なのは決定木の構築                                                              [Jerry et al. 10]

     –どう決定木の枝を分岐させるか

     –学習データを分岐させてスコアをアップデート

 –GDBTの学習プロセス自体はシーケンシャルなので、決定木の構築を
     決定木の数だけ繰り返す

 –ちなみに決定木の数も予め与える


             →                                       →               →




54          Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
枝の分岐
 –正解スコアと予測スコアの差の平均の二乗が最小になるように分岐

                                                                                               最小にな
                                          クリック数 > 3000
                                                                                               るように

              -30 × -30                                 +                              7×7     =    139

 –すべての素性に対して、どこで分割するかをすべての場合について計
     算すればよい                                  クリック数                                                 クリック数
                                             はソート済                                                 > 3000

           クリック数            PageRank                     リンク数                          被リンク数
           1923             34                           87                            14
 左に分岐
           2399             15                           25                            158
     右に分岐 3400              92                           102                           245
55                 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
MapReduce~水平分割~

 –水平に分割する場合


     Mapper1    クリック数                  PageRank                     リンク数                      被リンク数
                1923                   34                           87                        14
     Mapper2    2399                   15                           25                        158
                3400                   92                           102                       245
     Mapper3




56                 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
MapReduce~水平分割~

 –Mapper

     –ある学習データのすべての素性に対して以下を出力

     Key     素性の名前 + 素性の値
     Value   正解スコアと予測スコアの差+重み


 –Reducer

     –ある素性について、素性の値がソートされて入力される
     Key     素性の名前 + 素性の値
     Value   正解スコアと予測スコアの差の和+重みの和



57               Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
MapReduce~水平分割~

 –後処理で、MapReduceの結果のデータを逐次見ていって、どの
     素性でどの値で分割するかを決定する

         クリック数                        正解スコアと予測スコアの差
         1923                         -3
                                                                                           1×1
         2399                         5
                                                                                            +
         3400                         3
                                                                                           3×3
                                                                                            ||
                                                                           最小にな            10
                                                                           るように




58              Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
MapReduce~垂直分割~

 –垂直に分割する場合


       クリック数                   PageRank                     リンク数                      被リンク数
       1923                    34                           87                        14
       2399                    15                           25                        158
       3400                    92                           102                       245



       Mapper1                   Mapper2                          Mapper3                   Mapper4




59         Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
MapReduce~垂直分割~

 –Mapper

     –ある素性のすべての値をソートし、ベストな分岐ポイントを見つ
     ける

     –一つのMapperで一つのKey/Valueを出力

      Key     正解スコアと予測スコアの差の平均の二乗の最小値
      Value   素性の情報


 –Reducer

     –そのまま出力すれば、最小の分岐ポイントが一番上に来る

60               Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
分散方法の比較

 –水平分割は、データの数だけスケールする一方で、後処理に時
     間がかかる

 –垂直分割は、後処理が必要ない一方で、素性の数しかスケール
     しない

 –実は、MapReduceを使わずにMPIで分散させる方法が一番速い

 –HadoopのHDFSだけを使い、Hadoopのノード上でOpenMPIを使っ
     て分散を行なっている



61           Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
まとめ




62   Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
まとめ
 –MapReduceはシンプルながらも、柔軟なフレームワーク
 –現実の問題に対して、MapReduceをどう設計していくか
 –必ずしもMapReduceが最適ではない場合もある
 –Yahoo! JAPANはこれからもHadoopを活用していきます




63         Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Hadoopの連載記事

 –いまさら聞けないHadoopとテキストマイニング入門
 –機械学習、Iterative Parameter Mixingでの分散方法を解説




     http://www.atmarkit.co.jp/fjava/rensai4/hadoop_tm01/01.html
64                Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
東京Node学園

 –アジア最大のNode.jsイベント、10/29 at Yahoo! JAPAN
 –Node.jsの作者などが講演します。




                     http://nodefest.jp/2011/
65          Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
ご静聴ありがとうございました!




66     Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Mais conteúdo relacionado

Mais procurados

211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解するTakuya Nishimoto
 
SakataMoriLab GNN勉強会第一回資料
SakataMoriLab GNN勉強会第一回資料SakataMoriLab GNN勉強会第一回資料
SakataMoriLab GNN勉強会第一回資料ttt_miura
 
Rust と Wasmの現実
Rust と Wasmの現実Rust と Wasmの現実
Rust と Wasmの現実ShogoTagami1
 
【機械学習勉強会】画像の翻訳 ”Image-to-Image translation”
【機械学習勉強会】画像の翻訳 ”Image-to-Image translation” 【機械学習勉強会】画像の翻訳 ”Image-to-Image translation”
【機械学習勉強会】画像の翻訳 ”Image-to-Image translation” yoshitaka373
 
信頼できるAIシステム開発の勘どころ ~AI開発方法論×AI品質保証~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
信頼できるAIシステム開発の勘どころ ~AI開発方法論×AI品質保証~(NTTデータ テクノロジーカンファレンス 2020 発表資料)信頼できるAIシステム開発の勘どころ ~AI開発方法論×AI品質保証~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
信頼できるAIシステム開発の勘どころ ~AI開発方法論×AI品質保証~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
NVIDIA/deepopsを触ってみた話
NVIDIA/deepopsを触ってみた話NVIDIA/deepopsを触ってみた話
NVIDIA/deepopsを触ってみた話Kota Tsuyuzaki
 
強力なグラフィック機能を備えた組版処理システムTwightの開発
強力なグラフィック機能を備えた組版処理システムTwightの開発強力なグラフィック機能を備えた組版処理システムTwightの開発
強力なグラフィック機能を備えた組版処理システムTwightの開発WadaYuto
 
自動運転技術を活用した運転技能教習システムのご紹介
自動運転技術を活用した運転技能教習システムのご紹介自動運転技術を活用した運転技能教習システムのご紹介
自動運転技術を活用した運転技能教習システムのご紹介Tier_IV
 
OpenAI FineTuning を試してみる
OpenAI FineTuning を試してみるOpenAI FineTuning を試してみる
OpenAI FineTuning を試してみるiPride Co., Ltd.
 
semantic segmentation サーベイ
semantic segmentation サーベイsemantic segmentation サーベイ
semantic segmentation サーベイyohei okawa
 
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Hideki Tsunashima
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門Toru Matsuoka
 
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習Masahiro Suzuki
 
大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れる大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れるShuhei Iitsuka
 
私は如何にして心配するのを止めてPyTorchを愛するようになったか
私は如何にして心配するのを止めてPyTorchを愛するようになったか私は如何にして心配するのを止めてPyTorchを愛するようになったか
私は如何にして心配するのを止めてPyTorchを愛するようになったかYuta Kashino
 
実践で学ぶネットワーク分析
実践で学ぶネットワーク分析実践で学ぶネットワーク分析
実践で学ぶネットワーク分析Mitsunori Sato
 

Mais procurados (20)

211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
 
IROS2020 survey
IROS2020 surveyIROS2020 survey
IROS2020 survey
 
Semantic segmentation
Semantic segmentationSemantic segmentation
Semantic segmentation
 
SakataMoriLab GNN勉強会第一回資料
SakataMoriLab GNN勉強会第一回資料SakataMoriLab GNN勉強会第一回資料
SakataMoriLab GNN勉強会第一回資料
 
Rust と Wasmの現実
Rust と Wasmの現実Rust と Wasmの現実
Rust と Wasmの現実
 
【機械学習勉強会】画像の翻訳 ”Image-to-Image translation”
【機械学習勉強会】画像の翻訳 ”Image-to-Image translation” 【機械学習勉強会】画像の翻訳 ”Image-to-Image translation”
【機械学習勉強会】画像の翻訳 ”Image-to-Image translation”
 
信頼できるAIシステム開発の勘どころ ~AI開発方法論×AI品質保証~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
信頼できるAIシステム開発の勘どころ ~AI開発方法論×AI品質保証~(NTTデータ テクノロジーカンファレンス 2020 発表資料)信頼できるAIシステム開発の勘どころ ~AI開発方法論×AI品質保証~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
信頼できるAIシステム開発の勘どころ ~AI開発方法論×AI品質保証~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
NVIDIA/deepopsを触ってみた話
NVIDIA/deepopsを触ってみた話NVIDIA/deepopsを触ってみた話
NVIDIA/deepopsを触ってみた話
 
強力なグラフィック機能を備えた組版処理システムTwightの開発
強力なグラフィック機能を備えた組版処理システムTwightの開発強力なグラフィック機能を備えた組版処理システムTwightの開発
強力なグラフィック機能を備えた組版処理システムTwightの開発
 
自動運転技術を活用した運転技能教習システムのご紹介
自動運転技術を活用した運転技能教習システムのご紹介自動運転技術を活用した運転技能教習システムのご紹介
自動運転技術を活用した運転技能教習システムのご紹介
 
OpenAI FineTuning を試してみる
OpenAI FineTuning を試してみるOpenAI FineTuning を試してみる
OpenAI FineTuning を試してみる
 
semantic segmentation サーベイ
semantic segmentation サーベイsemantic segmentation サーベイ
semantic segmentation サーベイ
 
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門
 
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習
 
大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れる大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れる
 
SLAM勉強会(PTAM)
SLAM勉強会(PTAM)SLAM勉強会(PTAM)
SLAM勉強会(PTAM)
 
私は如何にして心配するのを止めてPyTorchを愛するようになったか
私は如何にして心配するのを止めてPyTorchを愛するようになったか私は如何にして心配するのを止めてPyTorchを愛するようになったか
私は如何にして心配するのを止めてPyTorchを愛するようになったか
 
実践で学ぶネットワーク分析
実践で学ぶネットワーク分析実践で学ぶネットワーク分析
実践で学ぶネットワーク分析
 

Destaque

GBDTを使ったfeature transformationの適用例
GBDTを使ったfeature transformationの適用例GBDTを使ったfeature transformationの適用例
GBDTを使ったfeature transformationの適用例Takanori Nakai
 
実世界の人工知能@DeNA TechCon 2017
実世界の人工知能@DeNA TechCon 2017 実世界の人工知能@DeNA TechCon 2017
実世界の人工知能@DeNA TechCon 2017 Preferred Networks
 
美团技术沙龙02 - O2O排序解决方案
美团技术沙龙02 - O2O排序解决方案美团技术沙龙02 - O2O排序解决方案
美团技术沙龙02 - O2O排序解决方案美团点评技术团队
 
Drill architecture 20120913
Drill architecture 20120913Drill architecture 20120913
Drill architecture 20120913jasonfrantz
 
[UniteKorea2013] Serialization in Depth
[UniteKorea2013] Serialization in Depth[UniteKorea2013] Serialization in Depth
[UniteKorea2013] Serialization in DepthWilliam Hugo Yang
 
Futures Trading Strategies on SGX - India chapter in AFACT in Singapore
Futures Trading Strategies on SGX - India chapter in AFACT in SingaporeFutures Trading Strategies on SGX - India chapter in AFACT in Singapore
Futures Trading Strategies on SGX - India chapter in AFACT in SingaporeQuantInsti
 
Trading system in stock exchange
Trading system in stock exchangeTrading system in stock exchange
Trading system in stock exchangeSumit Behura
 
Mechanical trading system based on renko charts
Mechanical trading system based on renko chartsMechanical trading system based on renko charts
Mechanical trading system based on renko chartsRaul Canessa
 
Application design for MiFID II-compliant operations
Application design for MiFID II-compliant operationsApplication design for MiFID II-compliant operations
Application design for MiFID II-compliant operationsLászló Árvai
 
Technology Edge in Algo Trading: Traditional Vs Automated Trading System Arch...
Technology Edge in Algo Trading: Traditional Vs Automated Trading System Arch...Technology Edge in Algo Trading: Traditional Vs Automated Trading System Arch...
Technology Edge in Algo Trading: Traditional Vs Automated Trading System Arch...QuantInsti
 
How to build a trading system
How to build a trading systemHow to build a trading system
How to build a trading systemFXstreet.com
 
Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Sri Prasanna
 
Low Latency Execution For Apache Spark
Low Latency Execution For Apache SparkLow Latency Execution For Apache Spark
Low Latency Execution For Apache SparkJen Aman
 
Mutual Exclusion Election (Distributed computing)
Mutual Exclusion Election (Distributed computing)Mutual Exclusion Election (Distributed computing)
Mutual Exclusion Election (Distributed computing)Sri Prasanna
 
EXTENT-2015: MiFID II Projected Impact on Trading Technology
EXTENT-2015: MiFID II Projected Impact on Trading TechnologyEXTENT-2015: MiFID II Projected Impact on Trading Technology
EXTENT-2015: MiFID II Projected Impact on Trading TechnologyIosif Itkin
 
Bayesian Dark Knowledge and Matrix Factorization
Bayesian Dark Knowledge and Matrix FactorizationBayesian Dark Knowledge and Matrix Factorization
Bayesian Dark Knowledge and Matrix FactorizationPreferred Networks
 
Google Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサGoogle Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサGoogle Cloud Platform - Japan
 
Google Dremel. Concept and Implementations.
Google Dremel. Concept and Implementations.Google Dremel. Concept and Implementations.
Google Dremel. Concept and Implementations.Vicente Orjales
 

Destaque (20)

GBDTを使ったfeature transformationの適用例
GBDTを使ったfeature transformationの適用例GBDTを使ったfeature transformationの適用例
GBDTを使ったfeature transformationの適用例
 
実世界の人工知能@DeNA TechCon 2017
実世界の人工知能@DeNA TechCon 2017 実世界の人工知能@DeNA TechCon 2017
実世界の人工知能@DeNA TechCon 2017
 
美团技术沙龙02 - O2O排序解决方案
美团技术沙龙02 - O2O排序解决方案美团技术沙龙02 - O2O排序解决方案
美团技术沙龙02 - O2O排序解决方案
 
Drill architecture 20120913
Drill architecture 20120913Drill architecture 20120913
Drill architecture 20120913
 
[UniteKorea2013] Serialization in Depth
[UniteKorea2013] Serialization in Depth[UniteKorea2013] Serialization in Depth
[UniteKorea2013] Serialization in Depth
 
Futures Trading Strategies on SGX - India chapter in AFACT in Singapore
Futures Trading Strategies on SGX - India chapter in AFACT in SingaporeFutures Trading Strategies on SGX - India chapter in AFACT in Singapore
Futures Trading Strategies on SGX - India chapter in AFACT in Singapore
 
Trading system in stock exchange
Trading system in stock exchangeTrading system in stock exchange
Trading system in stock exchange
 
Mechanical trading system based on renko charts
Mechanical trading system based on renko chartsMechanical trading system based on renko charts
Mechanical trading system based on renko charts
 
Application design for MiFID II-compliant operations
Application design for MiFID II-compliant operationsApplication design for MiFID II-compliant operations
Application design for MiFID II-compliant operations
 
Technology Edge in Algo Trading: Traditional Vs Automated Trading System Arch...
Technology Edge in Algo Trading: Traditional Vs Automated Trading System Arch...Technology Edge in Algo Trading: Traditional Vs Automated Trading System Arch...
Technology Edge in Algo Trading: Traditional Vs Automated Trading System Arch...
 
Google's Dremel
Google's DremelGoogle's Dremel
Google's Dremel
 
How to build a trading system
How to build a trading systemHow to build a trading system
How to build a trading system
 
Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)
 
Low Latency Execution For Apache Spark
Low Latency Execution For Apache SparkLow Latency Execution For Apache Spark
Low Latency Execution For Apache Spark
 
Mutual Exclusion Election (Distributed computing)
Mutual Exclusion Election (Distributed computing)Mutual Exclusion Election (Distributed computing)
Mutual Exclusion Election (Distributed computing)
 
EXTENT-2015: MiFID II Projected Impact on Trading Technology
EXTENT-2015: MiFID II Projected Impact on Trading TechnologyEXTENT-2015: MiFID II Projected Impact on Trading Technology
EXTENT-2015: MiFID II Projected Impact on Trading Technology
 
MapReduce入門
MapReduce入門MapReduce入門
MapReduce入門
 
Bayesian Dark Knowledge and Matrix Factorization
Bayesian Dark Knowledge and Matrix FactorizationBayesian Dark Knowledge and Matrix Factorization
Bayesian Dark Knowledge and Matrix Factorization
 
Google Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサGoogle Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサ
 
Google Dremel. Concept and Implementations.
Google Dremel. Concept and Implementations.Google Dremel. Concept and Implementations.
Google Dremel. Concept and Implementations.
 

Semelhante a MapReduceによる大規模データ処理 at Yahoo! JAPAN

Hadoop~Yahoo!Japanの活用について
Hadoop~Yahoo!Japanの活用についてHadoop~Yahoo!Japanの活用について
Hadoop~Yahoo!Japanの活用についてkaminashi
 
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方リクルート式Hadoopの使い方
リクルート式Hadoopの使い方Recruit Technologies
 
Apache Solrで実現する共創のエコ システム ‒検索、クロール、自然言語処理‒
Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒
Apache Solrで実現する共創のエコ システム ‒検索、クロール、自然言語処理‒MasayukiIke
 
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話Terui Masashi
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展Recruit Technologies
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
Hadoop conferencejapan2011
Hadoop conferencejapan2011Hadoop conferencejapan2011
Hadoop conferencejapan2011Ichiro Fukuda
 
【A-3】次世代ジオロケーション サービスの開発手法 河合太郎 氏
【A-3】次世代ジオロケーション サービスの開発手法 河合太郎 氏【A-3】次世代ジオロケーション サービスの開発手法 河合太郎 氏
【A-3】次世代ジオロケーション サービスの開発手法 河合太郎 氏Developers Summit
 
Re:dash Use Cases at iPROS
Re:dash Use Cases at iPROSRe:dash Use Cases at iPROS
Re:dash Use Cases at iPROSJumpei Yokota
 
ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-Koichi Hamada
 
20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー20130313 OSCA Hadoopセミナー
20130313 OSCA HadoopセミナーIchiro Fukuda
 
ロケタッチの裏側
ロケタッチの裏側ロケタッチの裏側
ロケタッチの裏側livedoor
 

Semelhante a MapReduceによる大規模データ処理 at Yahoo! JAPAN (20)

Hadoop~Yahoo! JAPANの活用について~
Hadoop~Yahoo! JAPANの活用について~Hadoop~Yahoo! JAPANの活用について~
Hadoop~Yahoo! JAPANの活用について~
 
Hadoop~Yahoo! JAPANの活用について~
Hadoop~Yahoo! JAPANの活用について~Hadoop~Yahoo! JAPANの活用について~
Hadoop~Yahoo! JAPANの活用について~
 
Hadoop~Yahoo! JAPANの活用について~
Hadoop~Yahoo! JAPANの活用について~Hadoop~Yahoo! JAPANの活用について~
Hadoop~Yahoo! JAPANの活用について~
 
Hadoop~Yahoo!Japanの活用について
Hadoop~Yahoo!Japanの活用についてHadoop~Yahoo!Japanの活用について
Hadoop~Yahoo!Japanの活用について
 
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方リクルート式Hadoopの使い方
リクルート式Hadoopの使い方
 
Hadoop ~Yahoo! JAPANの活用について~
Hadoop ~Yahoo! JAPANの活用について~Hadoop ~Yahoo! JAPANの活用について~
Hadoop ~Yahoo! JAPANの活用について~
 
Apache Solrで実現する共創のエコ システム ‒検索、クロール、自然言語処理‒
Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒
Apache Solrで実現する共創のエコ システム ‒検索、クロール、自然言語処理‒
 
kukai: 省エネ世界2位のディープラーニング・スパコン
kukai: 省エネ世界2位のディープラーニング・スパコンkukai: 省エネ世界2位のディープラーニング・スパコン
kukai: 省エネ世界2位のディープラーニング・スパコン
 
マルチビッグデータの活用を支える DWHの作り方
マルチビッグデータの活用を支える DWHの作り方マルチビッグデータの活用を支える DWHの作り方
マルチビッグデータの活用を支える DWHの作り方
 
YOLP とスマートフォン向け 地図SDKのご紹介
YOLP とスマートフォン向け 地図SDKのご紹介YOLP とスマートフォン向け 地図SDKのご紹介
YOLP とスマートフォン向け 地図SDKのご紹介
 
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
Storm の新機能について @HSCR #hadoopreading
Storm の新機能について @HSCR #hadoopreadingStorm の新機能について @HSCR #hadoopreading
Storm の新機能について @HSCR #hadoopreading
 
Hadoop conferencejapan2011
Hadoop conferencejapan2011Hadoop conferencejapan2011
Hadoop conferencejapan2011
 
【A-3】次世代ジオロケーション サービスの開発手法 河合太郎 氏
【A-3】次世代ジオロケーション サービスの開発手法 河合太郎 氏【A-3】次世代ジオロケーション サービスの開発手法 河合太郎 氏
【A-3】次世代ジオロケーション サービスの開発手法 河合太郎 氏
 
Re:dash Use Cases at iPROS
Re:dash Use Cases at iPROSRe:dash Use Cases at iPROS
Re:dash Use Cases at iPROS
 
ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-
 
20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー
 
ロケタッチの裏側
ロケタッチの裏側ロケタッチの裏側
ロケタッチの裏側
 

Mais de Yahoo!デベロッパーネットワーク

ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかYahoo!デベロッパーネットワーク
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2Yahoo!デベロッパーネットワーク
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcYahoo!デベロッパーネットワーク
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo!デベロッパーネットワーク
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcYahoo!デベロッパーネットワーク
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtcYahoo!デベロッパーネットワーク
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcYahoo!デベロッパーネットワーク
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcYahoo!デベロッパーネットワーク
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcYahoo!デベロッパーネットワーク
 

Mais de Yahoo!デベロッパーネットワーク (20)

ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
 
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
 
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
 
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
 
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
 
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability FeaturePersistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
 
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
 
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
 
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
 
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
 
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
 

MapReduceによる大規模データ処理 at Yahoo! JAPAN

  • 1. MapReduceによる大規模データ処理 at Yahoo! JAPAN 2011/09/26 ヤフー株式会社 R&D統括本部 角田直行、吉田一星
  • 2. 自己紹介 角田 直行(かくだ なおゆき) R&D統括本部 プラットフォーム開発本部検索開発部 開発4 – 2005年 ヤフー株式会社入社 – Yahoo!地図 – Yahoo!路線 – Yahoo!検索 … – 2011年現在、検索プラットフォームを開発中 1 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 3. 自己紹介 吉田 一星(よしだ いっせい) R&D統括本部 プラットフォーム開発本部検索開発部 開発4 – 2008年 ヤフー株式会社入社 – 検索プラットフォームでHadoopに関する開発 – 画像処理、iPhone向け技術開発にも関わる 2 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 4. Agenda –Yahoo! JAPANでの事例 –MapReduceによるアルゴリズムデザイン –まとめ 3 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 5. Yahoo! JAPANでの事例 4 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 6. Hadoop at Yahoo! JAPAN 検索プラットフォーム アクセスログデータ 広告プラットフォーム プラットフォーム レコメンデーションプ 地域APIプラットフォーム ラットフォーム 様々なYahoo! JAPANのサービスを支えるプラットフォームで、 Hadoopが使われています 5 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 7. Yahoo! JAPANの検索サービス –例えば、Yahoo! JAPANの検索サービスでは・・・ 検索のログをHadoop サービスに検索機能を提供 で分析してデータ提供 検索ログプラット 検索プラットフォーム フォーム (ABYSS) 6 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 8. Yahoo!検索 –検索ログプラットフォームのデータを元に様々な機能を提供 キーワード入力補助→ 関連検索ワード→ ショートカットの 表示制御→ 7 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 9. Yahoo!検索 リアルタイム検索 –検索プラットフォーム(ABYSS)が検索機能を提供 –Twitter社が提供した、リアルタイムのツイートデータを、ABYSS 側に送ってインデクシング 8 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 10. Yahoo!オークション – おすすめのオーション Hadoopで解析したデ ータを提供 レコメンデーション プラットフォーム 9 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 11. MapReduceのアルゴリズムデザイン 10 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 12. 11 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 13. MapReduceのアルゴリズムデザイン –Yahoo! JAPANでの実例を交えながら、MapReduceでどうアルゴ リズムをデザインするか、解説します。 –空間解析 –検索インデックス作成 –機械学習 12 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 14. 空間解析 13 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 15. 空間解析 –位置関係を利用した検索を行いたい –今いる場所から一番近いコンビニ –港区にある図書館 –駅から5分のマンション –環状7号線沿いのラーメン屋 14 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 16. リバースジオコーダー –緯度経度から住所を求める 含まれるかどうか ある地点 住所ポリゴン 15 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 17. MapReduceのおおまかな設計 –Mapper –住所ポリゴンデータと、ある地点の緯度経度のデータを同じキ ーで出力 –Reducer –同じキーにまとまっている場合、地点データが住所ポリゴンデ ータに含まれている。つまりその地点の住所がわかる。 →Mapのキーは何にするか? 16 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 18. GeoHash –緯度経度を英数字の文字列で表すアルゴリズム –35.65861, 139.745447 → xn76ggrw26 –文字列の長さが精度に比例する –文字列が短いとおおまかなエリア、長いとピンポイントのエリア –点としてだけでなく、ある範囲(グリッド)を表すことが可能 17 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 19. XN76GGR XN76GGRW (123.60m x 152.27m) (30.90m x 19.03m) XN76GGRW2 (3.86 m x 4.76m) XN76GGRW26 (0.97m x 0.59m) 18 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 20. 19 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 21. 20 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 22. 21 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 23. 22 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 24. 23 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 25. Map –MultipleInputsで2種類のMapperを立ち上げる –Mapper1 Key ある地点の7桁GeoHash Value ある地点のユニークID + 緯度経度 –Mapper2 Key 住所ポリゴンデータと交わる7桁GeoHash Value GeoHashのメッシュ単位で抜き出したポリゴンデータ 24 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 26. Reduce –同じGeoHashの住所ポリゴンと地点がまとまって入力 –ある地点が住所ポリゴンに含まれているかどうか、改めて演算 –MapReduceの出力 Key ある地点のユニークID Value 住所文字列 25 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 27. 出力結果 UID 住所 755a458181f0d0ce670ca6363ac3fcf15c5ec 東京都西東京市谷戸町1丁目23 ec9 b9eb85ccad95dce44ba5ba56047c359a5ab2 東京都西東京市ひばりが丘2丁目8 5321 c2bd76e39a900202cd89a8a62127975779c 東京都西東京市ひばりが丘2丁目6 3c5db 25e82144eff068c13d7d04004681723c53c5 東京都西東京市ひばりが丘2丁目7 6c72 a1f307a07f21cc5c43069f222a861fd3a0381 東京都西東京市谷戸町3丁目20 427 0f88a6d126e9080de53d70b8771665a06d3 東京都西東京市保谷町3丁目12 b783c 04a27655283486df6dde65cf31702310bd91 東京都西東京市保谷町3丁目14 13c3 26 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 28. 検索インデックス生成 27 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 29. 検索インデックス生成 –MapReduceの最も基本的なタスクの一つ –Hadoop MapReduceデザインパターンでも紹介されている –インデックス=本の索引 apple.co.jp Apple, iPad, iPhone, Macbook… yahoo.co.jp Yahoo, オークション, ニュース, 検索, 地図… twitter.com tsuda, ふぁぼり, なう, 個人, 見解… 2ch.net 香具師, ガイシュツ, スマソ, 池沼, 希ガス… 28 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 30. 検索インデックス生成 –単語をキーにしたURLのリストの形式に転置する –例えば、「地獄 ミサワ」で検索すると、その単語が含まれている URLがすぐにわかる iPhone apple.co.jp, softbank.co.jp, apple.com… 地獄 jigokuno.com, twitter.com, hatena.ne.jp… ググレカス 2ch.net, nicovideo.jp, google.co.jp… ミサワ jigokuno.com, misawa.co.jp… 29 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 31. MapReduceのおおまかな設計 –Mapper –URLとページの内容を入力として、単語を抽出 Key 単語 Value URL –Reducer Key 単語 Value URLのリスト 30 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 32. 実際の課題 –インデックスには複数のフィールドがある –フィールドごとに単語を分割する方法が違う –フィールドと単語分割の種類 URL タイトル ページの内容 完全一致 2Gram 形態素解析 –フィールドと単語分割の例 labs.yahoo.co.jp Yahoo!ラボ 実験的なサービス・機 能・仕組みを… labs.yahoo.co.jp Ya, ah, ho, oo, 実験的, な, サービ o!, !ラ, ラボ ス, ・, 機能, ・, 仕組 み, を… 31 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 33. 実際の課題 –ユニークな文書番号を付与し、文書番号でソートする –文書内での単語のポジションや頻度を考慮する –検索インデックスの例 単語 <文書番号: 文書内のポジションのリスト>… iPhone <3: 104,202,1241>, <7: 3,190,1267>… –TFIDFの計算のために、単語ごとの文書数と、文書ごとの単語数を計 算する –TFIDFは文書内で単語の重要度を測る指標の一つでランキングに 用いられる –インデックスを圧縮する必要がある 32 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 34. ABYSSの場合 –社内の検索サービスをホスティングするプラットフォーム –30以上の社内サービスで使われている –検索インデックス作成処理の流れ 前処理 後処理 文書番号をふる MapReduceの 数値インデックス 結果のファイルを 作成 一つのインデック etc… スにまとめる 33 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 35. Map –インデックスの元データが入力 labs.yahoo.co.jp Yahoo!ラボ 実験的なサービス・機 能・仕組みを… –インデックスのスキーマファイルを読んで、単語の分割の種類ごとに処 理を分岐 完全一致 2Gram 形態素解析 –単語の正規化と、単語の分割を行う Key フィールド名+単語+文書番号+ポジション+フィールド番号 Value 文書番号+ポジション 34 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 36. Shuffle –Partitioner –同じフィールドのデータは同じReducerに行くように分散 –Comparator –単語のキー順にソート –単語が同じ場合は文書番号でソート –文書番号も同じ場合はポジションでソート –GroupingComparator –フィールド名+単語で、グルーピングしてReducerに渡す 35 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 37. Reduce –フィールド名+単語でグルーピング、単語、文書番号、ポジション でソートされて入力 –MultipleOutputsでフィールドごとにファイルを出力 –インデックスは圧縮して出力 Key 単語 Value 文書番号+ポジションのリスト ミサワ <124: 12,135,1223>, <278,1278,2380>… iPhone <3: 104,202,1241>, <7: 3,190,1267>… 36 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 38. 機械学習 37 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 39. 機械学習とは? 「データの中で見えているものを手がかりに、見えないものを予測 する」 –ページの内容がアダルトかどうか判定する –自分のプロフィールと条件に合ったお見合い相手を探す( Yahoo!お見合い) –検索結果を様々な指標に応じて最適にランキング –クエリや、コンテンツ、その人の興味に合った広告を表示 –あるニュースに関連するニュースを表示 38 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 40. 機械学習によるランキング –検索結果を機械学習でランキングする –WEBページの様々な指標(=素性)を考える PageRank クリック数 リンク数 被リンク数 50 2300 50 120 –それぞれの素性に対して予め学習済みの重みが与えられているとする 0.2 0.01 -0.02 0.05 –掛け合わせたものをスコアとして検索結果をランキングする スコア = 50×0.2+2300×0.01+50×-0.02+120×0.05=53 –重みさえわかれば、ランキングができる 39 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 41. 重みの学習 –重みをどう学習するかがポイント –あらかじめ、素性とスコアのペア(=正解データ)を用意しておく 正解スコア PageRank クリック数 リンク数 被リンク数 30 50 2300 50 120 22 45 1200 100 20 –正解データを元に、重みを学習していく 40 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 42. 重みの学習 –オンライン学習 –正解データを一件ずつ見ていって、重みを更新する –実装が容易 –ノイズが含まれていたり、素性が多い場合に有効 –バッチ学習 –すべての正解データを見て重みを更新する –実装が難解 –情報量が多いので、精度が高くなる場合が多い 41 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 43. オンライン学習 –正解データを一つ見て、古い重みを新しい重みに更新する 新しい重み = 古い重み – 適当な係数 × (予測スコア - 正解スコア) × 正解データ 古い重み 0.2 0.01 -0.02 0.05 | 0.001 ×(53 - 58) × 正解データ 50 2300 50 120 || 新しい重み 0.205 11.51 -0.015 0.005 –オンライン学習をMapReduceで行いたい 42 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 44. Iterative Parameter Mixing Mapper Mapper Mapper 重みベクトル 重みベクトル 重みベクトル を更新 を更新 を更新 Reducer 重みベクトル を平均 [Mann et al. 09] [Mcdonald et al. 10] 43 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 45. MapReduce – Mapper – 正解データを入力 – 前回の繰り返しの重みをMapの初期化処理で読み込んでおく – オンライン学習で、重みを更新 Key なし Value 重み – Reducer – Reducerは一つだけ立ち上げる – 重みを平均して出力する – このMapReduceを繰り返す 44 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 46. GBDT –実際には精度が高い決定木ベースのGBDTという手法が使われ ている –決定木とは? クリック数 > 3000 PageRank > 30 被リンク数 > 100 クリック数 > 1200 60 70 100 20 45 45 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 47. GBDT –複数の決定木のスコアを足し合わせて、結果のスコアを決定 正解データ =合計スコア + の平均スコア 決定木1のスコア 決定木2のスコア 決定木nのスコア 46 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 48. GBDTの学習プロセス 正解データの平均スコア を元に決定木1を構築 正解データ + の平均スコア 決定木1 決定木2 決定木n 47 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 49. GBDTの学習プロセス 決定木1までの学習結果 を元に決定木2を学習 正解データ + の平均スコア 決定木1 決定木2 決定木n 48 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 50. GBDTの学習プロセス 決定木n-1までの学習結果 を元に決定木nを学習 正解データ + の平均スコア 決定木1 決定木2 決定木n 49 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 51. 決定木の構築 –どの素性をどの値で、決定木の枝を分岐するかを決定 ? 50 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 52. 決定木の構築 –実際に学習データを分岐させてスコアをアップデート クリック数 > 3000 60 70 51 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 53. 決定木の構築 –次の枝をどう分岐させたらいいかを決定 クリック数 > 3000 70 ? 52 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 54. 決定木の構築 –これを繰り返し、一定の深さになったところで、中断 クリック数 > 3000 PageRank > 30 被リンク数 > 100 クリック数 > 1200 60 70 100 20 45 53 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 55. MapReduceで分散 –MapReduceで分散可能なのは決定木の構築 [Jerry et al. 10] –どう決定木の枝を分岐させるか –学習データを分岐させてスコアをアップデート –GDBTの学習プロセス自体はシーケンシャルなので、決定木の構築を 決定木の数だけ繰り返す –ちなみに決定木の数も予め与える → → → 54 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 56. 枝の分岐 –正解スコアと予測スコアの差の平均の二乗が最小になるように分岐 最小にな クリック数 > 3000 るように -30 × -30 + 7×7 = 139 –すべての素性に対して、どこで分割するかをすべての場合について計 算すればよい クリック数 クリック数 はソート済 > 3000 クリック数 PageRank リンク数 被リンク数 1923 34 87 14 左に分岐 2399 15 25 158 右に分岐 3400 92 102 245 55 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 57. MapReduce~水平分割~ –水平に分割する場合 Mapper1 クリック数 PageRank リンク数 被リンク数 1923 34 87 14 Mapper2 2399 15 25 158 3400 92 102 245 Mapper3 56 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 58. MapReduce~水平分割~ –Mapper –ある学習データのすべての素性に対して以下を出力 Key 素性の名前 + 素性の値 Value 正解スコアと予測スコアの差+重み –Reducer –ある素性について、素性の値がソートされて入力される Key 素性の名前 + 素性の値 Value 正解スコアと予測スコアの差の和+重みの和 57 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 59. MapReduce~水平分割~ –後処理で、MapReduceの結果のデータを逐次見ていって、どの 素性でどの値で分割するかを決定する クリック数 正解スコアと予測スコアの差 1923 -3 1×1 2399 5 + 3400 3 3×3 || 最小にな 10 るように 58 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 60. MapReduce~垂直分割~ –垂直に分割する場合 クリック数 PageRank リンク数 被リンク数 1923 34 87 14 2399 15 25 158 3400 92 102 245 Mapper1 Mapper2 Mapper3 Mapper4 59 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 61. MapReduce~垂直分割~ –Mapper –ある素性のすべての値をソートし、ベストな分岐ポイントを見つ ける –一つのMapperで一つのKey/Valueを出力 Key 正解スコアと予測スコアの差の平均の二乗の最小値 Value 素性の情報 –Reducer –そのまま出力すれば、最小の分岐ポイントが一番上に来る 60 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 62. 分散方法の比較 –水平分割は、データの数だけスケールする一方で、後処理に時 間がかかる –垂直分割は、後処理が必要ない一方で、素性の数しかスケール しない –実は、MapReduceを使わずにMPIで分散させる方法が一番速い –HadoopのHDFSだけを使い、Hadoopのノード上でOpenMPIを使っ て分散を行なっている 61 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 63. まとめ 62 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 64. まとめ –MapReduceはシンプルながらも、柔軟なフレームワーク –現実の問題に対して、MapReduceをどう設計していくか –必ずしもMapReduceが最適ではない場合もある –Yahoo! JAPANはこれからもHadoopを活用していきます 63 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 65. Hadoopの連載記事 –いまさら聞けないHadoopとテキストマイニング入門 –機械学習、Iterative Parameter Mixingでの分散方法を解説 http://www.atmarkit.co.jp/fjava/rensai4/hadoop_tm01/01.html 64 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 66. 東京Node学園 –アジア最大のNode.jsイベント、10/29 at Yahoo! JAPAN –Node.jsの作者などが講演します。 http://nodefest.jp/2011/ 65 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 67. ご静聴ありがとうございました! 66 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止