Skip to content

Clarification on step indexing in Algorithm 1 vs. pipelined parallelism description #5

Description

@1854039

Hi, thanks for the great work. I was reading Sec. 3.2 and Algorithm 1, and I found a small notation ambiguity regarding the denoising step index.

In Algorithm 1, the update at denoising step (j) is written as:

$$ x_{t_{j+1}}^{(n)} \leftarrow x_{t_j}^{(n)} + v_\theta\left( x_{t_j}^{(n)}, t_j \mid x_{t_{j+1}}^{(< n)} \right) \left( \sigma_{t_{j+1}} - \sigma_{t_j} \right). $$

So, during the (j)-th denoising transition (t_j \rightarrow t_{j+1}), block (B_n) depends on:

$$ x_{t_j}^{(n)} $$

from its own previous noise level, and on:

$$ x_{t_{j+1}}^{(< n)} $$

from previous blocks after they have already completed the same denoising step.

However, in the pipelined parallelism paragraph, the paper states:

block (B_n) at step (j) depends only on (B_{<n}) at step (j) and on (B_n) at step (j-1)

This sentence seems to use “step (j)” to refer to the state after completing the (j)-th denoising update, i.e., (x_{t_{j+1}}), rather than the input noise level (x_{t_j}) used in Algorithm 1.

Equivalently, if we define:

$$ Y_j^{(n)} := x_{t_{j+1}}^{(n)}, $$

then the dependency becomes:

$$ Y_j^{(n)} \leftarrow \mathrm{Update} \left( Y_{j-1}^{(n)} \mid Y_j^{(< n)} \right), $$

which matches the pipeline description.

So I believe the algorithm and the pipeline description are consistent, but the indexing convention may be slightly confusing because Algorithm 1 uses (j) for the denoising transition (t_j \rightarrow t_{j+1}), while the pipeline paragraph seems to use “step (j)” for the state after that transition.

Would it be possible to clarify this in the text? For example, the pipeline paragraph could mention that “block (B_n) at step (j)” refers to the state after completing the (j)-th denoising update, corresponding to (x_{t_{j+1}}^{(n)}) in Algorithm 1.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions