在PyTorch中,是否理论上可以将多个模型“合并”成一个模型——有效地结合迄今为止学到的所有数据?这些模型完全相同,但是使用训练数据的不同部分进行训练。
如果可以的话,是否可以将数据集分成等份,并以类似于folding@home的方式在多台计算机之间分配训练?新的模型是否会和未分发时的效果一样好?
回答:
我认为您所要求的是TensorFlow/PyTorch模型的分布式实现。类似于分布式数据库,可以在不同的集群上使用数据块来并行训练单个模型。最终的模型将在不同集群上的所有单独数据块上进行训练,就好像它是在完整数据上一起训练的一样。
虽然有多个工具可以做到这一点,但我可以推荐的是Analytics Zoo。
一个用于在Apache Spark/Flink & Ray上分布式运行TensorFlow、Keras和PyTorch的统一数据分析和AI平台。您可以轻松地将AI模型(例如TensorFlow、Keras、PyTorch、BigDL、OpenVINO等)应用于分布式大数据。
更多详情请见 这里。