Skip to content

Commit c0a34ee

Browse files
authored
add LMArena-55k (#34)
* add LMArena-55k * concatenate all arenas
1 parent fd7fd7f commit c0a34ee

1 file changed

Lines changed: 42 additions & 3 deletions

File tree

judgearena/arenas_utils.py

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,53 @@ def _extract_instruction_text(turn: dict) -> str:
1818
return " ".join(block["text"] for block in content if block.get("type") == "text")
1919

2020

21-
KNOWN_ARENAS = ["LMArena-100k", "LMArena-140k", "ComparIA"]
21+
KNOWN_ARENAS = ["LMArena-100k", "LMArena-55k", "LMArena-140k", "ComparIA"]
2222

2323

2424
def _load_arena_dataframe(
2525
arena: str, comparia_revision: str | None = None
2626
) -> pd.DataFrame:
2727
assert arena in KNOWN_ARENAS
28-
if "LMArena" in arena:
28+
if arena == "LMArena-55k":
29+
path = snapshot_download(
30+
repo_id="lmarena-ai/arena-human-preference-55k",
31+
repo_type="dataset",
32+
allow_patterns="*.csv",
33+
force_download=False,
34+
)
35+
df = pd.read_csv(Path(path) / "train.csv")
36+
37+
def _winner_55k(row) -> str | None:
38+
if row["winner_tie"]:
39+
return "tie"
40+
if row["winner_model_a"]:
41+
return "model_a"
42+
if row["winner_model_b"]:
43+
return "model_b"
44+
return None
45+
46+
df["winner"] = df.apply(_winner_55k, axis=1)
47+
df = df[df["winner"].notna()].copy()
48+
49+
df["conversation_a"] = df.apply(
50+
lambda r: [
51+
{"role": "user", "content": str(r["prompt"])},
52+
{"role": "assistant", "content": str(r["response_a"])},
53+
],
54+
axis=1,
55+
)
56+
df["conversation_b"] = df.apply(
57+
lambda r: [
58+
{"role": "user", "content": str(r["prompt"])},
59+
{"role": "assistant", "content": str(r["response_b"])},
60+
],
61+
axis=1,
62+
)
63+
df["question_id"] = df["id"]
64+
df["tstamp"] = 0
65+
df["benchmark"] = "LMArena-55k"
66+
67+
elif "LMArena" in arena:
2968
size = arena.split("-")[1] # "100k" or "140k"
3069
path = snapshot_download(
3170
repo_id=f"lmarena-ai/arena-human-preference-{size}",
@@ -139,7 +178,7 @@ def load_arena_dataframe(
139178
if arena is None:
140179
arenas = KNOWN_ARENAS
141180
elif arena == "LMArena":
142-
arenas = ["LMArena-100k", "LMArena-140k"]
181+
arenas = ["LMArena-100k", "LMArena-55k", "LMArena-140k"]
143182
else:
144183
return _load_arena_dataframe(arena, comparia_revision)
145184
return pd.concat(

0 commit comments

Comments
 (0)