於 WWW論文読み会(webkai) 東京大学 岡崎直観(辻井研究室).  以下のURLに置いてあります ◦

Slides:



Advertisements
Similar presentations
1 広島大学 理学研究科 尾崎 裕介 石川 健一. 1. Graphic Processing Unit (GPU) とは? 2. Nvidia CUDA programming model 3. GPU の高速化 4. QCD with CUDA 5. 結果 6. まとめ 2.
Advertisements

授業展開#12 コンピュータの扱いにくい問 題. 扱いにくい問題  処理時間がかかる。  メモリを大量に必要とする。  プログラムの優劣、アルゴリズムの優劣 を比較するためには、標準的なコン ピュータで比較する必要がある。  処理時間を計るのに、コンピュータのモ デルとして、チューリングマシンを考え、
ファイル管理 フル機能を持つファイルマネージャ、無駄が なくすっきりしたフレッシュなユーザインタ フェース、手軽で使いやすい操作機能を備え 2画面表示が可能なファイルマネージャー。 ドラッグ&ドロップによる直感的な操作でファ イルやフォルダの移動・コピーが行えるほか、 ファイルの削除・共有・圧縮・解凍などもド.
インターネットの 仕組みとセキュリティ 高校 1 年「社会と情報」 ⑭. 1.インターネットの仕組み.
電子書籍の検索機能の改善 木下研究室 201002713 鴫原 善寿. 背景 スマートフォンなどの携帯端末の普及と ともに電子書籍に注目が浴びた。中でも amazon の kindle など電子書籍の専用端末も 現れた。 電子書籍はデータなので本棚もいらず、 持ち運びも容易になるなど様々な恩恵を もたらした。
Today’s Paper Hao Yan, Shuai Ding and Torsten Suel
【事例演習5】  字句解析     解 説  “ハッシュを用いた字句解析の方法”.
情報基礎A 情報科学研究科 徳山 豪.
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
ファイルキャッシュを考慮したディスク監視のオフロード
Chapter11-4(前半) 加藤健.
富山大学 公開講座 2008 「QRコードを作ろう!」 ~ QRコードを作ろう! ~.
JavaScript プログラミング入門 2006/11/10 神津.
アルゴリズムイントロダクション第2章 主にソートに関して
第11回 整列 ~ シェルソート,クイックソート ~
Excel による データベース入門 Ver /9.
第11回 整列 ~ バケットソート,基数ソート,ヒープソート~
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
JavaによるCAI学習ソフトウェアの開発
AllReduce アルゴリズムによる QR 分解の精度について
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
リンク構造を考慮したベクトル空間法によるWebグラフ分割手法に関する研究
アルゴリズムとデータ構造 補足資料7-3 「単純選択ソートselsort.c」
データ構造とアルゴリズム 分割統治 ~ マージソート~.
2012年度 情報数理 ~ QRコードを作ろう!(1) ~.
2008年度 情報数理 ~ QRコードを作ろう!(1) ~.
テキストの類似度計算
日本大学 文理学部 情報システム解析学科 谷研究室 益田真太郎
システム開発実験No.7        解 説       “論理式の簡略化方法”.
EBSCOhost 詳細検索 チュートリアル support.ebsco.com.
10.通信路符号化手法2 (誤り検出と誤り訂正符号)
IIR輪講復習 #5 Index compression
データ構造と アルゴリズム 第四回 知能情報学部 新田直也.
Semi-Supervised QA with Generative Domain-Adaptive Nets
2010年度 情報数理 ~ QRコードを作ろう!(1) ~.
分散処理を用いた大規模ソフトウェアに対するコーディングパターン検出ツール
アスペクト指向プログラミングを用いたIDSオフロード
Microsoft PowerPoint98 Netscape Communicator 4.06[ja]
IIR輪講復習 #1 Boolean retrieval
高速剰余算アルゴリズムとそのハードウェア実装についての研究
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
利用関係に基づく類似度を用いたJavaコンポーネント分類ツールの作成
環境リスクマネジメントに関する 検索システム
IIR輪講復習 #3 Dictionaries and tolerant retrieval (前半)
WWW上の効率的な ハブ探索法の提案と実装
Internet広域分散協調サーチロボット の研究開発
アルゴリズムとデータ構造1 2005年7月1日
アルゴリズムとプログラミング (Algorithms and Programming)
先進的計算基盤システムシンポジウム SACSIS2007併設企画 マルチコアプログラミングコンテスト 「Cellスピードチャレンジ2007」
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
数独の解生成と 解に対する番号付け 理学部 情報科学科 渡辺研究室 戸神星也.
GPGPUによる 飽和高価値 アイテム集合マイニング
GPUを用いた疎行列の格納形式による行列ベクトル積の評価
複数ホストにまたがって動作する仮想マシンの障害対策
目的:高速QR分解ルーチンのGPUクラスタ実装
Peer-to-Peerシステムにおける動的な木構造の生成による検索の高速化
コーディングパターンの あいまい検索の提案と実装
構造的類似性を持つ半構造化文書における頻度分析
時間連続性を考慮した 動画からの人物の姿勢推定
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(Nlog2N)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似
アルゴリズムとデータ構造1 2009年6月15日
精密工学科プログラミング基礎 第7回資料 (11/27実施)
Webページタイプによるクラスタ リングを用いた検索支援システム
プログラムの一時停止時に 将来の実行情報を提供するデバッガ
アルゴリズムとデータ構造 2010年6月17日
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
データ構造と アルゴリズム 第四回 知能情報学部 新田直也.
データ構造と アルゴリズムI 第三回 知能情報学部 新田直也.
プログラミング入門2 第5回 配列 変数宣言、初期化について
情報処理Ⅱ 小テスト 2005年2月1日(火).
Presentation transcript:

