humanlong commited on
Commit
89ab86b
Β·
verified Β·
1 Parent(s): f3e0310

Rename: prompt-free -> emotion-free (more accurate baseline name)

Browse files
README.md CHANGED
@@ -32,7 +32,7 @@ pipeline_tag: text-generation
32
 
33
  **EmoDistill turns a 7B base LLM into a domain-adaptive emotion-aware negotiation agent.** It decouples *what emotion to show* (an IQL emotion selector over a 28-emotion vocabulary) from *how to express it* (LoRA-SFT imitation followed by JPO refinement against a per-turn LLM judge) β€” both learned from a fixed **offline** corpus of LLM-vs-LLM negotiations.
34
 
35
- This repository hosts **all eight model variants** from the paper: a full **IQL + LoRA-SFT + JPO** stack and a **prompt-free LoRA-SFT-only baseline**, one of each per benchmark domain β€” **CRAD**, **DESRD**, **SSAD**, **SSD** β€” for direct head-to-head comparison.
36
 
37
  ![EmoDistill workflow](figs/workflow.png)
38
 
@@ -47,23 +47,23 @@ Every domain comes in two variants:
47
  | Variant | What it is | Folder pattern |
48
  |---|---|---|
49
  | **EmoDistill (full)** β€” IQL + LoRA-SFT + JPO | The main method: IQL emotion selector picks the emotion, LoRA-SFT adapter expresses it, JPO refines against an LLM judge. Reported as **best** in the paper. | `<domain>/emodistill/` |
50
- | **Prompt-free baseline** β€” LoRA-SFT only | LoRA fine-tune on the same offline corpus **without** the IQL emotion controller and **without** the JPO judge loop. Isolates "imitation alone" so you can attribute gains to the emotion control + judge components. | `<domain>/promptfree/` |
51
 
52
  Across the four benchmark domains:
53
 
54
- | Domain | Paper acronym | EmoDistill (full) | Prompt-free baseline |
55
  |---|---|---|---|
56
- | Credit / debt recovery | **CRAD** | [`crad/emodistill/`](./crad/emodistill) | [`crad/promptfree/`](./crad/promptfree) |
57
- | Disaster / emergency response | **DESRD** | [`desrd/emodistill/`](./desrd/emodistill) | [`desrd/promptfree/`](./desrd/promptfree) |
58
- | Student bedtime negotiation | **SSAD** | [`ssad/emodistill/`](./ssad/emodistill) | [`ssad/promptfree/`](./ssad/promptfree) |
59
- | Surgical scheduling | **SSD** | [`ssd/emodistill/`](./ssd/emodistill) | [`ssd/promptfree/`](./ssd/promptfree) |
60
 
61
  Inside each `emodistill/` subfolder:
62
  - `adapter/` β€” LoRA-SFT+JPO adapter weights (`adapter_model.safetensors`, `adapter_config.json`)
63
  - `iql/` β€” IQL emotion selector weights (`q_net.pt`, `v_net.pt`, `policy.pt`)
64
  - `config.json` β€” IQL hyperparameters, emotion vocabulary, JPO settings
65
 
66
- Inside each `promptfree/` subfolder:
67
  - `adapter/` β€” LoRA-SFT-only adapter weights
68
 
69
  ---
