Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enable pseudo-inverse behavior in eigendecomposition-based amortized computation #120

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

anana10c
Copy link
Contributor

@anana10c anana10c commented Mar 31, 2025

Enable pseudo-inverse behavior in eigendecomposition-based computation with a unique config PseudoInverseConfig inheriting from NonInvertibleHandlingConfig. (Pseudo-inverse implementation adapted from #11.) Refactor enhance_stability flag as an argument for RegularizationConfig, another NonInvertibleHandlingConfig that perturbs the matrix with a given epsilon, i.e. the default behavior.

Note that the inverse root/exponent computation has been refactored out into scale_and_pow_eigenvalues(), which fixes a bug introduced in EigendecomposedShampooPreconditionerList where the eigenvalues were not being adjusted by the minimum eigenvalue (if it was negative) before being scaled by epsilon.

In the future, we intend to generalize the pseudo-inverse to all amortized computation methods, so noninvertible_handling_config should eventually be moved under MatrixFunctionConfig.

Changes ported from D71908578 (internal) to OSS Shampoo.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Mar 31, 2025
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D72204068

anana10c added a commit to anana10c/optimizers that referenced this pull request Apr 1, 2025
…computation (facebookresearch#120)

Summary:

Port changes from D71908578 to OSS Shampoo.

Differential Revision: D72204068
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D72204068

…computation (facebookresearch#120)

Summary:

Port changes from D71908578 to OSS Shampoo.

Differential Revision: D72204068
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D72204068

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants