You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/algo/sona/line_sona.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -20,13 +20,13 @@ LINE算法是一个网络表示学习算法,也可以认为是针对图数据
20
20
21
21
22
22
## 2. 分布式实现
23
-
LINE 目前有两个独立的实现版本LINE V1和LINE V2, 这两个版本各有优势和适用场景。一般情况下,建议适用LINE V2版本。
23
+
LINE 目前有两个独立的实现版本LINE V1和LINE V2, 这两个版本各有优势和适用场景。**一般情况下,建议使用LINE V2版本**。
24
24
25
25
LINE V1的实现参考了Yahoo的论文[[2]](https://arxiv.org/abs/1606.08495), 将Embedding向量按维度拆分到多个PS上,节点之间的点积运算可以在每个PS内部进行局部运算,之后再拉取到spark端合并。Spark端计算每个节点的梯度,推送到每个PS去更新每个节点对应的向量维度。 它的优势在于避免了传输模型导致的大量网络IO,适用于节点编码向量维度较高的场景,如果节点向量维度较低,它就不合适了。因为LINE V1有如下限制:节点编码维度必须是模型分区个数的整数倍,这限制了模型分区的个数和计算并发度。
26
26
27
27

28
28
29
-
LINE V2采用完全不同的实现方式:它使用节点id范围划分模型,没有分区个数限制,同时它需要将模型拉取回executor本地进行计算,因此会产生大量的网络通信开销,不适合节点编码维度高的场景。LINE V2中加入了许多容灾措施,因此更加的稳定。内部业务实测数据表明,在节点编码维度不是很高的情形下(例如128维),LINE V2性能是LINE V1性能的5倍以上。
29
+
LINE V2采用完全不同的实现方式:它使用节点id范围划分模型,没有分区个数限制,同时它需要将模型拉取回executor本地进行计算,因此会产生大量的网络通信开销,不适合节点编码维度高的场景。LINE V2中加入了许多容灾措施,因此更加的稳定。内部业务实测数据表明,在节点编码维度不是很高的情形下(例如128维),LINE V2性能是LINE V1性能的**5倍以上**。
0 commit comments