於 WWW論文読み会(webkai) 東京大学 岡崎直観(辻井研究室)

 以下のURLに置いてあります ◦

H. Yan, S. Ding, and T. Suel. (NYU & Yahoo! Research) Inverted index compression and query processing with optimized document ordering, WWW2009, pp

 転置リスト(inverted list; posting list) ◦ “直観”: [[56, 1, [34]], [198, 2, [14,23]], [1034, 1, [43]]]  d-gapによる転置インデックスの圧縮 ◦ 文書IDの最割り当て  アイディア: 文書IDをうまく並べ替えて,転置リスト中の文書ID を互いに近い値にしたい  うまい方法: 文書のURLのアルファベット順に文書IDを再割当  ↑「直観」という語は  “直観”: [[56, 1, [34]], [57, 2, [14,23]], [60, 1, [43]]] ◦ 文書IDの差分(d-gap)で転置リストを表現  “直観”: [[55, 1, [34]], [0, 2, [14,23]], [2, 1, [43]]]  d-gapは小さい値を取るので,圧縮しやすくなる 文書ID頻度出現位置 d-gapは0か ら始まる

 Var-Byte Coding ◦ 表現形式: fddddddd(f: 連結フラグ; d: 値)  fが1なら後に続く8bitの数値と連結する ◦ 142 = ( ) b → ◦ 2 = (10) b → ◦ デコードは速いけど,圧縮率が低い  Rice Coding ◦ 表現形式: 1 q 0rrrr…(q個の1の後0,続いてm bitのr)  q = int(n / 2 m ), r = n % 2 m  m = 4のとき,  142 → (q = 8, r = 14) →  2 → (q = 0, r = 2) →  Var-Byte Codingよりはデコードが遅いけど,圧縮率が良い

 Simple9 (S9) ◦ 表現形式: ssssdddd dddddddd dddddddd dddddddd  4 bitのステータスコードで,dの箇所に何個の数字が詰まってい るかを表す(以下の9通り)  0000: 28個の数(1bit),0001: 14個の数(2bit),  0010: 9個の数(3bit),0011: 7個の数(4bit),  0100: 5個の数(5bit),0101: 4個の数(7bit),  0110: 3個の数(9bit),0111: 2個の数(14bit),  1000: 1個の数(28bit) ◦ ( )をS9で表現すると  ◦ ステータスコードの部分をビットマスクで取り出し,テーブ ルジャンプでデータを読み取れば,高速にデコードできる ◦ S16という拡張は,16通りのデータ表現で圧縮率を向上

 PForDelta ◦ 数値をN個ずつエンコードする(例えばN = 128)  それらの数値の90%を格納できるビット長bを決める  2 b 以上の数値は,例外として別に格納する ◦ (23, 41, 8, 12, 30, 68, 18, 45, 21, 9, …)を格納する  90%以上が2 5 = 32未満とし,m = 5と決定  | …|… | ◦ 高速化のテクニック  異なるb毎にハードコーディングしておく  キャッシュに載るようにブロック毎にデコードする  Interpolative Coding ◦ 面白いけど省略 先頭の例外位置これらの数字は5bitで格納 例外は4バイトで表現 (逆順に並べる)

 PForDelta (PFD) を速度,圧縮率の面で改良する  転置リストに含まれる頻度数値の圧縮方法を提案 ◦ move-to-front codingにインスパイアされた  文書IDを並べ替えることの効果を調べる ◦ TREC GOV2でインデックスのサイズを50%削減  様々な圧縮方法の速度,圧縮率を調べる ◦ 転置リスト毎に圧縮方法を適応的に決める方法を示す  TREC GOV2とは ◦ 2004年にクロールされた.govドメインの2520万件の ウェブページと,10万件のクエリ例

 NewPFD ◦ 既存のPFDの問題点  オフセットの値が2 b に収まりきらないとき,2 b よりも小さい数を 例外扱いにして,オフセットのリストを連結しなければならない ◦ 改善法  例外を格納する配列,例外の位置を示す配列を分離させる  (23, 41, 8, 12, 30, 68, 18, 45, 21, 9, …)でm=5の場合  下位ビット数値配列: ( …)  例外オフセット配列: (1 3 1 …)  上位ビット数値配列: (9 4 13)  OptPFD ◦ デコード速度と圧縮率はトレードオフの関係にある ◦ インデックスのサイズとデコード速度の比が最小になるよう にmを決める(詳細は省略) S16でエンコードする

 単調増加ではないが… ◦ 文書IDをURL順で整列すれば, 似たような頻度が近くに出現  同じドメインのウェブページの単語 頻度分布は似る  先頭移動法 ◦ Move-To-Front (MTF) ◦ Burrows-Wheeler変換(ブロッ クソート)等と組み合わせて, データ圧縮に用いられる  Most-Likely-Next (MLN) ◦ Q個の数値に対してQ×Qの行列 を作り,i行j列が,数値iの後に (j+1)番目に出現しやすい数値を 格納しておく ◦ jのインデックス番号のみをエン コードする  これらの手法は同一,もしく は似たような頻度の数値が連 続するときに有効 # 値テーブル符号 0(1, 2, 3, 4, 5)() 15(5, 1, 2, 3, 4)(5)(5) 25 (5, 1) 35(5, 1, 2, 3, 4)(5, 1, 1) 43(3, 5, 1, 2, 4)(5, 1, 1, 4) 52(2, 3, 5, 1, 4)(5, 1, 1, 4, 4) 62(2, 3, 5, 1, 4)(5, 1, 1, 4, 4, 1) (5, 5, 5, 3, 2, 2)をMTF圧縮する例

