RAP项目使用教程
1、项目介绍
RAP(Reasoning via Planning)是一个基于语言模型的推理项目,旨在通过世界模型的规划来实现复杂的推理任务。该项目的主要目标是利用大型语言模型(如LLaMA)进行推理,并通过规划算法来优化推理过程。RAP项目支持多种推理任务,包括Blocksworld、GSM8k和ProntoQA等。
2、项目快速启动
环境准备
-
获取LLaMA模型:
- 从MetaAI获取LLaMA模型的检查点,并设置环境变量:
export LLAMA_CKPTS="YOUR_PATH_TO_LLAMA_CHECKPOINTS"
- 从MetaAI获取LLaMA模型的检查点,并设置环境变量:
-
安装依赖包:
- 安装LLaMA官方仓库所需的所有依赖包。
- 对于Blocksworld任务,还需要安装GPT-Plan-Benchmark的依赖包。
-
设置VAL环境:
- 按照指南设置VAL,并确保设置环境变量:
export VAL="YOUR_PATH_TO_VAL"
- 按照指南设置VAL,并确保设置环境变量:
快速启动代码
Blocksworld任务
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.run --master_port 1034 --nproc_per_node 4 run_blocksworld.py --task mcts --model_name LLaMA --ckpt_path $LLAMA_CKPTS/30B --verbose True --data data/blocksworld/step_4.json --max_depth 4 --name run_4_May26_max_depth_4_alpha_05_rollouts_10 --rollouts 10
GSM8k任务
CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --nproc_per_node 4 --master-port 1054 run_gsm8k.py --llama-ckpt $LLAMA_CKPTS/30B --speedup-confidence-batch-size 2
ProntoQA任务
CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --nproc_per_node 4 --master-port 1074 run_prontoqa.py --llama-ckpt $LLAMA_CKPTS/30B
3、应用案例和最佳实践
应用案例
- Blocksworld:通过RAP项目,可以实现对Blocksworld任务的复杂推理,通过规划算法优化推理过程,提高推理效率。
- GSM8k:在GSM8k任务中,RAP项目能够处理复杂的数学问题,并通过LLaMA模型进行高效推理。
- ProntoQA:ProntoQA任务中,RAP项目能够处理复杂的问答任务,通过规划算法优化问答过程。
最佳实践
- 模型选择:根据任务需求选择合适的LLaMA模型,如LLaMA-33B或更小的模型。
- 参数调优:通过调整
max_depth
、rollouts
等参数,优化推理过程。 - 日志分析:使用
aggregate_gsm8k.py
脚本对GSM8k任务的日志进行分析,获取详细的推理结果。
4、典型生态项目
- LLM Reasoners:RAP项目的扩展库,支持更多复杂的推理任务和LLM模型的选择。
- GPT-Plan-Benchmark:用于Blocksworld任务的基准测试工具,帮助评估和优化推理性能。
- VAL:用于Blocksworld任务的验证工具,确保推理结果的准确性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考