Blame view

docs/issues/issue-2026-04-16-bayes寻参-clothing_top771数据集上寻参.md 4.52 KB
d3dd01d3   tangwang   自动寻参:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
  Prompt - 1
  
  二、在大标注集上寻参
  
  我以前经过过一轮调参,是基于54个评测样本(queries.txt),过程中发现的最优的参数是这一组:
  0.641241 {'es_bias': '7.214', 'es_exponent': '0.2025', 'text_bias': '4.0', 'text_exponent': '1.584', 'text_translation_weight': '1.4441', 'knn_text_weight': '0.1', 'knn_image_weight': '5.6232', 'knn_tie_breaker':
      '0.021', 'knn_bias': '0.0019', 'knn_exponent': '11.8477', 'knn_text_bias': '2.3125', 'knn_text_exponent': '1.1547', 'knn_image_bias': '0.9641', 'knn_image_exponent': '5.8671'}
  
  这一组参数分布比较极端,text_bias太大(文本项得分事0~1的,加上4被稀释的很大),图片的exponent太大,不过在这个数据集上面确实是最好的,我觉得有过拟合的可能,因此要扩大数据集,先扩展标注集,然后使用扩展的标注集,继续进行寻参。
  
  因此新建了一个标注集合,标注任务也已经完成:Clothing Filtered 771。请启动寻参任务,把任务跑起来,以后等程序跑完了应该能拿到寻参结果,下次你可以结合程序执行的结果进行结论分析。
  
  至于调参方式,请参考以前的一轮调参:
  我当时的调参需求:
  
  请对coarse_rank fusion公式进行调参:
    目前的baseline是这一组,Primary_Metric_Score: 0.637642:
    coarse_rank:
    ...
      fusion:
        es_bias: 10.0
        es_exponent: 0.05
        text_bias: 0.1
        text_exponent: 0.35
        text_translation_weight: 1.0
        knn_text_weight: 1.0
        knn_image_weight: 2.0
        knn_tie_breaker: 0.3
        knn_bias: 0.2
        knn_exponent: 5.6
        knn_text_bias: 0.2
        knn_text_exponent: 0.0
        knn_image_bias: 0.2
        knn_image_exponent: 0.0
    评估指标在/data/saas-search/artifacts/search_evaluation/batch_reports/batch_20260415T150754Z_00b6a8aa3d.md
    请以这个为基准,发散思维,进行宽一点的范围调参。因为每次重启、评测都需要几分钟,请写一个调参的框架,基于框架、设定好多组参数、写好脚本,每轮收集效果自动的调整参数分布(因为笛卡尔积、多种参数调参成本太高,因此考虑贝叶斯调参等方法通
    过多轮迭代通过脚本自动收敛)
    每次调整参数后需要重启backend (有时候重启backend后eval-web好像也挂了,如果有可以追查原因并修复)
    ./restart.sh backend
    注意:请你调试脚本、进行一轮分析,最终要沉淀一套调参脚本,我下次可以重新跑(还是针对这组参数调参),能自动迭代(调整参数分布)、收集每组参数的指标、调优到最优的参数组合。
  
  
  
  你当时给出的调参脚本( “种子实验 + 随机探索 + 基于历史最优分布的自适应采样”反复迭代。搜索范围已经放宽,新增了多组偏离 baseline 很远的 seed,也保留了 baseline 附近抖动,适合长时间慢慢收敛。):
  
    长时间自动调参脚本已经配好,核心文件是:
  
    - 调参主程序:scripts/evaluation/tune_fusion.py
    - 宽范围搜索空间:scripts/evaluation/tuning/coarse_rank_fusion_space.yaml
    - 后台长跑启动脚本:scripts/evaluation/start_coarse_fusion_tuning_long.sh
    - 续跑脚本:scripts/evaluation/resume_coarse_fusion_tuning_long.sh
    - 使用说明:scripts/evaluation/tuning/README.md
  
    直接启动一轮:
  
    ./scripts/evaluation/start_coarse_fusion_tuning_long.sh
  
    如果想跑更久一点:
  
    MAX_EVALS=48 BATCH_SIZE=3 CANDIDATE_POOL_SIZE=512 RUN_NAME=coarse_fusion_long_001 \
    ./scripts/evaluation/start_coarse_fusion_tuning_long.sh
  
    看日志:
  
    tail -f artifacts/search_evaluation/tuning_launches/<run_name>.log
  
    看结果目录:
  
    ls artifacts/search_evaluation/tuning_runs/<run_name>/
  
    续跑:
  
    ./scripts/evaluation/resume_coarse_fusion_tuning_long.sh <run_name>
  
    每轮会自动做这些事:
  
    - 生成一批候选 coarse_rank.fusion 参数
    - 写入配置并重启 backend
    - 检查 eval-web,必要时自愈拉起
    - 跑评测并收集 Primary_Metric_Score
    - 更新 trials.jsonl、leaderboard.csv、summary.md
    - 基于历史结果调整下一轮采样分布
  
  上面只是历史的寻参任务的参考。现在请你使用新的数据集来进行寻参。
  要注意的是这个数据集比较大,因此每一轮行参任务耗时会比较长,进行大范围的精细的搜索不太可取。考虑仔细分析上次寻参的结果,在已有成果上,进行精细搜索,如果已有成果还不太够,可以在小数据集上进行粗搜,然后再到大数据集上寻参。
  
  
  
  Response - 1