第 15 名解决方案
第 15 名解决方案
作者:iws (tkyiws) | 发布时间:2024-12-13 | 竞赛排名:15
首先,我想向组织者表示衷心的感谢,感谢他们举办了如此精彩的比赛。这是我参加过的最引人入胜的竞赛。
模型概述与特征
概述
我的解决方案相当直接。我使用了一个检索模型来选择 25 个候选项,并使用单个模型对它们进行重排序。我将这种方法应用于不同的训练数据组合。对于选出的 25 个候选项,重复 ID 的得分取平均值,而唯一 ID 保留原始得分。
得分结果
- 最终得分:0.553 (私有榜) / 0.617 (公共榜)
- 检索模型 1:0.513 (公共榜) / 0.455 (私有榜) - Qwen2.5-32B
- 检索模型 2:0.515 (公共榜) / 0.450 (私有榜) - Qwen2.5-32B
- 重排序模型 1:0.610 (公共榜) / 0.538 (私有榜) - Qwen2.5-32B-Instruct-bnb-4bit
- 重排序模型 2:0.596 (公共榜) / 0.536 (私有榜) - Qwen2.5-32B-Instruct-bnb-4bit
合成数据生成
使用 GPT-4o,我提供了 10 个示例问题和我旨在生成的误解。然后通过从误解逆向工程来创建问题。
- 从未出现在竞赛数据中的误解:2 种类型 (985 个样本 × 2)
- 仅出现一次的误解:1 种类型 (847 个样本)
训练方法
检索器训练:
- 使用 SFR-Embedding-2_R 预训练模型提取前 200 个候选项。
- 使用 Qwen25-14B 从前 200 个候选项中随机选择 30 个硬负样本并进行对比学习。再次提取前 200 个候选项。
- 使用 Qwen25-32B 重复相同过程。
这个过程可能看起来违反直觉。然而,检索模型的作用不是识别单个正确答案,而是确保正确答案包含在前 25 个候选项中。因此,模型需要采用更广泛的焦点来实现这一目标。
重排序器训练:
- 使用检索模型为每个问题提取前 25 个候选项。
- 从这些候选项中随机选择 2-25 个选项。如果没有正确答案,则用一个正确答案替换其中一个选项。
- 进行指令微调以从选项集中预测正确答案。改变选项数量有助于捕捉任务的核心性质。
集成方法
两个预测结果中重叠 ID 的得分取平均值,而唯一 ID 的得分保留原样。令人惊讶的是,这种方法效果很好。由于检索器和重排序器模型因随机负采样而具有不同的优势,这种集成方法将得分提高了 0.02。
最后感想
这次比赛让我取得了有史以来最好的排名。在比赛期间,我长时间保持在金牌范围内,这非常令人兴奋。虽然我与金牌擦肩而过,但我渴望在未来的比赛中应用这些经验。
非常感谢大家!