-
Notifications
You must be signed in to change notification settings - Fork 10
feat(it-opt): give each ensemble member its own trunk latent #366
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
Open
Open
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
4c441b1
Change in md to remove paper related conclusions.
smallfishabc 4ad6694
Change the optimization to N forward method so each optimization star…
smallfishabc 996e090
Change the optimization to N forward method so each optimization star…
smallfishabc a585ee7
chore(tests): drop stale pre-#329 copy of the synthetic-sf test
smallfishabc d869af0
Merge remote-tracking branch 'origin/fy/it-optimization' into fy/it-t…
smallfishabc 4cf854d
chore(it-opt): track the ensemble runner and scoring scripts
smallfishabc d7460a6
Merge stale origin/fy/it-test-ensemble-sampling
smallfishabc db905bf
feat(grid-search): run latent_opt (IT-opt) with 2 jobs per GPU
smallfishabc 907faa8
fix(it-opt): handle chain-relabel & CYS/CSO references in paper RSCC/…
smallfishabc 3c7bc01
feat(utils): relabel non-A/B altlocs so A/B-only tooling keeps both c…
smallfishabc 7087cd9
fix(it-opt): pair scorer atoms by verified residue frame, not id overlap
smallfishabc 4d959a4
feat(it-opt): forward the paper's coordinate-guidance recipe from the…
smallfishabc 992fadf
Merge remote-tracking branch 'origin/fy/it-optimization' into fy/it-t…
smallfishabc f725c91
chore(it-opt): untrack the experiment scratch tooling
smallfishabc dea8f7f
fix(it-opt): clear this branch's own lint and type findings
smallfishabc e2393f4
test(runs): register the IT-opt presets in the bundled experiment set
smallfishabc 5c0b817
Revert "test(runs): register the IT-opt presets in the bundled experi…
smallfishabc 143db94
Merge remote-tracking branch 'origin/fy/it-optimization' into fy/it-t…
smallfishabc c316ae8
test(runs): register the IT-opt presets in the bundled set
smallfishabc File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| description = "IT-opt s_plus_z on 1 GPU: all proteins run sequentially in one worker." | ||
|
|
||
| # Run with: | ||
| # sampleworks-runs --preset it_opt_1gpu | ||
| # | ||
| # One job per protein, one worker, so 40 proteins is 40 jobs run back to back. The sibling | ||
| # it_opt_4gpu.toml is this same configuration with gpu_count = 4, which splits those jobs over | ||
| # four workers. | ||
| # | ||
| # The settings below are the defaults of it_opt_scratch/slurm_ensemble_and_score.sh, so a run | ||
| # here is comparable to the recorded trees. To sample a different mode, change which-latent | ||
| # (single = s, pair = z, both = s+z); for the unguided or coordinate-DPS references use | ||
| # scalers = "pure_guidance" with step-scaler-type = "none" or "noisespace" instead. | ||
|
|
||
| [defaults] | ||
| DATA_DIR = "/data/inputs" | ||
| RESULTS_DIR = "/data/results/it_opt_1gpu" | ||
| PROTEINS_CSV = "${DATA_DIR}/proteins.csv" | ||
|
|
||
| # ensemble-sizes and gradient-weights MUST stay single values. Their defaults are "1 2 4 8" and | ||
| # "0.01 0.1 0.2", which would expand one job per protein into twelve. gradient-weights only | ||
| # feeds the step scaler, which latent_opt does not use, so its value is arbitrary. | ||
| # align-to-input matches the scratch runner, which set it unconditionally; the grid defaults it | ||
| # off. bond-length-weight is named explicitly because the scratch runner defaulted it to 0.0. | ||
| [shared_args] | ||
| proteins = "${PROTEINS_CSV}" | ||
| model = "protenix" | ||
| scalers = "latent_opt" | ||
| which-latent = "both" | ||
| ensemble-sizes = "8" | ||
| gradient-weights = "0.0" | ||
| num-diffusion-steps = 200 | ||
| bond-length-weight = 5e-5 | ||
| align-to-input = true | ||
|
|
||
| [[jobs]] | ||
| name = "s_plus_z" | ||
| env = "protenix" | ||
| gpu_count = 1 | ||
| output_subdir = "s_plus_z" | ||
| args = {} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| description = "IT-opt s_plus_z on 4 GPUs: proteins split across four workers, one per GPU." | ||
|
|
||
| # Run with: | ||
| # sampleworks-runs --preset it_opt_4gpu | ||
| # | ||
| # Identical to it_opt_1gpu.toml except for gpu_count and jobs-per-gpu. run_grid_search sets | ||
| # max_workers = len(gpus) * jobs-per-gpu and gives worker i the slice jobs[i::max_workers], so | ||
| # 4 GPUs x 2 gives 8 workers and 40 proteins become 5 jobs each rather than 40 in a row. | ||
| # | ||
| # jobs-per-gpu = 2 matches the recorded run (--jobs-per-gpu 2 on 4 GPUs). Two jobs share a card, | ||
| # each holding its own copy of the weights: a measured single job peaked near 11 GiB of an 80 GiB | ||
| # H100, so two fit with wide margin. Raise it further only after checking VRAM on the largest | ||
| # protein in the set, since cost scales with atom count. | ||
| # | ||
| # Settings are the defaults of it_opt_scratch/slurm_ensemble_and_score.sh; see the sibling | ||
| # preset for how to switch mode. | ||
|
|
||
| [defaults] | ||
| DATA_DIR = "/data/inputs" | ||
| RESULTS_DIR = "/data/results/it_opt_4gpu" | ||
| PROTEINS_CSV = "${DATA_DIR}/proteins.csv" | ||
|
|
||
| # ensemble-sizes and gradient-weights MUST stay single values. Their defaults are "1 2 4 8" and | ||
| # "0.01 0.1 0.2", which would expand one job per protein into twelve. gradient-weights only | ||
| # feeds the step scaler, which latent_opt does not use, so its value is arbitrary. | ||
| # align-to-input matches the scratch runner, which set it unconditionally; the grid defaults it | ||
| # off. bond-length-weight is named explicitly because the scratch runner defaulted it to 0.0. | ||
| [shared_args] | ||
| proteins = "${PROTEINS_CSV}" | ||
| model = "protenix" | ||
| scalers = "latent_opt" | ||
| which-latent = "both" | ||
| ensemble-sizes = "8" | ||
| gradient-weights = "0.0" | ||
| num-diffusion-steps = 200 | ||
| bond-length-weight = 5e-5 | ||
| align-to-input = true | ||
|
|
||
| [[jobs]] | ||
| name = "s_plus_z" | ||
| env = "protenix" | ||
| gpu_count = 4 | ||
| output_subdir = "s_plus_z" | ||
| args = { jobs-per-gpu = 2 } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.