ruler_score_group drops group exceptions, metadata and metrics, and trajectory policy versions
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- machine-learning
Hướng nghiên cứu
Start with art/rewards/ruler.py and trace how ruler_score_group rebuilds trajectories and the group. Compare the fields it preserves with the expected behavior in the issue, then run the reproduction provided in the report. Done means scored groups retain the listed group and trajectory fields while only reward, RULER metrics, and the RULER log line change; pull request #1143 is already open for this issue.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
ruler_score_group rebuilds the group it scores, and the rebuilt group loses everything except the trajectories' messages, reward, metrics, metadata and logs:
- Group level:
exceptions,metadata,metricsandlogsare dropped. It returnsart.TrajectoryGroup(new_trajectories). - Trajectory level:
initial_policy_version,final_policy_versionand the private_policy_token_countsare dropped, andstart_timeis reset to the time of scoring.
The documented usage is gather_trajectory_groups(..., after_each=lambda g: ruler_score_group(g, ...)), so every RULER-scored group reaches model.log / training without this information:
exception_rateis computed fromgroup.exceptions(model.py), so failed rollouts in a group no longer register. A run whose rollouts are erroring reports an exception rate of 0.metrics_taxonomyreadsscenario_idfromgroup.metadataand counts attempted rollouts aslen(trajectories) + len(exceptions). Both are lost.- Custom group metrics (
group_*) disappear from the logged metrics. PipelineTrainerreads the trajectory policy versions and token counts for staleness and policy-age metrics. A group scored insiderollout_fnfrom a cached or replayed rollout loses its recorded age, and_apply_policy_versionsthen stamps the current worker version on it.
Reproduced on main at 5f0c1fb, with ruler stubbed (no judge call):
import asyncio, importlib
from types import SimpleNamespace
import art
ruler_module = importlib.import_module("art.rewards.ruler")
async def fake_ruler(message_lists, **kwargs):
return [SimpleNamespace(score=1.0, explanation="") for _ in message_lists]
ruler_module.ruler = fake_ruler
t = art.Trajectory(
messages_and_choices=[{"role": "user", "content": "q"}, {"role": "assistant", "content": "a"}],
initial_policy_version=3, final_policy_version=5,
)
group = art.TrajectoryGroup(
[t], exceptions=[RuntimeError("rollout failed")],
metadata={"scenario_id": "s-7"}, metrics={"latency": 1.5},
)
scored = asyncio.run(ruler_module.ruler_score_group(group, "judge"))
print(scored.exceptions, scored.metadata, scored.metrics)
print(scored.trajectories[0].initial_policy_version, scored.trajectories[0].final_policy_version)
[] {} {}
None None
Expected: the scored group keeps its exceptions, metadata, metrics and logs, and each trajectory keeps its policy versions, token counts and start time. Only the reward, ruler_score / independent_reward metrics and the RULER log line should change. The input group should stay untouched, as it is today.
- Ngôn ngữ chính
- Python
- Star
- 10.8k
- Fork
- 1k
- Merge trung bình
- 12 giờ 33 phút
- Pull request đã merge (30 ngày)
- 126
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của OpenPipe/ART
-
gather_trajectory_groups / gather_trajectories leave sibling rollouts running after a failureCó thể đã có người làm @salma2vec đã nhận 3 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Distributed group_mean casts group ids to float32, losing precision vs non-distributed pathCó thể đã có người làm @OnePunchMonk đã nhận 22 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Add from_entity parameter to _experimental_fork_checkpointCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
trajectory_group_batches leaves started rollouts running after close, error or cancellationCó thể đã có người làm @salma2vec đã nhận 3 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 25/100
Maintainer thường phản hồi trong vòng 1 ngày
-
LocalBackend/Unsloth: gradient_accumulation_steps > 1 hangs the trainer (producer waits for one result per sequence)Có thể đã có người làm @monsterlag đã nhận 4 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 15/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
NVIDIA/flare-local-inference#90 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area/streaming comp/gateway P2 platform/telegram type/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
NousResearch/hermes-agent#144897 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
request-theme
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 66/100
LizardByte/ThemerrDB#9575 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Author Page: noshin-nawalĐang mởauthor-page correction
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
acl-org/acl-anthology#10599 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
zilliztech/memsearch#818 ·
Maintainer thường phản hồi trong vòng 1 ngày