J. Chen, L. Subramanian, J. Li. (NYU) RuralCafe: Web Search in the Rural Developing World, WWW2009, pp

 世界にはWebに繋がりづらい地域がたくさんある ◦ 人のユーザーが,128Kbpsの帯域を分け合っ ている大学や会社など  インドのBPO部門では,50-100人のスタッフが64Kbpsの インターネット回線を共有している ◦ 携帯電話におけるデータ転送よりもSMSのコストが安い ので,SMSベースで検索をやることがある ◦ 巡回インターネット・キオスク  アジア,アフリカ,ラテンアメリカの農村部において,バ スなどで巡回しているWiFiインターネット・キオスク ◦ 停電が頻発する地域もある

 2009年9月10日 ◦ BBC News (動画有り)  /africa/ stm /africa/ stm ◦ ITMedia News  ews/articles/0909/10/news 075.html ews/articles/0909/10/news 075.html  伝書鳩 ◦ 4GBのメモリースティックを 装着した生後11ヶ月のハト が,80kmを1時間8分で飛ぶ ◦ コンピュータとメモリース ティック間のデータを転送す る時間を含めても,2時間6 分57秒だった ◦ その間,通信会社大手のテル コムのデータ転送は,4%し か完了しなかった

 RuralCafeと呼ばれる検索環境を提案する ◦ シンプルな検索インタフェースを提供  従来の検索インタフェースは,断続的なインターネット接 続環境に十分とは言えない ◦ ローカルなキャッシュの検索をサポート ◦ よく用いられる検索フレーズをローカルに保存  ユーザーのクエリは不十分だったり曖昧であることが多い ◦ 断続的なインターネット接続環境の様々なケースに対応 ◦ 検索結果の先読みを行い,ローカルなキャッシュ上で検 索できるように準備する

