文章预览
作者:cmathx 原文:https://zhuanlan.zhihu.com/p/1477078851 openai o1复现中,有个比较关键的问题,怎么样自动化构造prm模型的训练数据?本文主要从代码层面,来解析OmegaPRM原理。 论文 Improve Mathematical Reasoning in Language... [1] 原理 Markov决策过程 OmegaPRM State:对应Markov决策过程中的状态,rollout:对应Markov决策过程中的动作; • step1 :初始化root节点state;每个state包含n个扩展rollouts,q+pa作为prompt,进行n次llm生成采样;基于bootstrap采样方法估计Monte Carlo模拟正确答案的概率mc; • step2 :从所有节点中,基于UCB1(Explore & 方法)选取最优的“state和rollout”,添加到PRM训练集;Exploit:alpha ** (1 - mc) * beta ** (len(r) / L),其中:mc表示蒙特卡洛模拟正确答案概率、len(r)表示LLM生成的长度;Explore:c_puct * sqrt(N_sum) / (1 + s.v),其中:N_sum表示所有节点的访问次数,s.v表示当前
………………………………