iALS is a popular algorithm for learning matrix factorization models from implicit feedback with alternating least squares. This algorithm was invented over a decade ago but still shows competitive quality compared to recent approaches like VAE, EASE, SLIM, or NCF. Due to a computational trick that avoids negative sampling, iALS is very efficient especially for large item catalogues. However, iALS does not scale well with large embedding dimensions, d, due to its cubic runtime dependency on d. Coordinate descent variations, iCD, have been proposed to lower the complexity to quadratic in d. In this work, we show that iCD approaches are not well suited for modern processors and can be an order of magnitude slower than a careful iALS implementation for small to mid scale embedding sizes (d ~ 100) and only perform better than iALS on large embeddings d ~ 1000. We propose a new solver iALS++ that combines the advantages of iALS in terms of vector processing with a low computational complexity as in iCD. iALS++ is an order of magnitude faster than iCD both for small and large embedding dimensions. It can solve benchmark problems like Movielens 20M or Million Song Dataset even for 1000 dimensional embedding vectors in a few minutes.
翻译:iALS 是一种广受欢迎的算法, 用于学习由交替最小方形的隐含反馈提供的矩阵乘数模型。 这个算法是十年前发明的,但与最近的做法相比, 仍然表现出竞争质量。 由于计算技巧避免了负面抽样, iALS 效率很高, 特别是大型物品目录。 但是, iALS 规模不高, 其嵌入尺寸很大, d, 因为它的立方时间依赖 d. 协调下降变量, iCD 被提议降低在 d 中对四方形的复杂程度。 在这项工作中, iCD 方法不适于现代处理器, 其规模可能比谨慎的 iALS 实施中小型嵌入尺寸( d~ 100) 慢得多, 并且只比大型嵌入尺寸 d~ 1000 的 iALS 更好。 我们提议一个新的解析器 iALS+, 将iALS 处理矢量的优势与低计算复杂性结合起来, 如 iCD. iALS++ 等等级级级级级, 将比 IMVALM 20 的 级的基质更快。