kavirubc/weave-bench
Preview β’ Updated β’ 148
How to use kavirubc/weave-ccwm-qwen2.5-coder-7b-traj-lora with PEFT:
from peft import PeftModel
from transformers import AutoModelForCausalLM
base_model = AutoModelForCausalLM.from_pretrained("unsloth/qwen2.5-coder-7b-instruct-bnb-4bit")
model = PeftModel.from_pretrained(base_model, "kavirubc/weave-ccwm-qwen2.5-coder-7b-traj-lora")A LoRA adapter fine-tuned on Weave-Bench for next-scheduler-event prediction in concurrent Go programs. Part of the Weave project on Concurrent Code World Models (CCWM).
Given a concurrent Go program and a partial execution trace (goroutine scheduler events), predict the next scheduler event:
Input: Go program source + partial trace (GoStart, GoBlock, GoUnblock, GoCreate, GoEnd, GoSched events)
Output: {"event_type": "GoBlock", "goroutine_id": 3, "reasoning": "...", "confidence": "high"}
| Setting | Value |
|---|---|
| Base model | Qwen/Qwen2.5-Coder-7B-Instruct |
| Method | Unsloth + QLoRA |
| Dataset | kavirubc/weave-bench |
| Model | Accuracy | Notes |
|---|---|---|
| Qwen2.5-Coder-7B fine-tuned (this model) | 36.2% | Phase 13 on GoKer held-out set |
| Qwen2.5-Coder-1.5B fine-tuned | 40.2% | Phase 12 (in-distribution evaluation) |
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
import torch
base = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen2.5-Coder-7B-Instruct",
torch_dtype=torch.bfloat16,
device_map="auto",
)
model = PeftModel.from_pretrained(base, "kavirubc/weave-ccwm-qwen2.5-coder-7b-lora")
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-Coder-7B-Instruct")
Or use the eval script from the repo:
uv run python scripts/run_eval_unsloth.py \
--adapter kavirubc/weave-ccwm-qwen2.5-coder-7b-lora \
--val_file dataset/output/kaggle_upload/val_point_dups.jsonl
@misc{weave2026,
author = {Hapuarachchi, Kaviru},
title = {Weave: Concurrent Code World Models},
year = {2026},
url = {https://github.com/kaviru2/Weave}
}