---
license: other
license_name: qwen-research
license_link: https://huggingface.co/Qwen/Qwen2.5-3B-Instruct/blob/main/LICENSE
language:
- en
metrics:
- accuracy
base_model:
- Qwen/Qwen2.5-3B-Instruct
library_name: transformers
pipeline_tag: text-generation
tags:
- agent
- reinforcement-learning
- long-horizon
- embodied-ai
- self-distillation
- on-policy-distillation
- alfworld
- seed
- qwen2.5
---
# SEED-ALFWorld-3B
## Overview
Built with Qwen2.5-3B-Instruct, SEED-ALFWorld-3B is trained for text-based
embodied interaction in ALFWorld using **SEED** (Self-Evolving On-Policy
Distillation). Training unfolds in two stages:
- **Hindsight-skill SFT:** the model learns to analyze a completed trajectory
and summarize it as a concise, episode-level skill.
- **Self-evolving on-policy distillation:** in each reinforcement-learning
iteration, the current policy both acts in the environment and analyzes the
trajectories it has just collected. The generated skills are used to re-score
the same sampled actions, providing dense token-level supervision alongside
GRPO. Once updated, the improved policy takes on both roles in the next
iteration, allowing its behavior and hindsight supervision to evolve
together.
At inference time, the model acts from the standard interaction history alone,
with no analyzer, skill bank, retrieval module, or additional skill prompt.
## Key Features
- **Self-evolving supervision:** policy updates improve both action selection
and the analyzer used to generate the next round of hindsight skills.
- **On-policy skill generation:** supervision follows the states, actions, and
failure modes encountered by the current policy.
- **Dense token-level credit:** skill-induced log-probability shifts provide
decision-specific guidance beyond terminal rewards.
- **No inference overhead:** privileged hindsight skills are used only during
training and are internalized by the released policy.
## Performance
The following results are success rates (%) on the ALFWorld seen test
split. `Avg.` is the unweighted macro-average over the six task families. An
asterisk indicates that the method also receives a skill prompt at evaluation;
SEED does not use skills at evaluation.
| Method | Pick | Look | Clean | Heat | Cool | Pick2 | Avg. |
|---|---:|---:|---:|---:|---:|---:|---:|
| Vanilla | 44.4 | 11.1 | 6.2 | 15.4 | 28.6 | 12.5 | 21.9 |
| Skill-Prompt* | 51.7 | 66.7 | 48.4 | 0.0 | 4.3 | 10.0 | 28.9 |
| OPSD | 48.8 | 41.7 | 16.7 | 0.0 | 15.8 | 16.7 | 28.1 |
| GRPO | 91.2 | 62.5 | 96.2 | 61.9 | 65.0 | 47.4 | 75.0 |
| Skill-GRPO | 88.9 | 71.4 | 58.8 | 70.6 | 40.7 | 29.2 | 60.2 |
| Skill-GRPO* | 94.3 | 57.1 | 100.0 | 66.7 | 73.1 | 57.1 | 80.5 |
| GRPO+OPSD | 100.0 | 82.4 | 85.7 | 75.0 | 70.0 | 60.0 | 81.2 |
| Skill-SD | 88.2 | 50.0 | 96.2 | 52.4 | 65.0 | 57.9 | 73.4 |
| RLSD | 87.9 | 75.0 | 90.9 | 75.0 | 73.1 | 68.4 | 79.7 |
| SDAR | 97.1 | 62.5 | 100.0 | 61.9 | 75.0 | 84.2 | 84.4 |
| **SEED (ours)** | **100.0** | **100.0** | **100.0** | **100.0** | **70.6** | **80.0** | **91.8** |
On the ALFWorld unseen split, the same 3B SEED checkpoint reaches an
86.2 macro-average, compared with 70.9 for the matched GRPO baseline.
| Method | Pick | Look | Clean | Heat | Cool | Pick2 | Avg. |
|---|---:|---:|---:|---:|---:|---:|---:|
| ReAct | 17.4 | 6.7 | 8.8 | 7.4 | 9.1 | 0.0 | 8.2 |
| GRPO | 73.9 | 60.0 | 82.4 | 59.3 | 72.7 | 76.9 | 70.9 |
| **SEED (ours)** | **90.4** | **78.3** | **79.5** | **94.3** | **86.2** | **88.2** | **86.2** |
## Quickstart
Install the runtime dependencies:
```bash
pip install "transformers>=4.37.0" accelerate torch
```
Load the checkpoint and generate one ALFWorld action:
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "Jinyang23/Seed-AlfWorld-3B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype="auto",
device_map="auto",
)
def build_alfworld_prompt(
task_description,
step_count,
history_length,
action_history,
current_step,
current_observation,
admissible_actions,
):
actions = ", ".join(admissible_actions)
return f"""You are an expert agent operating in the ALFRED Embodied Environment. Your task is
to: {task_description}
Prior to this step, you have already taken {step_count} step(s). Below are the most recent
{history_length} observations and the corresponding actions you took: {action_history}
You are now at step {current_step} and your current observation is: {current_observation}
Your admissible actions of the current situation are: [{actions}].
Now it's your turn to take an action.
You should first reason step-by-step about the current situation. This reasoning process
MUST be enclosed within tags.
Once you've finished your reasoning, you should choose an admissible action for current
step and present it within tags."""
prompt = build_alfworld_prompt(
task_description="put a candle in toilet.",
step_count=0,
history_length=0,
action_history="None.",
current_step=1,
current_observation="You are in the middle of a room.",
admissible_actions=["look", "go to shelf 1", "go to toilet 1"],
)
text = tokenizer.apply_chat_template(
[{"role": "user", "content": prompt}],
tokenize=False,
add_generation_prompt=True,
)
inputs = tokenizer([text], return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=512,
do_sample=False,
)
new_tokens = outputs[:, inputs.input_ids.shape[1]:]
response = tokenizer.batch_decode(new_tokens, skip_special_tokens=True)[0]
print(response)
```
In a complete evaluation loop, replace the example values with the current
ALFWorld task, recent observation-action history, observation, and admissible
actions at every step. Only execute the action emitted inside `` tags.
The model can also be served with vLLM:
```bash
vllm serve Jinyang23/Seed-AlfWorld-3B \
--served-model-name Seed-AlfWorld-3B \
--dtype bfloat16
```
## Limitations
- The model is specialized for ALFWorld-style text interaction and may not
transfer reliably to unrelated environments or prompting formats.
## License
This checkpoint is a derivative of Qwen2.5-3B-Instruct and is distributed under
the [Qwen Research License Agreement](https://huggingface.co/Qwen/Qwen2.5-3B-Instruct/blob/main/LICENSE).
## Citation
Citation metadata will be added after the public paper release.
## Acknowledgements
The SEED implementation builds on
[veRL](https://github.com/volcengine/verl),
[verl-agent](https://github.com/langfengQ/verl-agent), and
[SDAR](https://github.com/ZJU-REAL/SDAR).
## Links
- Model: https://huggingface.co/Jinyang23/Seed-AlfWorld-3B
- Base model: https://huggingface.co/Qwen/Qwen2.5-3B-Instruct
- Paper: https://arxiv.org/pdf/2607.14777
- Code: https://github.com/jinyangwu/SEED