返回列表

8th Place Solution

650. Drawing with LLMs | drawing-with-llms

开始: 2025-02-25 结束: 2025-05-27 AIGC与多模态 AI大模型赛
第八名解决方案

第八名解决方案

作者: Pascal Pfeiffer (ilu000) & Psi (philippsinger)

排名: 第 8 名

发布日期: 2025-05-28

祝贺所有获奖者,感谢 Kaggle 举办这场非常有趣且具有挑战性的比赛。感谢 @philippsinger 一如既往成为优秀的队友。

本地验证

我们生成了几百个 prompt/问题样本用于本地验证。虽然排行榜 (LB) 上的分数通常略低,但我们看到与该设置具有良好的相关性,尽管本地分数和公共 LB 分数都存在较高方差。最终,这导致我们选择了两个高分提交,基本上只有随机种子不同,以减轻一些随机性。

解决方案流程

我们的管道包含一个 SDXL 模型,我们基于其中一个本地验证集的分数,对之前 16 次运行的 prompted Flux Schnell 和 SDXL 模型生成的最佳图像进行了微调。我们充分利用了基础设施,并行使用两个 GPU 生成图像,并为每个图像单线程评分。Kaggle 包使得设置有点困难。我们不得不采用基于 API 的方法来防止上下文错误。显然,这在较新的 kagglehub 版本中已修复,所以对于使用包方法的未来比赛来说应该不是问题。

通过优化的管道,我们能够根据其余管道的计算要求,为每个样本生成并迭代约 14-18 张图像。位图随后使用优化的 VTracer 设置和一些最小化步骤转换为 SVG,主要利用 scour 库并减小原始图像大小以符合 10kB 要求。对于 OCR,我们在其中一个角落添加了一个小"+",这非常稳健且成本低,但根据其他竞争对手的说法,就美学分数而言并不理想。

最后,所有图像都使用 vqa 的代理 prompt 进行评分,并仅应用 MedianBlur 以减少运行时间。

qa = {
    'question': [f'Does this look like {prompt}?'], 
    'choices': [["yes", "no"]], 
    'answer': ["yes"]
}

为每个样本挑选并返回最佳图像。

其他尝试

我们确实投入了大量时间在 diffvg 和可微分图像预处理步骤上。虽然我们在更简单的管道和本地实验中取得了一些有希望的结果,但最终,"Package Prediction Error"阻止我们在最终提交中使用它。

我们还投入时间尝试通过完全可微分的预处理步骤来优化美学分数,但在所有防御机制到位的情况下,同时保持高 VQA 分数,只取得了非常有限的成功。

显然,我们缺少 diffvg 并使用 prompt 与图像之间的相似度分数来获得更好的最终排名。尽管如此,我们非常感谢这个挑战,它总是激发新的想法去尝试。说实话,我对最终图像的高质量感到惊讶。

同比赛其他方案