@@ -78,7 +78,7 @@ EmoDistill composes **three offline-trained components** at inference (full vari
78
 
79
  All three components are **fully offline** β€” no live LLM API at training time after the negotiation log is collected β€” and **edge-deployable**: at inference, the runtime is a single 7B model with a LoRA adapter (a few hundred MB) plus a small Q-network for emotion selection.
80
 
81
- The **prompt-free baseline** isolates the contribution of the IQL + JPO components by training only the LoRA-SFT step on the same offline turns, with no emotion conditioning and no judge refinement.
82
 
83
  ## πŸš€ Intended use
84
 
@@ -98,7 +98,7 @@ Companion baselines (same benchmarks, same protocol β€” full numbers in the pape
98
  - **[EmoMAS](https://github.com/Yunbo-max/EmoMAS)** (ACL 2026 Main, top 9%, [arXiv:2604.07003](https://arxiv.org/abs/2604.07003)) β€” Bayesian multi-agent orchestration, no pre-training.
99
  - Vanilla 7B (no adapter, no emotion guidance).
100
 
101
- **Headline result:** EmoDistill (full) achieves the highest utility across all four domains, surpassing both vanilla and prompt-free baselines, and outperforming the other emotion-aware methods on edge-deployable 7B compute budgets.
102
 
103
  ## πŸ“¦ Quick start (after checkpoint release)
104
 
@@ -111,10 +111,10 @@ from transformers import AutoModelForCausalLM, AutoTokenizer
111
  base = "Qwen/Qwen2.5-7B-Instruct"
112
  repo = "humanlong/EmoDistill-7b"
113
 
114
- # Pick: ("crad" | "desrd" | "ssad" | "ssd") x ("emodistill" | "promptfree")
115
  domain = "crad"
116
  variant = "emodistill" # full IQL + SFT + JPO
117
- # variant = "promptfree" # LoRA-SFT-only baseline
118
 
119
  tok = AutoTokenizer.from_pretrained(base)
120
  model = AutoModelForCausalLM.from_pretrained(base, device_map="auto", torch_dtype="auto")
@@ -159,6 +159,6 @@ Apache 2.0 β€” matches the base model.
159
  | [EQ-Negotiator](https://github.com/Yunbo-max/EQ-Negotiator) | NeurIPS 2025 | Personas + HMM + WSLS for SLMs |
160
  | [EvoEmo](https://github.com/Yunbo-max/EvoEmo) | arXiv preprint | Online evolutionary emotion policies |
161
  | [EmoMAS](https://github.com/Yunbo-max/EmoMAS) | ACL 2026 (top 9%) | Bayesian multi-agent orchestration + 4 benchmarks |
162
- | **EmoDistill** *(this repo)* | under review | Offline distillation: **4 domain models + 4 prompt-free baselines** in a 7B SLM |
163
 
164
  🌟 All five papers + dataset + model in one place: [HF Collection β€” Emotion-Aware LLM Negotiation](https://huggingface.co/collections/humanlong/emotion-aware-llm-negotiation-6a25d88adcd0b6d41c9d8c75)
 
32
 
33
  **EmoDistill turns a 7B base LLM into a domain-adaptive emotion-aware negotiation agent.** It decouples *what emotion to show* (an IQL emotion selector over a 28-emotion vocabulary) from *how to express it* (LoRA-SFT imitation followed by JPO refinement against a per-turn LLM judge) β€” both learned from a fixed **offline** corpus of LLM-vs-LLM negotiations.
34
 
35
+ This repository hosts **all eight model variants** from the paper: a full **IQL + LoRA-SFT + JPO** stack and an **emotion-free LoRA-SFT-only baseline**, one of each per benchmark domain β€” **CRAD**, **DESRD**, **SSAD**, **SSD** β€” for direct head-to-head comparison.
36
 
37
  ![EmoDistill workflow](figs/workflow.png)
38
 
 
47
  | Variant | What it is | Folder pattern |
48
  |---|---|---|
49
  | **EmoDistill (full)** β€” IQL + LoRA-SFT + JPO | The main method: IQL emotion selector picks the emotion, LoRA-SFT adapter expresses it, JPO refines against an LLM judge. Reported as **best** in the paper. | `<domain>/emodistill/` |
50
+ | **Emotion-free baseline** β€” LoRA-SFT only | LoRA fine-tune on the same offline corpus **without** the IQL emotion controller and **without** the JPO judge loop. Isolates "imitation alone" so you can attribute gains to the emotion control + judge components. | `<domain>/emotionfree/` |
51
 
52
  Across the four benchmark domains:
53
 
54
+ | Domain | Paper acronym | EmoDistill (full) | Emotion-free baseline |
55
  |---|---|---|---|
56
+ | Credit / debt recovery | **CRAD** | [`crad/emodistill/`](./crad/emodistill) | [`crad/emotionfree/`](./crad/emotionfree) |
57
+ | Disaster / emergency response | **DESRD** | [`desrd/emodistill/`](./desrd/emodistill) | [`desrd/emotionfree/`](./desrd/emotionfree) |
58
+ | Student bedtime negotiation | **SSAD** | [`ssad/emodistill/`](./ssad/emodistill) | [`ssad/emotionfree/`](./ssad/emotionfree) |
59
+ | Surgical scheduling | **SSD** | [`ssd/emodistill/`](./ssd/emodistill) | [`ssd/emotionfree/`](./ssd/emotionfree) |
60
 
61
  Inside each `emodistill/` subfolder:
62
  - `adapter/` β€” LoRA-SFT+JPO adapter weights (`adapter_model.safetensors`, `adapter_config.json`)
63
  - `iql/` β€” IQL emotion selector weights (`q_net.pt`, `v_net.pt`, `policy.pt`)
64
  - `config.json` β€” IQL hyperparameters, emotion vocabulary, JPO settings
65
 
66
+ Inside each `emotionfree/` subfolder:
67
  - `adapter/` β€” LoRA-SFT-only adapter weights
68
 
69
  ---
 
78
 
79
  All three components are **fully offline** β€” no live LLM API at training time after the negotiation log is collected β€” and **edge-deployable**: at inference, the runtime is a single 7B model with a LoRA adapter (a few hundred MB) plus a small Q-network for emotion selection.
80
 
81
+ The **emotion-free baseline** isolates the contribution of the IQL + JPO components by training only the LoRA-SFT step on the same offline turns, with no emotion conditioning and no judge refinement.
82
 
83
  ## πŸš€ Intended use
84
 
 
98
  - **[EmoMAS](https://github.com/Yunbo-max/EmoMAS)** (ACL 2026 Main, top 9%, [arXiv:2604.07003](https://arxiv.org/abs/2604.07003)) β€” Bayesian multi-agent orchestration, no pre-training.
99
  - Vanilla 7B (no adapter, no emotion guidance).
100
 
101
+ **Headline result:** EmoDistill (full) achieves the highest utility across all four domains, surpassing both vanilla and emotion-free baselines, and outperforming the other emotion-aware methods on edge-deployable 7B compute budgets.
102
 
103
  ## πŸ“¦ Quick start (after checkpoint release)
104
 
 
111
  base = "Qwen/Qwen2.5-7B-Instruct"
112
  repo = "humanlong/EmoDistill-7b"
113
 
114
+ # Pick: ("crad" | "desrd" | "ssad" | "ssd") x ("emodistill" | "emotionfree")
115
  domain = "crad"
116
  variant = "emodistill" # full IQL + SFT + JPO
117
+ # variant = "emotionfree" # LoRA-SFT-only baseline
118
 
119
  tok = AutoTokenizer.from_pretrained(base)
120
  model = AutoModelForCausalLM.from_pretrained(base, device_map="auto", torch_dtype="auto")
 
159
  | [EQ-Negotiator](https://github.com/Yunbo-max/EQ-Negotiator) | NeurIPS 2025 | Personas + HMM + WSLS for SLMs |
160
  | [EvoEmo](https://github.com/Yunbo-max/EvoEmo) | arXiv preprint | Online evolutionary emotion policies |
161
  | [EmoMAS](https://github.com/Yunbo-max/EmoMAS) | ACL 2026 (top 9%) | Bayesian multi-agent orchestration + 4 benchmarks |
162
+ | **EmoDistill** *(this repo)* | under review | Offline distillation: **4 domain models + 4 emotion-free baselines** in a 7B SLM |
163
 
164
  🌟 All five papers + dataset + model in one place: [HF Collection β€” Emotion-Aware LLM Negotiation](https://huggingface.co/collections/humanlong/emotion-aware-llm-negotiation-6a25d88adcd0b6d41c9d8c75)
crad/emotionfree/adapter/README.md ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # CRAD / emotion-free adapter β€” placeholder
2
+
3
+ This subfolder will hold the LoRA adapter weights for the **emotion-free baseline** on the **CRAD** benchmark (Credit Recovery Assessment Dataset (debt recovery)) once training completes.
4
+
5
+ The emotion-free variant is LoRA-SFT-only β€” no IQL emotion controller, no JPO judge loop β€” isolating the contribution of emotion control and the judge in the full EmoDistill pipeline.
6
+
7
+ Files to expect:
8
+ - `adapter_model.safetensors` β€” LoRA weights
9
+ - `adapter_config.json` β€” PEFT config
10
+
11
+ See the top-level [README](../../../README.md) for the full method and loading examples.
desrd/emotionfree/adapter/README.md ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # DESRD / emotion-free adapter β€” placeholder
2
+
3
+ This subfolder will hold the LoRA adapter weights for the **emotion-free baseline** on the **DESRD** benchmark (Disaster Emotional Support & Rescue Dataset (emergency)) once training completes.
4
+
5
+ The emotion-free variant is LoRA-SFT-only β€” no IQL emotion controller, no JPO judge loop β€” isolating the contribution of emotion control and the judge in the full EmoDistill pipeline.
6
+
7
+ Files to expect:
8
+ - `adapter_model.safetensors` β€” LoRA weights
9
+ - `adapter_config.json` β€” PEFT config
10
+
11
+ See the top-level [README](../../../README.md) for the full method and loading examples.
ssad/emotionfree/adapter/README.md ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SSAD / emotion-free adapter β€” placeholder
2
+
3
+ This subfolder will hold the LoRA adapter weights for the **emotion-free baseline** on the **SSAD** benchmark (Student Sleep Alerting Dataset (education)) once training completes.
4
+
5
+ The emotion-free variant is LoRA-SFT-only β€” no IQL emotion controller, no JPO judge loop β€” isolating the contribution of emotion control and the judge in the full EmoDistill pipeline.
6
+
7
+ Files to expect:
8
+ - `adapter_model.safetensors` β€” LoRA weights
9
+ - `adapter_config.json` β€” PEFT config
10
+
11
+ See the top-level [README](../../../README.md) for the full method and loading examples.
ssd/emotionfree/adapter/README.md ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SSD / emotion-free adapter β€” placeholder
2
+
3
+ This subfolder will hold the LoRA adapter weights for the **emotion-free baseline** on the **SSD** benchmark (Surgical Scheduling Dataset (healthcare)) once training completes.
4
+
5
+ The emotion-free variant is LoRA-SFT-only β€” no IQL emotion controller, no JPO judge loop β€” isolating the contribution of emotion control and the judge in the full EmoDistill pipeline.
6
+
7
+ Files to expect:
8
+ - `adapter_model.safetensors` β€” LoRA weights
9
+ - `adapter_config.json` β€” PEFT config
10
+
11
+ See the top-level [README](../../../README.md) for the full method and loading examples.