Text Generation
PEFT
English
Chinese
hypernetwork
hyper-lora
lora
role-play
character-impersonation
persona
dialogue
phase-tree
Instructions to use IAAR-Shanghai/phase_tree_models with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use IAAR-Shanghai/phase_tree_models with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
| license: cc-by-nc-4.0 | |
| base_model: Qwen/Qwen2.5-7B-Instruct | |
| language: | |
| - en | |
| - zh | |
| pipeline_tag: text-generation | |
| library_name: peft | |
| tags: | |
| - hypernetwork | |
| - hyper-lora | |
| - lora | |
| - role-play | |
| - character-impersonation | |
| - persona | |
| - dialogue | |
| - phase-tree | |
| datasets: | |
| - IAAR-Shanghai/phase_tree_data | |
| # PHASE-Tree Models | |
| Released model checkpoints for the **PHASE-Tree** project | |
| (*Psychology-grounded Hierarchical Attribute-Structured Evolving Tree*). | |
| ## Download | |
| The PHASE-Tree codebase expects these checkpoints under | |
| `PHASE-Tree/phase_tree_models/`. The recommended way to obtain a working copy | |
| is therefore: | |
| ```bash | |
| # From the repository root (i.e. inside the cloned PHASE-Tree project): | |
| cd PHASE-Tree | |
| hf download IAAR-Shanghai/phase_tree_models --local-dir phase_tree_models | |
| ``` | |
| This places every file under `PHASE-Tree/phase_tree_models/`, matching the | |
| relative paths used by every script in the codebase (e.g. | |
| `phase_tree_models/sft/hyper_lora/hypermod.pt`). | |
| Alternative methods: | |
| - `git clone https://huggingface.co/IAAR-Shanghai/phase_tree_models` | |
| (run from the `PHASE-Tree/` root; clones into `phase_tree_models/` | |
| automatically). | |
| - Programmatic via `huggingface_hub.snapshot_download(...)` with | |
| `local_dir="phase_tree_models"`. | |
| This release contains the **single recommended checkpoint** for each of the | |
| two stages in the PHASE-Tree training pipeline. During development we ran a | |
| larger ablation grid (six hyper-LoRA SFT runs covering warm-start vs | |
| cold-start initialisation, two learning rates, and trainable vs frozen | |
| hypernet output heads, plus a separate One-PEFT-Per-User / OPPU baseline | |
| sweep). Only the checkpoints reported in the paper are bundled here; the | |
| ablations are kept locally for reproducibility but are not part of the | |
| release. | |
| ## Layout | |
| | Path | Description | | |
| |------|-------------| | |
| | `phase_tree_pretrained/` | Hypernetwork pretrained on the PHASE-Tree character corpus. Used as the warm-start initialisation for the SFT run below. | | |
| | `sft/hyper_lora/` | The **anchor** hyper-LoRA SFT run (warm-start, lr=5e-6, trainable heads). This is the checkpoint reported in the PHASE-Tree paper. | | |
| Each leaf folder is self-describing via its own `README.md`. | |
| ## Recommended Checkpoint | |
| For character-conditioned generation, load: | |
| ``` | |
| sft/hyper_lora/hypermod.pt | |
| ``` | |
| The pretrained hypermod (`phase_tree_pretrained/hypermod.pt`) is the upstream | |
| warm-start dependency of this anchor run, not an independently usable | |
| inference model. It is included so the training pipeline can be reproduced | |
| end-to-end. | |
| ``` | |
| phase_tree_pretrained/hypermod.pt ──warm-start──▶ sft/hyper_lora/hypermod.pt | |
| (pretraining stage) (anchor SFT, recommended) | |
| ``` | |
| ## Why a single SFT checkpoint? | |
| Six hyper-LoRA SFT runs were trained during development, varying | |
| initialisation, learning rate, and whether the hypernet output heads are | |
| trainable. The released `sft/hyper_lora/` is the cell selected by the | |
| LLM-as-judge `character` and `semantic` ratings together with | |
| Qwen3-Embedding-4B response-vs-reference cosine similarity on a held-out | |
| evaluation set; the other five cells are ablations and are not bundled. | |
| Per-step intermediate checkpoints (`it_5000` … `it_40000`) and the full | |
| post-hoc evaluation artefacts (`eval_ckpt_judge_scores/`, | |
| `eval_ckpt_val_loss/`) are likewise not bundled. To regenerate them you | |
| would need to re-run training (`src/scripts/train_phase_tree_qwen_7b.sh`) | |
| followed by the evaluation scripts under `src/scripts/`. | |
| ## Base Model | |
| All checkpoints are trained on top of | |
| [`Qwen/Qwen2.5-7B-Instruct`](https://huggingface.co/Qwen/Qwen2.5-7B-Instruct). | |
| The hyper-LoRA and pretrained-hypermod checkpoints additionally use | |
| [`Qwen/Qwen3-Embedding-4B`](https://huggingface.co/Qwen/Qwen3-Embedding-4B) | |
| as the task-embedding encoder. | |
| ## Loading | |
| | Checkpoint | Loader | | |
| |------------|--------| | |
| | Pretrained hypermod (`phase_tree_pretrained/`) | `hyper_llm_modulator.hyper_modulator.load_hypermod_checkpoint(...)` | | |
| | Hyper-LoRA SFT (`sft/hyper_lora/`) | `hyper_llm_modulator.hyper_modulator.load_hypermod_checkpoint(...)` | | |
| The hypermod loader expects a checkpoint directory layout identical to the | |
| one used here (`hypermod.pt` + sibling `args.yaml` + `adapter_config.json`). | |
| It reads the architecture from `args.yaml` automatically; no extra | |
| configuration is required at inference time. | |
| ## Intended Use | |
| These checkpoints are released as research artefacts for evaluating | |
| personalised and hypernetwork-based approaches to character-grounded dialogue | |
| generation. They are **not** intended for production user-facing | |
| applications without additional safety filtering. | |