{
  "type": "excalidraw",
  "version": 2,
  "source": "https://excalidraw.com",
  "elements": [
    {
      "id": "el1",
      "x": 150,
      "y": 8,
      "width": 369.59999999999997,
      "height": 27.5,
      "angle": 0,
      "strokeColor": "#1f2933",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 1001,
      "version": 1,
      "versionNonce": 5001,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "text",
      "text": "Data Parallel (DP)：复制模型，切分数据",
      "originalText": "Data Parallel (DP)：复制模型，切分数据",
      "fontSize": 22,
      "fontFamily": 2,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "lineHeight": 1.25,
      "baseline": 22
    },
    {
      "id": "el2",
      "x": 120,
      "y": 40,
      "width": 296.4,
      "height": 16.25,
      "angle": 0,
      "strokeColor": "#868e96",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 1002,
      "version": 1,
      "versionNonce": 5002,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "text",
      "text": "每卡一份完整模型；各喂不同的数据分片；反向后 all-reduce 同步梯度",
      "originalText": "每卡一份完整模型；各喂不同的数据分片；反向后 all-reduce 同步梯度",
      "fontSize": 13,
      "fontFamily": 2,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "lineHeight": 1.25,
      "baseline": 13
    },
    {
      "id": "el3",
      "x": 40,
      "y": 60,
      "width": 170,
      "height": 40,
      "angle": 0,
      "strokeColor": "#2f9e44",
      "backgroundColor": "#b2f2bb",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 3
      },
      "seed": 1003,
      "version": 1,
      "versionNonce": 5003,
      "isDeleted": false,
      "boundElements": [
        {
          "type": "text",
          "id": "el4"
        }
      ],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "rectangle"
    },
    {
      "id": "el4",
      "x": 45,
      "y": 71.875,
      "width": 160,
      "height": 16.25,
      "angle": 0,
      "strokeColor": "#2f9e44",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 1004,
      "version": 1,
      "versionNonce": 5004,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "text",
      "text": "batch 分片 0",
      "originalText": "batch 分片 0",
      "fontSize": 13,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "el3",
      "lineHeight": 1.25,
      "baseline": 13
    },
    {
      "id": "el5",
      "x": 40,
      "y": 140,
      "width": 170,
      "height": 90,
      "angle": 0,
      "strokeColor": "#1971c2",
      "backgroundColor": "#a5d8ff",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 3
      },
      "seed": 1005,
      "version": 1,
      "versionNonce": 5005,
      "isDeleted": false,
      "boundElements": [
        {
          "type": "text",
          "id": "el6"
        }
      ],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "rectangle"
    },
    {
      "id": "el6",
      "x": 45,
      "y": 167.5,
      "width": 160,
      "height": 35.0,
      "angle": 0,
      "strokeColor": "#1971c2",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 1006,
      "version": 1,
      "versionNonce": 5006,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "text",
      "text": "GPU0\n完整模型副本",
      "originalText": "GPU0\n完整模型副本",
      "fontSize": 14,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "el5",
      "lineHeight": 1.25,
      "baseline": 14
    },
    {
      "id": "el7",
      "x": 125,
      "y": 100,
      "width": 0,
      "height": 40,
      "angle": 0,
      "strokeColor": "#868e96",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 2
      },
      "seed": 1007,
      "version": 1,
      "versionNonce": 5007,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "arrow",
      "points": [
        [
          0,
          0
        ],
        [
          0,
          40
        ]
      ],
      "lastCommittedPoint": null,
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null,
      "endArrowhead": "arrow"
    },
    {
      "id": "el8",
      "x": 235,
      "y": 60,
      "width": 170,
      "height": 40,
      "angle": 0,
      "strokeColor": "#2f9e44",
      "backgroundColor": "#b2f2bb",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 3
      },
      "seed": 1008,
      "version": 1,
      "versionNonce": 5008,
      "isDeleted": false,
      "boundElements": [
        {
          "type": "text",
          "id": "el9"
        }
      ],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "rectangle"
    },
    {
      "id": "el9",
      "x": 240,
      "y": 71.875,
      "width": 160,
      "height": 16.25,
      "angle": 0,
      "strokeColor": "#2f9e44",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 1009,
      "version": 1,
      "versionNonce": 5009,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "text",
      "text": "batch 分片 1",
      "originalText": "batch 分片 1",
      "fontSize": 13,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "el8",
      "lineHeight": 1.25,
      "baseline": 13
    },
    {
      "id": "el10",
      "x": 235,
      "y": 140,
      "width": 170,
      "height": 90,
      "angle": 0,
      "strokeColor": "#1971c2",
      "backgroundColor": "#a5d8ff",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 3
      },
      "seed": 1010,
      "version": 1,
      "versionNonce": 5010,
      "isDeleted": false,
      "boundElements": [
        {
          "type": "text",
          "id": "el11"
        }
      ],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "rectangle"
    },
    {
      "id": "el11",
      "x": 240,
      "y": 167.5,
      "width": 160,
      "height": 35.0,
      "angle": 0,
      "strokeColor": "#1971c2",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 1011,
      "version": 1,
      "versionNonce": 5011,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "text",
      "text": "GPU1\n完整模型副本",
      "originalText": "GPU1\n完整模型副本",
      "fontSize": 14,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "el10",
      "lineHeight": 1.25,
      "baseline": 14
    },
    {
      "id": "el12",
      "x": 320,
      "y": 100,
      "width": 0,
      "height": 40,
      "angle": 0,
      "strokeColor": "#868e96",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 2
      },
      "seed": 1012,
      "version": 1,
      "versionNonce": 5012,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "arrow",
      "points": [
        [
          0,
          0
        ],
        [
          0,
          40
        ]
      ],
      "lastCommittedPoint": null,
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null,
      "endArrowhead": "arrow"
    },
    {
      "id": "el13",
      "x": 430,
      "y": 60,
      "width": 170,
      "height": 40,
      "angle": 0,
      "strokeColor": "#2f9e44",
      "backgroundColor": "#b2f2bb",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 3
      },
      "seed": 1013,
      "version": 1,
      "versionNonce": 5013,
      "isDeleted": false,
      "boundElements": [
        {
          "type": "text",
          "id": "el14"
        }
      ],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "rectangle"
    },
    {
      "id": "el14",
      "x": 435,
      "y": 71.875,
      "width": 160,
      "height": 16.25,
      "angle": 0,
      "strokeColor": "#2f9e44",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 1014,
      "version": 1,
      "versionNonce": 5014,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "text",
      "text": "batch 分片 2",
      "originalText": "batch 分片 2",
      "fontSize": 13,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "el13",
      "lineHeight": 1.25,
      "baseline": 13
    },
    {
      "id": "el15",
      "x": 430,
      "y": 140,
      "width": 170,
      "height": 90,
      "angle": 0,
      "strokeColor": "#1971c2",
      "backgroundColor": "#a5d8ff",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 3
      },
      "seed": 1015,
      "version": 1,
      "versionNonce": 5015,
      "isDeleted": false,
      "boundElements": [
        {
          "type": "text",
          "id": "el16"
        }
      ],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "rectangle"
    },
    {
      "id": "el16",
      "x": 435,
      "y": 167.5,
      "width": 160,
      "height": 35.0,
      "angle": 0,
      "strokeColor": "#1971c2",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 1016,
      "version": 1,
      "versionNonce": 5016,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "text",
      "text": "GPU2\n完整模型副本",
      "originalText": "GPU2\n完整模型副本",
      "fontSize": 14,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "el15",
      "lineHeight": 1.25,
      "baseline": 14
    },
    {
      "id": "el17",
      "x": 515,
      "y": 100,
      "width": 0,
      "height": 40,
      "angle": 0,
      "strokeColor": "#868e96",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 2
      },
      "seed": 1017,
      "version": 1,
      "versionNonce": 5017,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "arrow",
      "points": [
        [
          0,
          0
        ],
        [
          0,
          40
        ]
      ],
      "lastCommittedPoint": null,
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null,
      "endArrowhead": "arrow"
    },
    {
      "id": "el18",
      "x": 625,
      "y": 60,
      "width": 170,
      "height": 40,
      "angle": 0,
      "strokeColor": "#2f9e44",
      "backgroundColor": "#b2f2bb",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 3
      },
      "seed": 1018,
      "version": 1,
      "versionNonce": 5018,
      "isDeleted": false,
      "boundElements": [
        {
          "type": "text",
          "id": "el19"
        }
      ],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "rectangle"
    },
    {
      "id": "el19",
      "x": 630,
      "y": 71.875,
      "width": 160,
      "height": 16.25,
      "angle": 0,
      "strokeColor": "#2f9e44",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 1019,
      "version": 1,
      "versionNonce": 5019,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "text",
      "text": "batch 分片 3",
      "originalText": "batch 分片 3",
      "fontSize": 13,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "el18",
      "lineHeight": 1.25,
      "baseline": 13
    },
    {
      "id": "el20",
      "x": 625,
      "y": 140,
      "width": 170,
      "height": 90,
      "angle": 0,
      "strokeColor": "#1971c2",
      "backgroundColor": "#a5d8ff",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 3
      },
      "seed": 1020,
      "version": 1,
      "versionNonce": 5020,
      "isDeleted": false,
      "boundElements": [
        {
          "type": "text",
          "id": "el21"
        }
      ],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "rectangle"
    },
    {
      "id": "el21",
      "x": 630,
      "y": 167.5,
      "width": 160,
      "height": 35.0,
      "angle": 0,
      "strokeColor": "#1971c2",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 1021,
      "version": 1,
      "versionNonce": 5021,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "text",
      "text": "GPU3\n完整模型副本",
      "originalText": "GPU3\n完整模型副本",
      "fontSize": 14,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "el20",
      "lineHeight": 1.25,
      "baseline": 14
    },
    {
      "id": "el22",
      "x": 710,
      "y": 100,
      "width": 0,
      "height": 40,
      "angle": 0,
      "strokeColor": "#868e96",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 2
      },
      "seed": 1022,
      "version": 1,
      "versionNonce": 5022,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "arrow",
      "points": [
        [
          0,
          0
        ],
        [
          0,
          40
        ]
      ],
      "lastCommittedPoint": null,
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null,
      "endArrowhead": "arrow"
    },
    {
      "id": "el23",
      "x": 40,
      "y": 250,
      "width": 755,
      "height": 0,
      "angle": 0,
      "strokeColor": "#e8590c",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 3,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 2
      },
      "seed": 1023,
      "version": 1,
      "versionNonce": 5023,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "arrow",
      "points": [
        [
          0,
          0
        ],
        [
          755,
          0
        ]
      ],
      "lastCommittedPoint": null,
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": "arrow",
      "endArrowhead": "arrow"
    },
    {
      "id": "el24",
      "x": 330,
      "y": 256,
      "width": 101.39999999999999,
      "height": 16.25,
      "angle": 0,
      "strokeColor": "#e8590c",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 1024,
      "version": 1,
      "versionNonce": 5024,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "text",
      "text": "All-Reduce 梯度",
      "originalText": "All-Reduce 梯度",
      "fontSize": 13,
      "fontFamily": 2,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "lineHeight": 1.25,
      "baseline": 13
    },
    {
      "id": "el25",
      "x": 40,
      "y": 290,
      "width": 295.2,
      "height": 15.0,
      "angle": 0,
      "strokeColor": "#868e96",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 1025,
      "version": 1,
      "versionNonce": 5025,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1700000000000,
      "link": null,
      "locked": false,
      "type": "text",
      "text": "瓶颈：每卡都要存 完整模型 + 梯度 + 优化器 → 显存吃紧（ZeRO 来解决）",
      "originalText": "瓶颈：每卡都要存 完整模型 + 梯度 + 优化器 → 显存吃紧（ZeRO 来解决）",
      "fontSize": 12,
      "fontFamily": 2,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "lineHeight": 1.25,
      "baseline": 12
    }
  ],
  "appState": {
    "gridSize": null,
    "viewBackgroundColor": "#ffffff"
  },
  "files": {}
}