deepmodeling / deepmodeling/dpgen
[Feature Request] support cross-architecture ensembles by supporting per-model training configurations
- Dominant language
- Python
- Stars
- 399
- Forks
- 198
- Avg merge
- 16d 12h
- Merged PRs (30d)
- 41
Description
## Motivation
DPGEN model deviation can consume multiple model files, but the training side currently accepts one `default_training_param` and copies the same architecture to all `numb_models`, changing only random seeds. This prevents a first-class DPA2/DPA3/DPA4 committee from being trained and managed by one DPGEN workflow.
## Proposed behavior
Allow one training configuration per committee member while keeping the existing single-dict form backward compatible. A possible interface is:
```json
"default_training_param": [
{"model": {"descriptor": {"type": "dpa2"}}, "...": "..."},
{"model": {"descriptor": {"type": "dpa3"}}, "...": "..."},
{"model": {"descriptor": {"type": "dpa4"}}, "...": "..."}
]
```
Minimum behavior:
- the list length must equal `numb_models`;
- deep-copy and normalize each member independently, including seeds, training data, type map, restart/reuse, and loss settings;
- preserve current behavior when a single dict is supplied;
- validate committee compatibility before model deviation, including type-map order, cutoff, output class, and fparam/aparam dimensions;
- add an end-to-end DPA2 + DPA3 + DPA4 regression test.
## Current limitation
The current generator reads one `default_training_param` and mutates/copies it for every model, so users can only obtain same-architecture, different-seed committees without managing heterogeneous models externally.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the training-side generator path that reads default_training_param and trace how it copies, normalizes, and assigns settings across numb_models. Review the model-deviation compatibility checks and existing end-to-end tests; done means both the single-dict form and per-member configurations work, with validation and a DPA2+DPA3+DPA4 regression test.
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
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100