24 Apr, 2026
1 commit
-
- `baseline`(top771 最优,`seed_baseline`) - `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` - `54 条上得到的极端解`(`seed_legacy_bo234`) - `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` - `bo_012`(`Primary_Metric_Score=0.485027`) - `es_bias: 6.6233`, `es_exponent: 0.2377` - `text_bias: 0.049`, `text_exponent: 0.4446`, `text_translation_weight: 1.6236` - `knn_text_weight: 1.0344`, `knn_image_weight: 1.3565`, `knn_tie_breaker: 0.212` - `knn_bias: 0.0052`, `knn_exponent: 4.4639` - `knn_text_bias: 0.1148`, `knn_text_exponent: 1.0926` - `knn_image_bias: 0.0114`, `knn_image_exponent: 5.2496` - `bo_018`(`Primary_Metric_Score=0.484691`) - `es_bias: 8.8861`, `es_exponent: 0.2794` - `text_bias: 0.0189`, `text_exponent: 0.2`, `text_translation_weight: 1.7178` - `knn_text_weight: 1.7459`, `knn_image_weight: 4.2658`, `knn_tie_breaker: 0.2814` - `knn_bias: 0.001`, `knn_exponent: 1.4923` - `knn_text_bias: 4.0`, `knn_text_exponent: 0.9309` - `knn_image_bias: 0.01`, `knn_image_exponent: 5.8289` **怎么找(可复现)** - 从 `leaderboard.csv` 找(含分数+参数一行全):`artifacts/search_evaluation/tuning_runs/coarse_fusion_clothing_top771_resilient_20260422T091650Z/leaderboard.csv` - 例:`rg '^2,bo_012,' artifacts/search_evaluation/tuning_runs/coarse_fusion_clothing_top771_resilient_20260422T091650Z/leaderboard.csv` - 从 `trials.jsonl` 找(最权威,调参器实际写入的 params):`artifacts/search_evaluation/tuning_runs/coarse_fusion_clothing_top771_resilient_20260422T091650Z/trials.jsonl` - 例:`rg '\"name\": \"bo_012\"' artifacts/search_evaluation/tuning_runs/coarse_fusion_clothing_top771_resilient_20260422T091650Z/trials.jsonl` - 例:`rg '\"name\": \"seed_legacy_bo234\"' artifacts/search_evaluation/tuning_runs/coarse_fusion_clothing_top771_resilient_20260422T091650Z/trials.jsonl` **已补到 `config.yaml`** - 我已把这 4 套参数作为“注释 presets”补在 `coarse_rank.fusion` 旁边:`config/config.yaml:236` - 注意:你当前 `config/config.yaml` 里 `coarse_rank.fusion` 的生效值是 `knn_bias=0.6 / knn_exponent=0.4`,更像 `seed_low_knn_global`,不是本次大集最优的 baseline。
22 Apr, 2026
2 commits
-
- 把 batch timeout 改成“可无限长跑”: - [tune_fusion.py](/data/saas-search/scripts/evaluation/tune_fusion.py:400) - 现在 `--batch-eval-timeout-sec <= 0` 时,不再给 `subprocess.run` 设置 Python 层超时 - 新增 resilient wrapper,负责自动续跑: - [run_coarse_fusion_tuning_resilient.sh](/data/saas-search/scripts/evaluation/run_coarse_fusion_tuning_resilient.sh) - 逻辑是:检查 `trials.jsonl` 里已完成的 live eval 数量,没到 `max_evals` 就继续 `resume-run` - 即使异常退出,也会 sleep 后自动从已有 `run_dir` 继续 - 启动/续跑脚本都切到 resilient 模式: - [start_coarse_fusion_tuning_long.sh](/data/saas-search/scripts/evaluation/start_coarse_fusion_tuning_long.sh) - [resume_coarse_fusion_tuning_long.sh](/data/saas-search/scripts/evaluation/resume_coarse_fusion_tuning_long.sh) **当前任务** - `run_name`: `coarse_fusion_clothing_top771_resilient_20260422T091650Z` - `run_dir`: [coarse_fusion_clothing_top771_resilient_20260422T091650Z](/data/saas-search/artifacts/search_evaluation/tuning_runs/coarse_fusion_clothing_top771_resilient_20260422T091650Z) - `launch log`: [coarse_fusion_clothing_top771_resilient_20260422T091650Z.log](/data/saas-search/artifacts/search_evaluation/tuning_launches/coarse_fusion_clothing_top771_resilient_20260422T091650Z.log) **已确认** - wrapper 已启动并进入 `attempt=1` - 真正传入的是 `--batch-eval-timeout-sec 0` - `tune_fusion.py` 正在运行 - `build_annotation_set.py batch` 已经在运行 - `eval.log` 已经打出这轮的前几条 query 评测进度,说明不是空转 **监控方式** - `tail -f artifacts/search_evaluation/tuning_launches/coarse_fusion_clothing_top771_resilient_20260422T091650Z.log` - `tail -f logs/eval.log` - `tail -f artifacts/search_evaluation/tuning_runs/coarse_fusion_clothing_top771_resilient_20260422T091650Z/trials.jsonl` - `cat artifacts/search_evaluation/tuning_runs/coarse_fusion_clothing_top771_resilient_20260422T091650Z/leaderboard.csv` **这次和上次的关键区别** - 上次是“单轮 batch 被 Python 超时截断” - 这次是“单轮不设 Python 超时 + 外层 wrapper 自动续跑” - 所以长时间运行、中途中断、再恢复,都会沿着同一个 `run_dir` 往下推进
20 Apr, 2026
1 commit
-
- 问题背景:clothing_top771 数据集在被外部异常终止(reranker被kill);缺乏统一的断点续跑机制,此前依赖临时脚本恢复。 - 解决方案:在 eval_framework/cli.py 的 build 命令中新增 --resume-missing、--continue-on-error、--max-retries-per-query、--retry-backoff-sec 参数,并修正默认参数逻辑(有 dataset_id 时不再强塞 legacy queries_file)。 - 脚本统一:更新 start_eval.sh 和 start_eval_web.sh,增加 batch-rebuild-resume 入口,统一使用 dataset 模式,REPO_EVAL_QUERIES 改为可选覆盖。 - 文档补充:在 scripts/evaluation/README.md 中添加中断续跑说明和新命令用法。 - 验证:eval-web 多数据集接口(/api/datasets、/api/history?dataset_id=...)正常返回 core_queries 与 clothing_top771 分域结果;当前进程已越过第 48 条,query_builds 计数增至 54,正在处理第 55/771。 把流程做成可持续的“统一续跑”能力,避免再靠临时脚本: - 在 [scripts/evaluation/eval_framework/cli.py](/data/saas-search/scripts/evaluation/eval_framework/cli.py) 新增 `build --resume-missing --continue-on-error --max-retries-per-query --retry-backoff-sec`,并修正默认参数逻辑(有 `dataset_id` 时不再强塞 legacy `queries_file`)。 - 在 [scripts/evaluation/start_eval.sh](/data/saas-search/scripts/evaluation/start_eval.sh) 新增 `batch-rebuild-resume` 入口,统一用 dataset 模式,`REPO_EVAL_QUERIES` 仅作可选覆盖。 - 在 [scripts/start_eval_web.sh](/data/saas-search/scripts/start_eval_web.sh) 做同样的 dataset/queries 统一化。 - 在 [scripts/evaluation/README.md](/data/saas-search/scripts/evaluation/README.md) 补了中断续跑说明和新命令。 - 已验证 `eval-web` 多数据集接口正常(`/api/datasets`、`/api/history?dataset_id=...` 均返回 `core_queries` 与 `clothing_top771` 分域结果)。 当前在线进程: - LLM 标注:`PID 2062901`(`build ... --dataset-id clothing_top771 --resume-missing ...`) - reranker:`PID 2065235`(6007,`/health` 返回 `ok`) 盯进度: ```bash tail -f logs/eval.log ls -1 artifacts/search_evaluation/datasets/clothing_top771/query_builds | wc -l curl -sS http://127.0.0.1:6007/health ``` 影响范围:scripts/evaluation/eval_framework/cli.py, scripts/evaluation/start_eval.sh, scripts/start_eval_web.sh, scripts/evaluation/README.md
17 Apr, 2026
2 commits
-
1. deepl performance improve 2. nllb-200-distilled-600m model params optimize
-
【方案落地】 - 配置层:在 config/config.yaml 中注册 core_queries(原53条)和 clothing_top771(771条) 核心改动:config/schema.py (line 410) 增加 EvaluationDataset 模型; config/loader.py (line 304) 提供 get_dataset/list_datasets,兼容旧配置; 新增 scripts/evaluation/eval_framework/datasets.py 作为 dataset registry 辅助模块 - 存储与框架:所有 artifact 按 dataset_id 隔离,标注缓存跨数据集共享 核心改动:store.py (line 1) 增加 dataset_id 字段到 build_runs/batch_runs; framework.py (line 1) build/batch_evaluate 接受 dataset_id 并固化 snapshot - CLI 与调参:所有子命令增加 --dataset-id 参数 核心改动:cli.py (line 1)、tune_fusion.py (line 1) 及启动脚本 - Web 与前端:支持动态切换评估集,History 按 dataset 过滤 核心改动:web_app.py (line 1) 新增 /api/datasets,/api/history 支持 dataset_id; static/index.html 和 eval_web.js (line 1) 增加下拉选择器 【验证与测试】 - 新增 tests/test_search_evaluation_datasets.py,pytest 通过 2 passed - 编译检查通过(pyflakes/mypy 核心模块) - eval-web 已按新模型重启并通过健康检查(后续因资源占用不稳定,不影响标注) 【LLM 标注运行状态】 - 目标 dataset:clothing_top771(771条query) - 手动拉起 reranker(因 search.rerank.enabled=false),确认 /health 正常 - 执行 rebuild --dataset-id clothing_top771,当前已进入第1个 query "白色oversized T-shirt" 的批量标注阶段(llm_batch=24/40) - 日志:logs/eval.log(主进度),logs/verbose/eval_verbose.log(详细 LLM I/O)
16 Apr, 2026
1 commit
04 Apr, 2026
1 commit
-
Exact Match High Relevant Low Relevant Irrelevant to Fully Relevant Mostly Relevant Weakly Relevant Irrelevant
02 Apr, 2026
1 commit
-
目前在54训练数据里面,拆分44条train + 10 test,训练集显著提升但是test上不及基线 作为基础设施保留,以后可以考虑扩大数据集进行使用