仕事では、Mahout の Item ベースの CF パッケージに基づいて Item ベースのレコメンデーション システムを構築しようとしています。私たちが扱っている問題は次のとおりです。
ユーザー数: 6,000,000 アイテム数: 200,000 プリファレンス: 10,000,000,000
Hadoop クラスターに数百台のマシンがある場合、数時間以内に RecommenderJob を完了できる可能性があります。ただし、問題は、私たちは小規模なスタートアップであるため、この段階で Hadoop クラスターに約 10 台のマシンしかないことです。理想的には、推奨ジョブを数日に 1 回実行したいと考えています。
問題の規模を理解するために、Mahout の Item ベースの CF をデータの小さなサブセットに適用しました。
ユーザー数: 100,000 アイテム数: 80,000 プリファレンス: 3,000,000
RecommenderJob にかかる時間は、Hadoop クラスターで約 10 分です。
私の質問は、ハードウェアの制限 (短期的に変更される可能性は低い) を考えると、Mahout のアイテムベースの CF を高速化するにはどうすればよいですか?