検索ジョブの進行状況 を表示するペーン 「テキストのみ」「テキス トと画像」「全部」 曖昧(たくさんの短い検索結果が 返される),普通,深い(長めの 少ない検索結果が返される) クエリ拡張やクエリ訂正を行う ペーン 通常のクエリ,合成クエリ(OR 連結),エンティティ絞り込み検 索(電話番号など)

N-gramによるク エリ拡張・訂正 ローカル検索データ転送制御

S. Ding, J. He, H. Yan, T. Suel. (NYU & Yahoo! Research) Using Graphics Processors for High Performance IR Query Processing, WWW2009, pp

 情報検索システムは数千のサーバーでクラスター化 ◦ 1サーバーあたりの速度を向上させることも大切  本研究では,以下のタスクにおいてGPUの利用を考える ◦ 圧縮された転置リストのデコード ◦ 圧縮された転置リストをデコードしながらjoinを取る  GPUの利用環境 ◦ NVIDIA GeForce 8800 GTS (640MB; 32 threds) ◦ Compute Unified Device Architecture (CUDA)

 Inclusive parallel prefix sum ◦ [a 0, a 1, …, a n-1 ] → [a 0, a 0 +a 1, …, a 0 +a 1 +…+a n-1 ]  Exclusive parallel prefix sum ◦ [a 0, a 1, …, a n-1 ] → [0, a 0, a 0 +a 1, …, a 0 +a 1 +…+a n-2 ]  普通に実装すると,並列化が難しい ◦ for (i =1;i <= n;++i) s[i] = s[i-1] + a[i-1] ◦ n回の加算演算でO(n)  CUDAによる実装は,以下の資料を参照 ◦ k/website/projects/scan/doc/scan.pdf k/website/projects/scan/doc/scan.pdf ◦ 2*(n-1)回の加算,(n-1)回のコピーで,O(n)  演算回数は増えているが,32個のスレッドを使うので高速

 Rice符号でエンコードさ れたd-gap列から文書ID 列を復元 ◦ Rice符号をデコードしながら Parallel Prefix Sumを取る  文書ID列をd-gap列に変 換しRice符号エンコード ◦ 文書IDs: [143, 146, 164] ◦ d-gaps: [142, 2, 17] ◦ Rice符号 (m = 4 のとき)  q系列:  r系列:  文書 ID 列のデコード ◦ q 系列のデコード  まず, q 系列を 1-bit で構成された 数値列と見なして parallel prefix sum を計算  [1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 9, 9]  元々の q 系列で 0 が埋められていた 箇所の数字を抜き出して配列に  [8, 8, 9] ◦ r 系列のデコード  4-bit で構成される数値列と見なし て parallel prefix sum を計算  [14, 16, 17] ◦ 最後にまとめる  [8* , 8* , 9* ] = [143, 146, 164] 通常のrice符号とは異なり,qとrを 別々のビットストリームに格納

 Rice符号 ◦ GPUよりもCPUの方が若干高速だった ◦ ただし,CPUはd-gapから文書IDの復元を行っていない のに対し,GPUでは同時に行っている  PForDelta ◦ CPUよりもGPUの方が高速だった

 基本的なアイディア ◦ 2つの転置リストをマージするとき,分割要素を適当に決め て,転置リストをセグメントに分割する ◦ 分割されたセグメント同士でリストのマージを並列に行う  実際には,転置リストを2分割する処理を分割統治で 再帰的に行い,セグメントを細分化してマージする

 スキップポインタを用いた集合和・積  GPUを用いた並列スコア計算 ◦ 今回の実験ではBM25を利用している  GPUを用いたtop-k文書選択  OR検索のサポート ◦ Term-At-A-Time (TAAT)で文書ID毎にスコアを計算  CPUとGPUを上手く組み合わせるスケジューリング