pymc-devs / pymc-devs/ptgp

Training techniques: natural gradients, hybrid optimizers, and more

Open
#13 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
8
Forks
4
Avg merge
2d 2h
Merged PRs (30d)
4

Description

Ideas for improving the training pipeline beyond what ptgp currently ships (compile_training_step with Adam, compile_scipy_objective with L-BFGS-B, minimize_staged_vfe).

  • Natural gradients for SVGP — update q_mu/q_sqrt in natural parameter space. Typically 10-100x fewer iterations to the same ELBO. The param_groups infrastructure already supports separate learning rates; this needs a custom optimizer that computes the Fisher-metric inverse for the variational parameters.
  • Adam warmup + L-BFGS-B polish — Adam for the first ~200 steps to get into the right basin, then L-BFGS-B for precise convergence. Handles mixed-scale optimization (hyperparams + inducing points) more robustly than L-BFGS-B alone.

What else?

What other training techniques or optimizer improvements would be useful?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing entry points compile_training_step, compile_scipy_objective, and minimize_staged_vfe, along with the param_groups infrastructure. The issue proposes several optimizer directions but names no files, tests, or acceptance criteria, so the implementation scope and definition of done still need to be established.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.