遇到了一个分布式 topk 问题, 用 qwen3 的时候发现的, 快速回答全错就几个 AI 都试了试.
问题一: 现在有上百亿的数据需要取前百万 topk 数据, 由于数据量过大无法直接加入内存, 采用分布式处理, 每个进程取部分数据后不断维护 topk, 最后将各个进程的结果合并维护 topk, 这样可以得到全局 topk 结果吗?
问题二: 一个算法是求两两相似度, 我有大量的图片, 获取了一个巨量的负样本, 但是因为太大无法保存, 所以我只取 topk 个, 同时因为生成相似对使用了并行计算, 每个进程的百万结果先求一次 topk, 最后再合并结果的时候所有结果求 topk, 这个方案能保证 topk 是全局的 topk 吗?
两个问题方案都是正确的, 因为不让放结果我就精简了
qwen3 开深度思考就对了, 但是很费时
qwen max: 1: 无法保证 2:不能保证。
qwen max 深度思考: 1:正确, 2:"当两个前提均满足时,方案可保证全局 Top-k"
GLM 4.6 很神奇, 开关各个功能结果不同
GLM 4.6 关搜索: 1:是的 2:不能。
GLM 4.6 开搜索: 1:不能 2:不能保证。
GLM 4.6 深度思考: 1:不可以 2:能够保证
claude4.5 Opus4.5 Gemini3pro 都正确回答, GPT5.2 错了
github copilot chat GPT5.2: 1:可以 2:不能保证
github copilot chat claude Sonnet4.5: 1:可行的 2:不能保证, 但是解释原因后的结论: "实际上我重新思考后,这个方案是可以保证全局 top-k 的!"
github copilot chat claude Opus4.5: 1:完全可以 2:你的方案完全正确
github copilot chat Gemini 3 pro: 1: 可以 2:是的
问题二好几个 AI 都是不能, 感觉是触发哪里的隐含思维了默认分布式会丢失局部最优导致的