--- license: apache-2.0 base_model: meta-llama/Llama-3.2-3B-Instruct tags: - polymer - matched-molecular-pairs - chemistry - lora --- # PolyEdit artifacts Models behind the results in [POLYEDIT](https://github.com/promotion-kim/POLYEDIT) (`results/results.md`). The task: given a polymer, a property and a target interval, return a single-step matched-pair edit that lands the property inside the interval. ## adapters/ LoRA on `meta-llama/Llama-3.2-3B-Instruct` (rank 32, alpha 64, all-linear, 3 epochs, 7,143 steps, assistant-only loss). Splits are component-based 80/20 over PolymerGraphID with cross-split pairs removed. `training_meta.json` in each folder carries the full configuration. | Folder | Training target | Interval | Arm | |---|---|---|---| | `1x-product` | `{product, rules}` | 1x | A (free-form); B is this decoded rule-first | | `1x-rules` | `{rules}` | 1x | C (rule-only) | | `2x-product` | `{product, rules}` | 2x | A/B, headline numbers | | `2x-rules` | `{rules}` | 2x | C, headline numbers | `edit_success` on the held-out split (44,492 prompts, 917 source polymers, clustered CI): | Arm | 1x train / 1x eval | 2x train / 2x eval | |---|---:|---:| | A. free-form | 9.08% | 12.64% [11.70, 13.48] | | B. rule-first | 9.27% | **14.26% [13.44, 15.01]** | | C. rule-only | 7.08% | 11.36% [10.55, 12.16] | `edit_success` requires both that the property lands in the interval *and* that the product is genuinely an edit of the source. Scoring the property alone credits a model for retrieving a memorised polymer: 40% of the free-form model's apparent successes were exactly that. ## verifiers/ TransPolymer and polyBERT fine-tuned as property regressors. Each `.json` holds held-out metrics. | Folder | What | Note | |---|---|---| | `v1` | absolute values, MMP corpus only (1,375 polymers) | superseded | | `v2` | absolute values, plus external per-property labels (2,696) | **current** | | `delta` | property *changes* over 144,932 matched pairs | negative result | **These cannot be used to judge success.** Their RMSE is 1.1-12.4x the interval they would have to decide membership of, and doubling the training data does not change that -- a committee of both confirms only 0.5% of otherwise-unlabelled products. They are usable for *ranking* candidates, which is what a reward needs, though even there neighbouring edits of one source are much harder (0.735 on Egc) than random polymer pairs (0.898). The `delta` models were an attempt to fix that by predicting changes instead of absolute values, using 62x more supervision. Neighbour discrimination did not move (0.734), and as a selector they are worse than `v2` (10.26% vs 13.54%). Kept for reproducibility. ## Usage ```bash git clone https://github.com/promotion-kim/POLYEDIT python scripts/eval_polyedit_llm.py \ --base_model meta-llama/Llama-3.2-3B-Instruct \ --adapter /adapters/2x-rules \ --answer rules --decoding rule_first --interval_scale 2 \ --name run --out run.json ``` `--decoding rule_first` applies the model's own rule to the source with RDKit rather than trusting the product string it emits, which removes the retrieval route entirely: every valid product is then an edit by construction. ## Data Derived from a DFT-labelled matched-molecular-pair corpus of 95,186 pairs over 2,328 polymers (Egc, Egb, Eea, Ei, EPS, Nc, Xc, Eat). The corpus itself is not redistributed here.