From 001a97ad3a8c4a0b3573a31068543506bbb77436 Mon Sep 17 00:00:00 2001 From: ytxiong <45058324+yingtongxiong@users.noreply.github.com> Date: Fri, 18 Oct 2024 17:08:38 +0800 Subject: [PATCH] doc(2d): docs for 2d-attention (#347) --- .../locales/en/LC_MESSAGES/parallel.po | 191 ++++++++++++++++-- .../locales/en/LC_MESSAGES/training.po | 149 +++++++++++--- doc/code-docs/source/parallel.rst | 75 +++++++ doc/imgs/2d-attn.PNG | Bin 0 -> 62398 bytes doc/imgs/double-ring.PNG | Bin 0 -> 46140 bytes doc/imgs/nic.PNG | Bin 0 -> 65734 bytes 6 files changed, 378 insertions(+), 37 deletions(-) create mode 100644 doc/imgs/2d-attn.PNG create mode 100644 doc/imgs/double-ring.PNG create mode 100644 doc/imgs/nic.PNG diff --git a/doc/code-docs/locales/en/LC_MESSAGES/parallel.po b/doc/code-docs/locales/en/LC_MESSAGES/parallel.po index b948e4f9..ab842d15 100644 --- a/doc/code-docs/locales/en/LC_MESSAGES/parallel.po +++ b/doc/code-docs/locales/en/LC_MESSAGES/parallel.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: InternLM \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-30 15:51+0800\n" +"POT-Creation-Date: 2024-10-08 17:17+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.12.1\n" #: ../../source/parallel.rst:2 msgid "并行模式与原理" @@ -274,15 +274,15 @@ msgstr "" " sequence parallelism and tensor parallelism, performing an ``all-" "gather`` operation along the seqlen dimension of activation values. After" " this communication is completed, the shape of the activation values " -"becomes the full ``[seqlen, hidden_size]`` , and then it enters the scope " -"of the tensor parallelism module. The communication of ``ḡ`` is situated " -"at the junction of tensor parallelism and sequence parallelism, requiring" -" the transformation of the ``all-reduce`` communication operation from " -"MTP into a ``reduce-scatter`` operation to achieve the split along the " -"seqlen dimension. This results in the activation values having a shape of" -" ``[seqlen/tp, hidden_size]`` , enabling a smooth transition into the " -"sequence parallelism phase. The same principles apply during the backward" -" pass." +"becomes the full ``[seqlen, hidden_size]`` , and then it enters the scope" +" of the tensor parallelism module. The communication of ``ḡ`` is situated" +" at the junction of tensor parallelism and sequence parallelism, " +"requiring the transformation of the ``all-reduce`` communication " +"operation from MTP into a ``reduce-scatter`` operation to achieve the " +"split along the seqlen dimension. This results in the activation values " +"having a shape of ``[seqlen/tp, hidden_size]`` , enabling a smooth " +"transition into the sequence parallelism phase. The same principles apply" +" during the backward pass." #: ../../source/parallel.rst:85 msgid "FSP" @@ -448,7 +448,13 @@ msgid "" ":class:`NonPipelineSchedule`." msgstr "" -#: ../../source/parallel.rst +#: internlm.core.scheduler.pipeline_scheduler.InterleavedPipelineScheduler.forward_backward_step +#: internlm.core.scheduler.pipeline_scheduler.PipelineScheduler +#: internlm.core.scheduler.pipeline_scheduler.PipelineScheduler.forward_backward_step +#: internlm.core.scheduler.pipeline_scheduler.PipelineScheduler.pre_processing +#: internlm.solver.optimizer.hybrid_zero_optim.HybridZeroOptimizer.belongs_to_current_rank +#: internlm.solver.optimizer.hybrid_zero_optim.HybridZeroOptimizer.step +#: internlm.solver.optimizer.hybrid_zero_optim.HybridZeroOptimizer.zero_grad of msgid "参数" msgstr "Parameter" @@ -532,7 +538,10 @@ msgstr "" msgid "If False, the output and label won't be returned." msgstr "" -#: ../../source/parallel.rst +#: internlm.core.scheduler.pipeline_scheduler.InterleavedPipelineScheduler.forward_backward_step +#: internlm.core.scheduler.pipeline_scheduler.PipelineScheduler.forward_backward_step +#: internlm.solver.optimizer.hybrid_zero_optim.HybridZeroOptimizer.belongs_to_current_rank +#: internlm.solver.optimizer.hybrid_zero_optim.HybridZeroOptimizer.step of msgid "返回" msgstr "" @@ -559,7 +568,10 @@ msgid "" "accumulated from all stages." msgstr "" -#: ../../source/parallel.rst +#: internlm.core.scheduler.pipeline_scheduler.InterleavedPipelineScheduler.forward_backward_step +#: internlm.core.scheduler.pipeline_scheduler.PipelineScheduler.forward_backward_step +#: internlm.solver.optimizer.hybrid_zero_optim.HybridZeroOptimizer.belongs_to_current_rank +#: internlm.solver.optimizer.hybrid_zero_optim.HybridZeroOptimizer.step of msgid "返回类型" msgstr "Return type" @@ -745,6 +757,157 @@ msgstr "" msgid "Whether the gradient is success updated, and the gradient." msgstr "" +#: ../../source/parallel.rst:214 ../../source/parallel.rst:228 +msgid "2D-Attention" +msgstr "2D-Attention" + +#: ../../source/parallel.rst:215 +msgid "" +"2D-Attention是InternEvo系统扩展ISP的序列化并行方案,集成了Ring-Attention和ISP,能够支持更长的序列。 " +"ISP由于需要在attention前后分别进行All2All通信,在 ``sequence parallel`` 和 ``head " +"parallel`` 之间进行切换, 因此 ``sp size`` 自然受到 ``head number`` 的限制,无法进行扩展;而Ring-" +"Attention由于在attention计算过程中需要进行P2P通信,可能会遇到通信低效的问题。" +msgstr "" +"2D-Attention is the sequence parallelism within InternEvo, integrating both the Ring-Attention and ISP. " +" The sequence parallel size in ISP is constrained by the head number, limiting the scalability. " +" Meanwhile, the Ring-Attention may lead to suboptimal performance due to the inefficient P2P communication." + +#: ../../source/parallel.rst:219 +msgid "" +"2D-Attention将ISP和Ring-Attention相结合,组成一个混合序列并行,能够解除 ``sp size`` 小于等于 " +"``head number`` 的限制,同时避免P2P低效带宽利用。" +msgstr "" +"2D-Attention, by integrating ISP and Ring-Attention, not only overcomes the limitation that the sequence parallel size " +"must not exceed the head number, but also enhances the P2P communication efficiency." + +#: ../../source/parallel.rst:221 +msgid "" +"在2D-Attention中, ``sp size = hp size * cp size`` 。其中, ``hp size`` 为 ``head" +" parallel size`` , ``cp size`` 为 ``context parallel size`` (Ring-" +"Attention)。 下图展示了 ``hp=2`` , ``cp=4`` 的例子。" +msgstr "" +"In 2D-Attention, ``sp size = hp size * cp size``, where ``hp size`` represents the head parallel size, " +"``cp size`` denotes the context parallel size. The following figure shows an example where hp=2, cp=4." + +#: ../../source/parallel.rst:230 +msgid "" +"在上图中,不同颜色表示不同的head,在做第一个All2All之前,GPU0~3拥有两个head的前4个token; " +"GPU4~7拥有两个head的后4个token。在第一个All2All之后,GPU0~3拥有第一个head的所有token,且将第一个head的所有token切成4份" +",做Ring-Attention,GPU4~7同理;在第2个All2All之后,所有GPU又回到初始状态。" +msgstr "" +"In the above figure, different color represents different head. Before conducting the first All2All, GPU 0~3 process the first 4 tokens for two heads, " +"while GPU 4~7 hold the last 4 tokens of the same two heads. After the first All2All, GPU 0~3 receive all tokens for the first head " +"and divide these tokens into 4 segments to perform Ring-Attention. GPU 4~7 follow a similar process. " +"All GPUs return the initial states after the second All2All." + +#: ../../source/parallel.rst:233 +msgid "InternEvo针对2D-Attention做了一些更进一步的优化:" +msgstr "" +"InternEvo implements several optimizations for 2D-Attention to achieve additional performance enhancements." + +#: ../../source/parallel.rst:235 +msgid "" +"由于因果模型的限制,在Ring-Attention中会导致每个GPU的计算负载不均衡,因此InternEvo参考了 `zigzag " +"`_ ,在2D-" +"Attention中的 ``context parallel`` 使用了zigzag模式" +msgstr "" +"In Ring-Attention, the computation load for each GPU is unevenly distributed due to the causal model. " +"InternEvo addresses this imbalance by implementing zigzag in context parallel as described in `zigzag `_" + +#: ../../source/parallel.rst:236 +msgid "" +"为了充分利用集群的网卡资源,提高通信效率,2D-Attention在做 ``context parallel`` 的时候,引入了一个 " +"``window size`` 概念,即为Double-Ring Attention。下图展示了 ``cp=8`` , " +"``window_size=4`` 的例子。GPU 0~3和GPU 4~7内部分别做inner Ring " +"Attention,进行节点内P2P通信。GPU 0和4做Outer Ring " +"Attention,进行节点间P2P通信,网卡利用示意图如下图所示。" +msgstr "" +"2D-Attention introduces the window size concept in context parallel to optimize the use of NIC resources, known as Double-Ring Attention. " +"The following diagram illustrates an example where ``cp=8``, ``window_size=4``. GPU 0~3 and 4~7 perform the inner Ring Attention respectively, which involves intra-node communication. " +"GPU 0 and GPU 4 carry out the outer Ring Attention, which involves inter-node communication." + +#: ../../source/parallel.rst:242 +msgid "Double-Ring-Attention" +msgstr "Double-Ring-Attention" + +#: ../../source/parallel.rst:244 +msgid "" +"由于2D-Attention中同时涉及到 ``head parallel`` 和 ``context parallel`` " +",因此InternEvo提供了可配置选项,用于控制 ``head parallel`` 和 ``context parallel`` " +"创建通信组的优先级" +msgstr "" +"Since the 2D-Attention involves head parallel and context parallel, InternEvo provides the configuration options to manage" +"the priority of establishing communication groups for head parallel and context parallel." + +#: ../../source/parallel.rst:245 +msgid "" +"为了充分利用网卡资源,需要特别注意创建 ``context parallel`` 通信组。当 ``head parallel`` 优先创建通信组," +" ``context parallel`` 的GPU天然就是interleaved,这时天然能够利用网卡资源;当 ``context " +"parallel`` 优先创建通信组时,这些 ``context parallel`` " +"被分配到的GPU往往是连续的,为了提高通信效率,InternEvo提供了interleaved配置选项,可以在 ``window size > " +"1`` 的情况,重排 ``context parallel`` 的GPU。" +msgstr "" +"It should be noted that the establishment of process group for context parallel to take advantage of NIC resources. " +"When head parallel is given high priority, the GPUs assigned to context parallel are natively interleaved, which is beneficial for utilizing the NIC. " +"Conversely, when context parallel is prioritized, the arrangement of GPUs for context parallel tends to be sequential. " +"To improve the communication efficiency, InternEvo provides an interleaved configuration. " +"This allows for the reorganization of GPUs involved in context parallel when ``window size > 1``." + +#: ../../source/parallel.rst:247 +msgid "下图展示了一个Double-Ring-Attention充分利用网卡资源的示例。" +msgstr "The following figure shows an example of how Double-Ring-Attention optimizes the utilization of NIC resources." + +#: ../../source/parallel.rst:253 +msgid "Communication in Double-Ring-Attention" +msgstr "Communication in Double-Ring-Attention" + +#: ../../source/parallel.rst:255 +msgid "InternEvo在parallel config里面添加了sequence_2D用于配置2D-Attention。" +msgstr "InternEvo introduces the sequence_2D in parallel configuration to set up 2D-Attention." + +#: ../../source/parallel.rst:274 +msgid "``sequence_2D.enable`` 字段表示是否启用2D-Attention" +msgstr "``sequence_2D.enable`` indicates whether to employ 2D-Attention" + +#: ../../source/parallel.rst:276 +msgid "``sequence_2D.head_size`` 字段表示head parallel size" +msgstr "``sequence_2D.head_size`` denotes the head parallel size" + +#: ../../source/parallel.rst:278 +msgid "``sequence_2D.context_size`` 字段表示context parallel size" +msgstr "``sequence_2D.context_size`` represents the context parallel size" + +#: ../../source/parallel.rst:280 +msgid "``sequence_2D.window_size`` 字段表示Double-Ring Attention中的window_size" +msgstr "``sequence_2D.window_size`` indicates the windo_size in Double-Ring Attention" + +#: ../../source/parallel.rst:282 +msgid "" +"``sequence_2D.device_placement_strategy.head_first`` 字段表示是否优先分配head " +"parallel通信组,若为False,则为context-first" +msgstr "" +"``sequence_2D.device_placement_strategy.head_first`` determines whether to prioritize the establishment of the head parallel process group." +"If set to False, the context parallel is given priority instead." + +#: ../../source/parallel.rst:284 +msgid "" +"``sequence_2D.device_placement_strategy.interleavd`` 字段表示是否对context " +"parallel的GPU重排,该字段在 " +"``sequence_2D.device_placement_strategy.head_first=False`` 和 " +"``sequence_2D.window_size>1`` 时,推荐设置为 ``True``" +msgstr "" +"``sequence_2D.device_placement_strategy.interleavd`` determines whether to rearrange the GPUs for context parallel." +"It is recommend to set it to True when ``sequence_2D.device_placement_strategy.head_first=False`` and ``sequence_2D.window_size>1``." + +#: ../../source/parallel.rst:286 +msgid "" +"关于 2D-Attention更多的设计思路和性能评测,请参考论文 `LoongTrain: Efficient Training of " +"Long-Sequence LLMs with Head-Context Parallelism " +"`_" +msgstr "" +"For more design concepts and performance evaluations of 2D-Attention, please refer to the paper" +" `LoongTrain: Efficient Training of Long-Sequence LLMs with Head-Context Parallelism `_" + #~ msgid "A tuple of (output, label, loss), loss and label could be None." #~ msgstr "" diff --git a/doc/code-docs/locales/en/LC_MESSAGES/training.po b/doc/code-docs/locales/en/LC_MESSAGES/training.po index 7ee2c17a..25b4a492 100644 --- a/doc/code-docs/locales/en/LC_MESSAGES/training.po +++ b/doc/code-docs/locales/en/LC_MESSAGES/training.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: InternLM \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-30 16:09+0800\n" +"POT-Creation-Date: 2024-10-08 17:17+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.12.1\n" #: ../../source/training.rst:2 msgid "启动训练脚本" @@ -27,16 +27,19 @@ msgid "" "用户在安装了InternEvo之后,需要自行编写训练启动脚本,请参考: `train.py " "`_" msgstr "" -"After installing InternEvo, users need to write their own training startup scripts. Please refer to:" -" `train.py `_ " +"After installing InternEvo, users need to write their own training " +"startup scripts. Please refer to: `train.py " +"`_ " #: ../../source/training.rst:6 msgid "" "脚本中的流程可以分为三步:参数解析、初始化、启动训练。其中参数解析和初始化过程的具体原理参见: `训练初始化 " "`_" msgstr "" -"The process in the script can be divided into three steps: parameter parsing, initialization, and starting training." -" For the specific principles of parameter parsing and initialization, please refer to: `Training Initialization " +"The process in the script can be divided into three steps: parameter " +"parsing, initialization, and starting training. For the specific " +"principles of parameter parsing and initialization, please refer to: " +"`Training Initialization " "`_" #: ../../source/training.rst:9 @@ -49,8 +52,11 @@ msgid "" "`_" msgstr "" -"Call the parse_args function to parse the parameters set in the configuration file when starting the training. For more details, see:" -" `Argument Parsing `_" +"Call the parse_args function to parse the parameters set in the " +"configuration file when starting the training. For more details, see: " +"`Argument Parsing " +"`_" #: ../../source/training.rst:17 msgid "初始化过程" @@ -65,8 +71,10 @@ msgid "" "调用 ``initialize_distributed_env`` 函数,支持通过 slurm 或 torch " "方式启动训练脚本,并传入配置文件、端口号、进程随机种子等信息。函数详细说明如下:" msgstr "" -"Call the initialize_distributed_env function, which supports launching the training script through Slurm or Torch," -" and pass in information such as the configuration file, port number, and process random seed. Detailed description of the function is as follows:" +"Call the initialize_distributed_env function, which supports launching " +"the training script through Slurm or Torch, and pass in information such " +"as the configuration file, port number, and process random seed. Detailed" +" description of the function is as follows:" #: ../../source/training.rst:27 msgid "初始化模型" @@ -76,7 +84,10 @@ msgstr "Initialize Model" msgid "" "详细介绍请参考: `模型初始化 `_" -msgstr "Detailed introduction refer to: `Model Initialization `_" +msgstr "" +"Detailed introduction refer to: `Model Initialization " +"`_" #: ../../source/training.rst:34 msgid "初始化训练数据加载器" @@ -86,7 +97,10 @@ msgstr "Initialize Training Dataloader" msgid "" "详细介绍请参考: `数据加载器初始化 `_" -msgstr "Detailed introduction refer to: `Dataloader Initialization `_" +msgstr "" +"Detailed introduction refer to: `Dataloader Initialization " +"`_" #: ../../source/training.rst:41 msgid "初始化验证数据加载器" @@ -94,7 +108,10 @@ msgstr "Initialize Validation Dataloader" #: ../../source/training.rst:46 msgid "初始化验证数据加载器,加载过程与训练数据加载类似,通过配置文件中的 ``VALID_FOLDER `` 字段设置验证数据集路径。" -msgstr "Initialize the validation data loader, which has a loading process similar to that of the training data. The path to the validation dataset is set through the VALID_FOLDER field in the configuration file." +msgstr "" +"Initialize the validation data loader, which has a loading process " +"similar to that of the training data. The path to the validation dataset " +"is set through the VALID_FOLDER field in the configuration file." #: ../../source/training.rst:48 msgid "初始化Trainer" @@ -106,8 +123,11 @@ msgid "" "``internlm.core.trainer.Trainer`` 管理。在定义了训练引擎和调度器之后,我们可以调用 Trainer API " "来执行模型训练、评估、梯度清零和参数更新等。" msgstr "" -"The TrainerBuilder interface inherits from the Trainer class, and the training API of InternEvo is managed by internlm.core.trainer.Trainer." -" After defining the training engine and scheduler, we can call the Trainer API to perform model training, evaluation, gradient clearing, and parameter updating, etc." +"The TrainerBuilder interface inherits from the Trainer class, and the " +"training API of InternEvo is managed by internlm.core.trainer.Trainer. " +"After defining the training engine and scheduler, we can call the Trainer" +" API to perform model training, evaluation, gradient clearing, and " +"parameter updating, etc." #: ../../source/training.rst:55 msgid "有关详细用法,请参阅 Trainer API 文档和示例。" @@ -115,13 +135,94 @@ msgstr "" "For detailed usage, please refer to Trainer API documentation and " "examples." +#: internlm.core.trainer.Trainer:1 of +msgid "" +"This is a class tending for easy deployments of users' training and " +"evaluation instead of writing their own scripts." +msgstr "" + +#: internlm.core.trainer.Trainer internlm.core.trainer.Trainer.execute_schedule +#: of +msgid "参数" +msgstr "" + +#: internlm.core.trainer.Trainer:4 of +msgid "Engine responsible for the process function." +msgstr "" + +#: internlm.core.trainer.Trainer:6 of +msgid "Runtime schedule. Defaults to None." +msgstr "" + +#: internlm.core.trainer.Trainer.engine:1 of +msgid "" +"Returns the engine that responsible for managing the training and " +"evaluation process." +msgstr "" + +#: internlm.core.trainer.Trainer.schedule:1 of +msgid "Returns the runtime scheduler." +msgstr "" + +#: internlm.core.trainer.Trainer.uses_pipeline:1 of +msgid "Returns whether the pipeline parallel is used or not." +msgstr "" + +#: internlm.core.trainer.Trainer.train:1 of +msgid "Sets the model to training mode." +msgstr "" + +#: internlm.core.trainer.Trainer.eval:1 of +msgid "Sets the model to evaluation mode." +msgstr "" + +#: internlm.core.trainer.Trainer.zero_grad:1 of +msgid "Sets the gradient of all parameters in the model to zero." +msgstr "" + +#: internlm.core.trainer.Trainer.step:1 of +msgid "Executes the parameter update step." +msgstr "" + +#: internlm.core.trainer.Trainer.execute_schedule:1 of +msgid "" +"Runs the forward, loss computation, and backward for the model. Returns a" +" tuple of (output, label, loss)." +msgstr "" + +#: internlm.core.trainer.Trainer.execute_schedule:4 of +msgid "The data iterator." +msgstr "" + +#: internlm.core.trainer.Trainer.execute_schedule:6 of +msgid "Additional keyword arguments." +msgstr "" + +#: internlm.core.trainer.Trainer.execute_schedule of +msgid "返回" +msgstr "" + +#: internlm.core.trainer.Trainer.execute_schedule:8 of +msgid "A tuple of (output, label, loss, moe_loss)." +msgstr "" + +#: internlm.core.trainer.Trainer.execute_schedule of +msgid "返回类型" +msgstr "" + +#: internlm.core.trainer.Trainer.execute_schedule:9 of +msgid "Tuple[:class:`torch.Tensor`]" +msgstr "" + #: ../../source/training.rst:61 msgid "启动训练过程" msgstr "Start Training Process" #: ../../source/training.rst:66 msgid "首先,通过 ``self.train()`` 方法,将模型设置为training状态。" -msgstr "Firstly, by using the self.train() method, the model is set to training mode." +msgstr "" +"Firstly, by using the self.train() method, the model is set to training " +"mode." #: ../../source/training.rst:68 msgid "" @@ -131,13 +232,15 @@ msgid "" "对模型训练结果进行评估。 最后,如果开启了保存ckpt功能,通过 ``try_save_checkpoint`` " "函数保留训练中间状态以及最终训练结果。" msgstr "" -"During each step of the training process, the load_new_batch function is used to load the dataset." -" Then, the execute_schedule scheduler is used to initiate training, and the forward_backward_step " -"begins the forward and backward training process. Afterwards, the self.step() updates the parameters" -" and returns the gradient values. If the step count reaches the number required for validation," -" the model's training results are evaluated using evaluate_on_val_dls. Finally, if the checkpoint" -" saving function is enabled, the intermediate training state and the final training results are" -" saved using the try_save_checkpoint function." +"During each step of the training process, the load_new_batch function is " +"used to load the dataset. Then, the execute_schedule scheduler is used to" +" initiate training, and the forward_backward_step begins the forward and " +"backward training process. Afterwards, the self.step() updates the " +"parameters and returns the gradient values. If the step count reaches the" +" number required for validation, the model's training results are " +"evaluated using evaluate_on_val_dls. Finally, if the checkpoint saving " +"function is enabled, the intermediate training state and the final " +"training results are saved using the try_save_checkpoint function." #~ msgid "InternLM 的训练流程可以归纳为两个步骤:" #~ msgstr "The training process of InternLM can be summarized into two steps: " diff --git a/doc/code-docs/source/parallel.rst b/doc/code-docs/source/parallel.rst index 1ad9ff63..9b162286 100644 --- a/doc/code-docs/source/parallel.rst +++ b/doc/code-docs/source/parallel.rst @@ -209,3 +209,78 @@ ZeRO1.5 的实现使用了分层分片的概念,通过配置值 ``parallel.zer .. autoclass:: internlm.solver.optimizer.hybrid_zero_optim.HybridZeroOptimizer :members: + +2D-Attention +----------------- +2D-Attention是InternEvo系统扩展ISP的序列化并行方案,集成了Ring-Attention和ISP,能够支持更长的序列。 +ISP由于需要在attention前后分别进行All2All通信,在 ``sequence parallel`` 和 ``head parallel`` 之间进行切换, +因此 ``sp size`` 自然受到 ``head number`` 的限制,无法进行扩展;而Ring-Attention由于在attention计算过程中需要进行P2P通信,可能会遇到通信低效的问题。 + +2D-Attention将ISP和Ring-Attention相结合,组成一个混合序列并行,能够解除 ``sp size`` 小于等于 ``head number`` 的限制,同时避免P2P低效带宽利用。 + +在2D-Attention中, ``sp size = hp size * cp size`` 。其中, ``hp size`` 为 ``head parallel size`` , ``cp size`` 为 ``context parallel size`` (Ring-Attention)。 +下图展示了 ``hp=2`` , ``cp=4`` 的例子。 + +.. figure:: ../../imgs/2d-attn.PNG + :scale: 80% + :class: with-border + + 2D-Attention + +在上图中,不同颜色表示不同的head,在做第一个All2All之前,GPU0~3拥有两个head的前4个token; +GPU4~7拥有两个head的后4个token。在第一个All2All之后,GPU0~3拥有第一个head的所有token,且将第一个head的所有token切成4份,做Ring-Attention,GPU4~7同理;在第2个All2All之后,所有GPU又回到初始状态。 + +InternEvo针对2D-Attention做了一些更进一步的优化: + +- 1. 由于因果模型的限制,在Ring-Attention中会导致每个GPU的计算负载不均衡,因此InternEvo参考了 `zigzag `_ ,在2D-Attention中的 ``context parallel`` 使用了zigzag模式 +- 2. 为了充分利用集群的网卡资源,提高通信效率,2D-Attention在做 ``context parallel`` 的时候,引入了一个 ``window size`` 概念,即为Double-Ring Attention。下图展示了 ``cp=8`` , ``window_size=4`` 的例子。GPU 0~3和GPU 4~7内部分别做inner Ring Attention,进行节点内P2P通信。GPU 0和4做Outer Ring Attention,进行节点间P2P通信,网卡利用示意图如下图所示。 + +.. figure:: ../../imgs/double-ring.PNG + :scale: 80% + :class: with-border + + Double-Ring-Attention + +- 3. 由于2D-Attention中同时涉及到 ``head parallel`` 和 ``context parallel`` ,因此InternEvo提供了可配置选项,用于控制 ``head parallel`` 和 ``context parallel`` 创建通信组的优先级 +- 4. 为了充分利用网卡资源,需要特别注意创建 ``context parallel`` 通信组。当 ``head parallel`` 优先创建通信组, ``context parallel`` 的GPU天然就是interleaved,这时天然能够利用网卡资源;当 ``context parallel`` 优先创建通信组时,这些 ``context parallel`` 被分配到的GPU往往是连续的,为了提高通信效率,InternEvo提供了interleaved配置选项,可以在 ``window size > 1`` 的情况,重排 ``context parallel`` 的GPU。 + +下图展示了一个Double-Ring-Attention充分利用网卡资源的示例。 + +.. figure:: ../../imgs/nic.PNG + :scale: 80% + :class: with-border + + Communication in Double-Ring-Attention + +InternEvo在parallel config里面添加了sequence_2D用于配置2D-Attention。 + +.. code-block:: python + + parallel = dict( + zero1=dict(size=-1), + tensor=dict(size=2, mode="isp"), + pipeline=dict(size=1, interleaved_overlap=True), + weight=dict(size=4, overlap=True, memory_pool=False), + sequence_2D=dict( + enable=False, + head_size=2, + context_size=4, + window_size=1, + device_placement_strategy=dict(head_first=True, interleaved=False), + ), + ) + + +``sequence_2D.enable`` 字段表示是否启用2D-Attention + +``sequence_2D.head_size`` 字段表示head parallel size + +``sequence_2D.context_size`` 字段表示context parallel size + +``sequence_2D.window_size`` 字段表示Double-Ring Attention中的window_size + +``sequence_2D.device_placement_strategy.head_first`` 字段表示是否优先分配head parallel通信组,若为False,则为context-first + +``sequence_2D.device_placement_strategy.interleavd`` 字段表示是否对context parallel的GPU重排,该字段在 ``sequence_2D.device_placement_strategy.head_first=False`` 和 ``sequence_2D.window_size>1`` 时,推荐设置为 ``True`` + +关于 2D-Attention更多的设计思路和性能评测,请参考论文 `LoongTrain: Efficient Training of Long-Sequence LLMs with Head-Context Parallelism `_ diff --git a/doc/imgs/2d-attn.PNG b/doc/imgs/2d-attn.PNG new file mode 100644 index 0000000000000000000000000000000000000000..e8397464225d42ad55757b1530fe710a0d3482d6 GIT binary patch literal 62398 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 I6V~_ne`*!Z?f?J) literal 0 HcmV?d00001 diff --git a/doc/imgs/double-ring.PNG b/doc/imgs/double-ring.PNG new file mode 100644 index 0000000000000000000000000000000000000000..4855d8efb1b2b87099c7f8652058d534200a88cc GIT binary patch literal 46140 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 z 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 Ld9l)$`hNcpJ~jyq literal 0 HcmV?d00001