reczoo / RecZoo

A curated model zoo for recommendation tasks
Apache License 2.0
163 stars 38 forks source link

constraint_mat 占用内存巨大 #3

Closed gumanchang closed 2 years ago

gumanchang commented 2 years ago

实际中,用户和item的数量巨大,光是存储这一些就耗费巨大的内存资源,Amazon这个数据集就占据了17GB的内存。

ChadsLee commented 2 years ago

速度和性能提高总得拿点东西换

Joinn99 commented 2 years ago

这个constraint_mat是beta_uD和beta_iD两个向量叉乘得到的,为什么不存储这两个向量然后实时计算weight呢? 我尝试改了代码,不需要存储constraint_mat,速度反而提升了50%,nDCG也没有变化

gumanchang commented 2 years ago

这个constraint_mat是beta_uD和beta_iD两个向量叉乘得到的,为什么不存储这两个向量然后实时计算weight呢? 我尝试改了代码,不需要存储constraint_mat,速度反而提升了50%,nDCG也没有变化

hi,能不能把这部分代码贴下,如果能解决这个问题,感觉大规模的应用还靠谱点。

zhujiem commented 2 years ago

实际中,用户和item的数量巨大,光是存储这一些就耗费巨大的内存资源,Amazon这个数据集就占据了17GB的内存。

这只是research prototype代码,针对small open datasets能够快速得到结果。要是适配到工业级数据量肯定很多工程的东西需要优化的。

zhujiem commented 2 years ago

这个constraint_mat是beta_uD和beta_iD两个向量叉乘得到的,为什么不存储这两个向量然后实时计算weight呢? 我尝试改了代码,不需要存储constraint_mat,速度反而提升了50%,nDCG也没有变化

你这个idea很好!但是本repo只是为了能保证reproducibility,没有太多速度上的优化。

你如果愿意提交pr,非常欢迎。

zhujiem commented 2 years ago

这个constraint_mat是beta_uD和beta_iD两个向量叉乘得到的,为什么不存储这两个向量然后实时计算weight呢? 我尝试改了代码,不需要存储constraint_mat,速度反而提升了50%,nDCG也没有变化

hi,能不能把这部分代码贴下,如果能解决这个问题,感觉大规模的应用还靠谱点。

是内存大的问题吗?请问你的数据规模是怎样的,有必要的话我们后面可以考虑优化下

Joinn99 commented 2 years ago

这个constraint_mat是beta_uD和beta_iD两个向量叉乘得到的,为什么不存储这两个向量然后实时计算weight呢? 我尝试改了代码,不需要存储constraint_mat,速度反而提升了50%,nDCG也没有变化

你这个idea很好!但是本repo只是为了能保证reproducibility,没有太多速度上的优化。

你如果愿意提交pr,非常欢迎。

已提交pr,因为改动很小,我只在最小的ml-1m数据集上进行了测试,你们可以试一下做更多的测试

这个constraint_mat是beta_uD和beta_iD两个向量叉乘得到的,为什么不存储这两个向量然后实时计算weight呢? 我尝试改了代码,不需要存储constraint_mat,速度反而提升了50%,nDCG也没有变化

hi,能不能把这部分代码贴下,如果能解决这个问题,感觉大规模的应用还靠谱点。

你好,可以参考这个 #6

jzm-123 commented 2 years ago

但是ii_constraint_mat的存储还是很大