SWE / RE / ML · System Design

企业GPT/RAG:Retriever、Evaluator与Generator逐层训练评估

检索召回、证据质量和答案忠实性要拆开测量,权限贯穿所有阶段。

题目重点:检索召回、证据质量和答案忠实性要拆开测量,权限贯穿所有阶段。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 员工对内部文档提问,要求文档权限与版本;训练以retriever→reranker/evaluator→generator为主,agent多步工具访问另有预算和权限约束。
  • 不能承诺某架构/optimizer在所有企业数据最优。先建立标签与基线,再讨论训练;生成答案需要引用可追溯证据且允许不知道。

解题路线

  1. 文档ingestion存source/version/ACL,解析去重、分块及引用坐标。chunk长度按文档结构/上下文预算选,表格/标题不能盲切;删除/权限变化既更新索引也在回答前再鉴权。
  2. retriever比较BM25与dense/hybrid,dense双塔用query-positive文档及hard negatives做contrastive loss。负例避免实际相关或不同版本同答案,训练/test按文档和时间隔离;recall@k/MRR按任务切片评估。
  3. reranker用cross-encoder对query/chunk相关性打分,训练pairwise或pointwise标签;evaluator若评证据充分性与冲突须另定义标签,不把模型置信当真值。算延迟/候选数决定仅rerank有限K。
  4. generator基线先固定模型加检索prompt;需要微调时使用可验证question-evidence-answer、拒答和无证据样本,loss为监督token CE。优化器/学习率/冻结策略依参数量与资源预算,用验证集选择,不凭模型名字定超参。
  5. 分层失败分析:未召回、召回但排序差、证据过时/无权限、生成不忠实。最终eval同时看答案正确、citation支持、拒答质量、权限泄露及latency/cost,人工审查校验LLM judge偏差。

手动走一遍

用户问政策v3,但top1是v2,generator再流畅也会答错;需按版本检索或明确冲突,不靠更长prompt补救。一个员工无权限看财务文档,即使embedding命中也不能在prompt或引用里泄露。训练切分以同一文档所有chunks为一组,随机按chunk切会让近重复内容跨test。

规模与取舍

online检索/重排/生成延迟分项,reranker成本随候选K增加,生成成本随context与输出tokens增。索引体积≈chunks×(embedding bytes+metadata),还含倒排与副本;训练数据标注及权限维护是持续成本。

易错点与追问

容易失分的边界

  • 只测最终答案分数无法定位retrieval瓶颈。
  • 把生产用户query直接全部训练而无数据用途/敏感性处理。
  • 无证据还要求模型总给肯定答案。

继续深挖

  • 文档每天更新,怎样决定重新embedding范围与模型版本回滚?
  • agent多跳检索如何限制循环、工具预算和每步权限?
✓已复制微信号!