rStar:让小型语言模型成为强大的问题解决者
rStar 项目地址: https://gitcode.com/gh_mirrors/rst/rStar
项目介绍
rStar 是一种基于自我游戏和相互推理的先进技术,旨在显著提升小型语言模型(SLMs)的推理能力。该技术无需微调或依赖更高级的模型,通过分离推理过程为生成和相互验证两部分,实现了对现有语言模型推理能力的增强。
项目技术分析
rStar 的核心在于将推理过程拆分为两个阶段:生成阶段和相互验证阶段。生成阶段引入了丰富的人类样推理动作,使得蒙特卡洛树搜索(MCTS)能够构建更高质量的推理轨迹。验证阶段,另一个与目标SLM能力相似的语言模型作为判别器,对生成器产生的轨迹进行验证。两个模型相互认可的推理轨迹被认为是相互一致的,从而更有可能是正确的。
在生成阶段,rStar 引入了一套更加丰富的推理动作,使得搜索空间更加全面,有助于在多种推理任务中探索解决方案。在相互验证阶段,判别器的引入加强了MCTS过程,确保推理轨迹的正确性。
项目及技术应用场景
rStar 可以应用于各种需要强大推理能力的场景,如数学问题解答、自然语言理解任务、逻辑推理等。以下是一些典型的应用场景:
- 数学问题解答:rStar 可以显著提高小模型在数学推理任务中的准确率,如 GSM8K 数据集上的准确率提升显著,从12.51%提升到63.91%。
- 自然语言理解:rStar 的推理能力适用于对自然语言理解要求较高的任务,如语义解析、问答系统等。
- 逻辑推理:在逻辑推理任务中,rStar 通过自我游戏和相互验证的方式,提高了推理的准确性和效率。
项目特点
- 无需微调:rStar 不需要针对特定任务进行微调,减少了数据需求和计算资源。
- 自增强:通过自我游戏,模型可以自行探索和改进推理策略。
- 相互验证:通过另一个相似能力的SLM进行验证,提高了推理轨迹的一致性和正确性。
- 广泛适用性:rStar 在多个SLM上均取得了显著的性能提升,表明其具有广泛的适用性。
以下是一个rStar在GSM8K数据集上的推理过程示意图:
使用方法
生成器
运行rStar生成器的示例如下:
bash scripts/run_gsm8k_generator.sh
生成器脚本包含多个可配置参数,如数据集名称、测试文件名、模型检查点路径等,用户可以根据需求调整。
评估生成器
评估rStar生成器结果的示例如下:
python eval_src/do_eval.py --dataset_name GSM8K --exp_dir_path <generator_output_folder>
判别器
运行rStar判别器的示例如下:
bash scripts/run_gsm8k_discriminator.sh
判别器脚本同样包含多个可配置参数,如模型检查点路径、评估结果文件夹路径等。
实验结果
rStar 在五个不同的SLM上进行了广泛实验,结果显示其在多样推理任务上均取得了显著提升。例如,在GSM8K数据集上,LLaMA2-7B 的准确率从12.51%提升至63.91%,Mistral-7B 从36.46%提升至81.88%,LLaMA3-8B-Instruct 从74.53%提升至91.13%。
引用
如果认为rStar的工作对您有所帮助,请考虑引用以下文献:
@misc{qi2024mutual,
title={Mutual Reasoning Makes Smaller LLMs Stronger Problem-Solvers},
author={Zhenting Qi and Mingyuan Ma and Jiahang Xu and Li Lyna Zhang and Fan Yang and Mao Yang},
year={2024},
eprint={2408.06195},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
rStar 的创新技术和显著成果,使其成为小型语言模型推理能力提升的重要方向,值得广泛关注和应用。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考