Add channel-wise gated delta rule custom op (#20913)#20913
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/20913
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit 06d54e6 with merge base e500fee ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
@JakeStevens has exported this pull request. If you are a Meta employee, you can view the originating Diff in D111952369. |
This PR needs a
|
Summary:
channel-wise gated DeltaNet / KDA recurrence:
```
S_t = (I - beta_t k_t k_t^T) Diag(alpha_t) S_{t-1} + beta_t k_t v_t^T
o_t = S_t^T q_t
```
Unlike the scalar recurrent_gated_delta_rule, the gate is per-key-channel
This lands a straightforward per-token recurrence; later commits optimize it.
Differential Revision: D111952369
348e582 to
3bb5866
Compare
Summary:
channel-wise gated DeltaNet / KDA recurrence:
```
S_t = (I - beta_t k_t k_t^T) Diag(alpha_t) S_{t-1} + beta_t k_t v_t^T
o_t = S_t^T q_t
```
Unlike the scalar recurrent_gated_delta_rule, the gate is per-key-channel
This lands a straightforward per-token recurrence; later commits optimize it.
Differential Revision: D111952369
3bb5866 to
06d54e6
Compare
Summary:
channel-wise gated DeltaNet / KDA recurrence:
Unlike the scalar recurrent_gated_delta_rule, the gate is per-key-channel
This lands a straightforward per-token recurrence; later commits optimize it.
Differential Revision: D111952369