feat: GRPO CLI 接入 + on-policy,OpenAI API top_k 参数化,补充训练参数表

- train.py 新增 --train_type=grpo 及参数 (--grpo_clip_eps, --grpo_kl_coef, --group_size, --grpo_sync_interval, --start_epoch)
- GRPOStrategy 统一 on-policy 模式,ratio = exp(logπ_θ - logπ_ref),PPO 裁剪目标,sync_interval 自动同步 ref_model
- ChatCompletionRequest 新增 top_k 参数,不再硬编码
- 补充 README 完整训练参数表(含此前缺失的 max_grad_norm / adamw / window_size / stride 等)
This commit is contained in:
2026-05-09 12:22:33 +08:00
parent 34a511e36e
commit bc7c82977e
5 changed files with 91 additions and 19 deletions
+3 -2
View File
@@ -51,6 +51,7 @@ class ChatCompletionRequest(BaseModel):
messages: List[ChatMessage]
temperature: Optional[float] = Field(default=1.0, ge=0.0, le=2.0)
top_p: Optional[float] = Field(default=1.0, ge=0.0, le=1.0)
top_k: Optional[int] = Field(default=50, ge=1)
stream: Optional[bool] = False
stop: Optional[Union[str, List[str]]] = None
max_tokens: Optional[int] = Field(default=2048, ge=1)
@@ -204,7 +205,7 @@ async def chat_completion(request: ChatCompletionRequest):
max_tokens=request.max_tokens,
temperature=request.temperature,
top_p=request.top_p,
top_k=50,
top_k=request.top_k,
)
async def event_stream():
@@ -256,7 +257,7 @@ async def chat_completion(request: ChatCompletionRequest):
max_tokens=request.max_tokens,
temperature=request.temperature,
top_p=request.top_p,
top_k=50,
top_k=request.top_k,
)
async for token in agen:
chunks.append(token)