一个可直接执行的研究脚手架:验证 稀疏奖励学习的瓶颈不是 sparse 本身,而是 outcome 分布塌缩(低熵)。
覆盖三条实验线:
configs/
selfplay/
sparse/
llm/
src/
common/
entropy.py # 离散熵/二元熵/group 熵 + group_stats
logging_utils.py # JSONL/CSV 日志
plotting.py # 基础画图
metrics.py
selfplay/
smoke_test_openspiel.py
run_openspiel_selfplay.py
sparse/
smoke_test_minigrid.py
run_minigrid_sb3.py
eval_sparse.py
curriculum.py
llm/
offline_sampling.py
reward_functions.py
analyze_groups.py
run_grpo.py
scripts/
setup_env.sh
run_all_smoke_tests.sh
python -m pip install --upgrade pip
pip install -r requirements.txt
或直接:
bash scripts/setup_env.sh
如果是 CPU-only 机器,
bitsandbytes可能失败,可从requirements.txt删除后重装。
bash scripts/run_all_smoke_tests.sh
该脚本会依次运行:
python src/selfplay/run_openspiel_selfplay.py --game tic_tac_toe --episodes 500 --out logs/selfplay/random_baseline.csv
输出字段:
p_win, p_draw, p_lossoutcome_entropyeval_win_ratepython src/llm/offline_sampling.py --num_prompts 200 --group_size 8 --out logs/llm/offline_groups.csv
python -c "from src.llm.analyze_groups import summarize_group_types; print(summarize_group_types('logs/llm/offline_groups.csv'))"
可快速观察:
all_fail / mixed / all_correct 比例src/common/entropy.py 提供:
discrete_entropy(values)binary_entropy_from_successes(successes)group_binary_entropy(rewards)group_stats(rewards)已完成:
下一步建议:
run_minigrid_sb3.py 接入定期 eval callback,落地 success_rate + outcome_entropy 曲线run_grpo.py 接入 TRL GRPOTrainer 并记录 mixed_group_ratioresults/figures/ 自动出图脚本Python
97.0%
Shell
3.0%
一个可直接执行的研究脚手架:验证 稀疏奖励学习的瓶颈不是 sparse 本身,而是 outcome 分布塌缩(低熵)。
覆盖三条实验线:
configs/
selfplay/
sparse/
llm/
src/
common/
entropy.py # 离散熵/二元熵/group 熵 + group_stats
logging_utils.py # JSONL/CSV 日志
plotting.py # 基础画图
metrics.py
selfplay/
smoke_test_openspiel.py
run_openspiel_selfplay.py
sparse/
smoke_test_minigrid.py
run_minigrid_sb3.py
eval_sparse.py
curriculum.py
llm/
offline_sampling.py
reward_functions.py
analyze_groups.py
run_grpo.py
scripts/
setup_env.sh
run_all_smoke_tests.sh
python -m pip install --upgrade pip
pip install -r requirements.txt
或直接:
bash scripts/setup_env.sh
如果是 CPU-only 机器,
bitsandbytes可能失败,可从requirements.txt删除后重装。
bash scripts/run_all_smoke_tests.sh
该脚本会依次运行:
python src/selfplay/run_openspiel_selfplay.py --game tic_tac_toe --episodes 500 --out logs/selfplay/random_baseline.csv
输出字段:
p_win, p_draw, p_lossoutcome_entropyeval_win_ratepython src/llm/offline_sampling.py --num_prompts 200 --group_size 8 --out logs/llm/offline_groups.csv
python -c "from src.llm.analyze_groups import summarize_group_types; print(summarize_group_types('logs/llm/offline_groups.csv'))"
可快速观察:
all_fail / mixed / all_correct 比例src/common/entropy.py 提供:
discrete_entropy(values)binary_entropy_from_successes(successes)group_binary_entropy(rewards)group_stats(rewards)已完成:
下一步建议:
run_minigrid_sb3.py 接入定期 eval callback,落地 success_rate + outcome_entropy 曲线run_grpo.py 接入 TRL GRPOTrainer 并记录 mixed_group_ratioresults/figures/ 自动出图脚本Python
97.0%
Shell
3.0%