647. Al Mathematical Olympiad - Progress Prize 2 | ai-mathematical-olympiad-progress-prize-2
我看到目前发布的 10 个排名更高的解决方案都在使用 14b 模型,并且(除了顶级解决方案外)它们似乎都专注于生成足够长的推理路径,以便最终生成文本(框选)答案。
我的解决方案略有不同。我使用的是 32b 模型,并且放弃了尝试生成足够多的 token 来获得框选答案。
相反,在 5k-6k token 处,我强制模型多次生成代码。每个任务总共生成多达 108 个 Python 程序。
最终答案的选择不是通过多数投票,而是通过具有精心选择权重的加权算法。
dq_data5e.py 或 dq_data4h.py)。T = True 开头)复制到文件 solve.py。submit = Fconf_pc = T
llm_path 更改为模型的位置。prior_time_per_task 设置为之前运行的每个任务的平均时间,或者设置 use_control = F。python3 solve.py save_dir=1 save_prefix=A runs=1 gpus=0,1save_prefix。
快速总结:
此外:
在生成代码的同时,我继续生成推理路径,有时这会给出一个很好的框选答案。
我构建启动提示的方式使得所有未完成的推理路径和最后一波未完成的代码块在同一 token 数处结束,因此生成的 token 树在固定深度被切断。
这一切都很快,因为 vLLM 可以重用具有相同前缀的提示的 KV 缓存条目。
该程序自动为更简单的任务使用更少的时间,因为如果 LLM 早期返回框选答案,那么整个子树将更快生成,这将加快生成剩余子树的速度。
我使用了一个在该竞赛中流行的来源的模型,未经微调:
https://huggingface.co/casperhansen/deepseek-r1-distill-qwen-32b-awq
这是蒸馏到 Qwen 2.5 架构的 Deepseek R1,具有 320 亿权重,采用 4-bit AWQ 量化。
prior_time_per_task。