インテル® DAAL 2018 デベロッパー・ガイド

分散処理

分散処理モードは、データセット R が計算ノードの nblocks ブロックに分割されていると仮定します。

パラメーター

分散処理モードの暗黙的 ALS アルゴリズムのアイテム係数の初期化のパラメーターは次のとおりです。

パラメーター

デフォルト値

説明

algorithmFPType

float

アルゴリズムが中間計算に使用する浮動小数点の型。float または double を指定できます。

method

fastCSR

CSR 数値テーブル用のパフォーマンス指向の計算メソッド。アルゴリズムでサポートされている唯一のメソッドです。

nFactors

10

係数の総数。

seed

777777

初期化段階の乱数生成用のシード。

fullNUsers

0

ユーザー m の総数。

partition

 

入力データ部分の数を提供するサイズ 1 x 1 の数値テーブルまたは (nblocks + 1) x 1 の数値テーブル。ここで、nblocks は入力データ部分の数、i 番目の要素は初期化アルゴリズムにより計算される転置された i 番目のデータ部分のオフセットを含みます。

分散処理モードの暗黙的 ALS アルゴリズムを初期化するには、下記の図 (nblocks=3) で説明されているように、1 ステップのプロセスを使用します。


暗黙的 ALS、初期化、分散処理ワークフロー

ステップ 1 - ローカルノード


暗黙的 ALS、初期化、分散処理のステップ 1

入力

分散処理モードの暗黙的 ALS アルゴリズムのアイテム係数の初期化の入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

入力 ID

入力

dataColumnSlice

入力データセットの部分を含む ni x m 数値テーブル。各ノードは転置された入力データセット RTni 行を含みます。入力は CSRNumericTable クラスのオブジェクトです。

出力

分散処理モードの暗黙的 ALS アルゴリズムのアイテム係数の初期化は次の結果を計算します。部分結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。outputOfInitForComputeStep3 および offsets に対応する部分結果。部分結果 ID は分散 ALS 訓練アルゴリズムのステップ 3 に転送します。

計算ステップ 3 の初期化の出力 (outputOfInitForComputeStep3) は、i 番目のノードの部分モデルのコンポーネントをすべてのローカルノードにマップするキー/値データのコレクションです。このデータ・コレクションのキーはノードのインデックスで、各キーに対応する値 i は分散 ALS 訓練アルゴリズムのステップ 3 の i 番目のノードに転送するアイテムの係数のインデックスを含む数値テーブルです。

ユーザーオフセット (offsets) はキー/値データのコレクションです。ここで、キーはノードのインデックスで、キー i に対応する値は i 番目のノードに格納されたユーザー係数の開始オフセットの値を含むサイズ 1 x 1 の数値テーブルです。

詳細は、「アルゴリズム」を参照してください。

部分結果 ID

結果

partialModel

初期化されるアイテム係数を含むモデル。結果は PartialModel クラスのオブジェクトです。

outputOfInitForComputeStep3

部分モデルのコンポーネントをローカルノードにマップするキー/値データのコレクション。

offsets

各ノードの係数インデックスの開始オフセットを含むサイズ nblocks のキー/値データのコレクション。

outputOfStep1ForStep2

入力数値テーブルの部分を含むサイズ nblocks のキー/値データのコレクション。このコレクションの j 番目の要素はサイズ mj x ni の数値テーブルです。ここで、 で値 mjpartition パラメーターにより定義されます。

ステップ 2 - ローカルノード


暗黙的 ALS、初期化、分散処理のステップ 2

入力

このステップは、前のステップの結果を使用します。

入力 ID

入力

inputOfStep2FromStep1

入力データセットの部分を含むサイズ nblocks のキー/値データのコレクション。このコレクションの i 番目の要素はサイズ mi x ni の数値テーブルです。コレクションの各数値テーブルは CSRNumericTable クラスのオブジェクトです。

出力

このステップで、暗黙的 ALS 初期化は次の部分結果を計算します。部分結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。outputOfInitForComputeStep3 および offsets に対応する部分結果。部分結果 ID は分散 ALS 訓練アルゴリズムのステップ 3 に転送します。

計算ステップ 3 の初期化の出力 (outputOfInitForComputeStep3) は、i 番目のノードの部分モデルのコンポーネントをすべてのローカルノードにマップするキー/値データのコレクションです。このデータ・コレクションのキーはノードのインデックスで、各キーに対応する値 i は分散 ALS 訓練アルゴリズムのステップ 3 の i 番目のノードに転送するユーザー係数のインデックスを含む数値テーブルです。

アイテムオフセット (offsets) はキー/値データのコレクションです。ここで、キーはノードのインデックスで、キー i に対応する値は i 番目のノードに格納されたアイテム係数の開始オフセットの値を含むサイズ 1 x 1 の数値テーブルです。

詳細は、「アルゴリズム」を参照してください。

部分結果 ID

結果

dataRowSlice

マイニングデータを含む mj x n 数値テーブル。j 番目のノードは入力データセット Rmj 行を取得します。

outputOfInitForComputeStep3

部分モデルのコンポーネントをローカルノードにマップするキー/値データのコレクション。

offsets

各ノードの係数インデックスの開始オフセットを含むサイズ nblocks のキー/値データのコレクション。

関連情報