Skip to content

Conversation

@andrew-k-park
Copy link
Contributor

Details:

  • This PR enhances RMS normalization fusion to support pattern without learnable affine parameter (gamma), enabling optimization of transformer architecture like LTX-Video
  • The existing RMS fusion pass only supported pattern with constant gamma parameter. However, some transformer model (e.g., LTX-Video's attention layers) use RMS normalization followed by dynamic scaling operation where the scale factor is non-constant. These pattern was previously unfused, missing optimization opportunity
  • When elementwise_affine=False (equivalent to Pytorch RMS's attribute), RMS normalization does not include learnable gamma parameters. The gamma is implicitly fixed to ones, reducing the decomposed graph pattern
    from:
    x → Power(2) → ReduceMean → Add(eps) → Sqrt → Divide(1/√) → Multiply(x, 1/√) → Multiply(gamma)
    to:
    x → Power(2) → ReduceMean → Add(eps) → Sqrt → Divide(1/√) → Multiply(x, 1/√) [NO gamma multiplication]
image-2026-01-26-22-53-05-973

Tickets:

@andrew-k-park andrew-k-park requested review from a team as code owners January 29, 2026 04:20
@github-actions github-actions bot added category: GPU OpenVINO GPU plugin category: transformations OpenVINO Runtime library - Transformations labels Jan 29, 2026
@andrew-k-park andrew-k-park requested a review from a team as a code owner January 29, 2026 12:46
@github-actions github-actions bot added the category: TEMPLATE OpenVINO Template plugin label Jan 29, 2026
@andrew-k-park andrew-k-park added this to the 2026.1 milestone Jan 29, 2026
Copy link
Contributor

@e-ddykim e-ddykim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me for the GPU part

@andrew-k-park
Copy link
Contributor Author

@CuriousPanCake Could you review this PR?

Copy link
Contributor

@CuriousPanCake CuriousPanCake left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, review the comments for the Transformations part

@pereanub
Copy link
Contributor

pereanub commented Feb 3, 2026

@dmatveev, this PR is breaking some NPUW func test. Please have a look.

@andrew-k-park andrew-k-park force-pushed the ltx_video_rms branch 2 times, most recently from e7d36da to 757801a Compare February 4, 2026 03:47
@andrew-k-park
Copy link
Contributor Author

@dmatveev, this PR is breaking some NPUW func test. Please have a look.
In my opinion, this NPU test appears to be related to the CPU plugin’s transformation pipeline. In the CPU plugin, I have made a change so that the relevant pattern is no longer matched in RMSFusion.

@andrew-k-park andrew-k-park force-pushed the ltx_video_rms branch 2 times, most recently from c9733df to c284fb2 Compare February 5, 2026 00:29
@andrew-k-park
Copy link
Contributor Author

@CuriousPanCake Could you please review the updated code that apply your comments again?

@CuriousPanCake
Copy link
Contributor

LGTM from the transformations side

@e-ddykim e-ddykim enabled auto-merge February 10, 2026 00:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category: GPU OpenVINO GPU plugin category: TEMPLATE OpenVINO Template plugin category: transformations OpenVINO Runtime library - Transformations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants