Skip to content

feat(#424): 接入 reward 训练 HTTP 路由与 server 启动装配 - #429

Merged
dahai80 merged 1 commit into
mainfrom
feat/reward-route-wiring-424
Aug 8, 2026
Merged

feat(#424): 接入 reward 训练 HTTP 路由与 server 启动装配#429
dahai80 merged 1 commit into
mainfrom
feat/reward-route-wiring-424

Conversation

@dahai80

@dahai80 dahai80 commented Aug 8, 2026

Copy link
Copy Markdown
Owner

背景

#424 reward-model 训练。PR #427 已落地 reward_service.py + 14 项 route/service 单测,但单测 import 的路由处理函数此前未提交进 fine_tune_route.py,server 启动也未装配 RewardService,导致对外 HTTP 端点缺失。本 PR 补齐这层。

改动

  • fusion_mlx/admin/fine_tune_route.py
    • set_reward_context(pool, service=None) / _get_reward_service() / _create_reward_job(request_body) 共享辅助
    • 5 个路由: POST/GET/GET{id}/POST cancel/DELETE on /admin/api/fine-tune/reward/jobs
    • 校验 model_idpreference_pairs[{prompt,chosen,rejected}] schema
  • fusion_mlx/server.py
    • 启动期实例化 RewardService 单例,经 set_reward_context 注入 engine pool + event loop,镜像 DPO 装配块

端到端验证(真实模型)

Qwen3-0.6B-4bit, 3 个 preference pairs, 4 iters:

status=completed
progress: {iter:4, loss:0.0003, reward_margin:7.98, acc_chosen:1.0}
adapter: adapters.safetensors(5.8MB) + adapter_config.json{reward_model:true}

测试

  • pytest tests/ -k reward → 17 passed, 7 skipped
  • pytest tests/ -k "reward and route" → 14 passed (test_reward_route.py)
  • ruff check / black --check → clean

Closes #424

🤖 Generated with Claude Code

补齐 PR #427 缺失的对外暴露层:

- fine_tune_route.py: 新增 /admin/api/fine-tune/reward/jobs 的
  create/list/get/cancel/delete 五个路由 + set_reward_context /
  _get_reward_service / _create_reward_job 共享辅助,校验 model_id
  与 preference_pairs[{prompt,chosen,rejected}] schema。
- server.py: 启动期实例化 RewardService 单例,经 set_reward_context
  注入 engine pool 与 event loop,镜像 DPO 装配块。

端到端验证(真实 Qwen3-0.6B-4bit, 4 iters):
  status=completed, loss 0.69→0.0003,
  reward_margin 7.98, acc_chosen 1.0,
  adapter 写盘 (reward_model=true)。
14 项 reward route 单测全绿。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@dahai80
dahai80 merged commit 358f5cb into main Aug 8, 2026
5 checks passed
@dahai80
dahai80 deleted the feat/reward-route-wiring-424 branch August 8, 2026 04:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(training): 新增 reward model 训练端点 (/admin/api/fine-tune/reward/jobs)

1 participant