来自 NVIDIA 的 Kaggle Grandmaster David Austin 和 Chris Deotte 以及 HP 的 Ruchi Bhatia 与来自 Kaggle 的 Brenda Flynn 一起参加了今年在拉斯维加斯举行的 Google Cloud Next 大会。他们分享了自己的身份、竞争的动机,以及他们如何在全球最大的数据科学竞赛平台上做出贡献并赢得比赛。
本博文简要介绍了他们的讨论,包括解决 Machine Learning 问题的最佳实践、提示和技巧,以及他们最喜欢的工具。
认识 Kaggle Grandmaster
David Austin 是 NVIDIA Kaggle Grandmaster 团队的成员。他还是 NVIDIA 的首席 AI 软件工程师和开源 LLM 应用开发的技术主管。Austin 拥有化学工程学位,作为一名数据科学家,他为半导体制造、工业 AI 和高级 LLM 应用等多个行业做出了贡献。他的工作重点是技术和实用解决方案的交叉,旨在突破 AI 及其实际应用的界限。Austin 是 Competitions Kaggle Grandmaster。
Ruchi Bhatia 是计算机工程师,拥有卡内基梅隆大学信息系统管理硕士学位。目前,她是 HP 数据科学和 AI 产品营销经理。通过指导和分享她的旅程,她激励和引导有抱负的技术人员在不断发展的技术世界中探索自己的道路。她是笔记本、Datasets 和 Discussion 类别中最年轻的三位 Kaggle Grandmaster。
Chris Deotte 还是 NVIDIA Kaggle Grandmaster 团队的成员和 NVIDIA 的高级数据科学家。获得数学学士学位后,Deotte 曾在多个领域拥有丰富的职业生涯,包括图形艺术家、摄影师、木工和教师。他还获得了计算科学和数学博士学位,论文主题是优化并行处理,也是四届 Kaggle Grandmaster。
Kaggle Grandmaster 反思
是什么促使您参加比赛,是什么促使您成为 Grandmaster?
Deotte:最初,我的目标不是成为一名 Grandmaster。我在 2018 年加入 Kaggle,并沉迷于精彩的社区、知识谜题和学习机会。有了我的教师背景,我很快通过分享成为了 Discussions 和 Notebooks Grandmaster。然后,我变得更加严肃,赢得了 Competitions 和 Datasets Grandmaster。我认为,我的多元化背景有助于我找到非常规解决方案,以取得优异的成绩。
Bhatia: 在 Kaggle 上比赛最初是为了让我的技能超越理论,把我在课堂或工作中学到的东西应用到杂乱的现实问题中。但随着时间的推移,它变得更加复杂:反复迭代的习惯、在压力下涌现的创造力,以及不断推动每天提高 1% 的能力。
促使我成为数据集、Notebooks 和讨论领域特级大师的原因并不是一场巨大的胜利,而是一致性、协作性和对学习的执着。我研究了热门解决方案,问“为什么这样做”,然后从头开始重建模型,直到我真正理解它们。我周围的人都比我好。我没有试图获胜。我努力改进。队伍紧随其后。
回顾您最成功的比赛,您采用的最违反直觉或非常规的方法是什么,对您的结果产生了重大影响?
Austin:这可能只是非常规的,因为大多数人不会经常这样做,但在提供数据的比赛中,我总是采取的一种方法是,在比赛的前几天对数据进行可视化和理解。在图像比赛中,我会将所有图像渲染到一个页面上,然后滚动浏览并尝试理解它们告诉我的内容。
我们的大脑理解许多东西,并将我们引向算法无法理解的黑盒。在 NLP 比赛中,我也会做同样的事情,在低维空间中可视化 embeddings。这项技术在卫星图像比赛中发挥了重要作用,有助于了解图像的不同分布,事实证明这些图像是真实的,而不是合成的。
您如何处理新的 Machine Learning 问题?从何处着手?您寻求何种类型的信息或详细信息来指导您的策略?
Deotte:开始一个项目很容易。首先探索数据,然后为数据类型构建标准 baseline 模型。最后,我们创建本地 validation 方案,并计算 baseline 的 validation metric 分数。这是我们的 baseline 分数。
确定如何突破基准是一项艰巨的任务。这要求我们通过 EDA 深入了解数据,并通过观察基准模型的行为来理解数据。这种理解将提出新的尝试思路。实施这些新想法的结果将促进更多的理解,这将提出更多的新想法。我们会尽快重复此过程!
您的开发设置是怎样的?您认为哪些工具特别有用?
Austin: 我对自己的开发设置非常感兴趣,也非常热爱,因为我喜欢 computer hardware。我打造了过去 20 年拥有的每台 PC,我喜欢做一些事情,例如针对特定工作负载的 overclock 特定组件、我运行大量的 watercool 组件,以及良好的 networking setup,以将繁重的硬件排除在我的家庭办公室之外!
对于软件,我喜欢使用开箱即用的环境和容器,因此与设置软件和管理依赖项相比,我可以花更多时间构建解决方案。我经常使用 NVIDIA CUDA-X 数据科学库 (例如 NVIDIA cuML) 执行数据可视化等任务,在 t-SNE 和 UMAP 等低维空间中绘制嵌入。
根据您自己的比赛经验,您采用了什么策略或方法来不断提升排名?
Bhatia: 最大的缺失环节通常是问题表述和迭代直觉。了解工具是一回事。 了解如何以及何时使用它们 是顶尖竞争对手的独特之处。在 Kaggle 上,成功通常来自:
- 深度数据叙事,了解数据集的真正含义 。
- 智能 CV 策略,尤其是在处理泄露、时间间隔或数据不平衡时。
- 创意特征工程或目标转换。
我使用的一种技术是使用多个 CV 折叠来模拟公共/私人 LB 拆分,以估计潜在的排行榜波动。这是对公共评分过拟合的合理检查。此外,我还将比赛视为产品周期:首先是 MVP (简单基准) ,然后使用反馈循环进行迭代,而不是完美主义。
您觉得 Kaggle 有哪些特别有用的技巧或 tips?
Deotte: 四件事。首先,我建议设置一个可靠的本地验证。其次,使用 GPU 加速实验流程,以 cuML 或 NVIDIA cuDF 等加速器尽可能快地运行实验。第三,我建议分析和解决训练数据与测试数据之间的差异。最后,我建议您了解竞争指标,并优化相应的解决方案。
Bhatia: Kaggle 的优势在于通过实践进行结构化学习。一个被低估的提示: 阅读论坛讨论,如研究论文 。顶级竞争对手通常会在这些主题、data leakage hints、alternative metrics 或 creative feature ideas 中留下金牌。
另一个关键是 Notebook 的再现性和运行时感知。使用轻量级脚本进行调试,重模型仅用于最终运行。保存中间特征和预测。将其视为生产 ML 流水线。

如何优化 AI 系统设计或 Prompt Engineering,以提高能效和计算性能并减少环境影响,同时保持输出质量?
Bhatia: 在比赛中,我们很少明确谈论能效,但我们通过剪枝、优化推理时间或使用 model distillation 直观地进行设计。我相信 energy-aware modeling 很快将成为竞争优势,尤其是在企业和产品环境中。在 prompt engineering 和 LLM 流程中,我考虑的是 latency-budgeted 推理,平衡推理深度与速度。我使用的一种策略是仅在需要时提供 chain-of-thought prompting,只在常见情况下回退到简单的提示。token 用量和内存也是如此,尽可能减少不必要的上下文。
无论是适用于 PC 还是云系统的 AI,节能高效的 AI 都能带来更好的用户体验和更低的总体拥有成本 (TCO) 。
如何选择要使用的模型?
Bhatia:我的方法取决于问题的上下文。如果是 Kaggle 比赛,我关心的是压缩性能。如果它面向产品,我会平衡性能与延迟、可解释性和部署便利性。我不会一味追求“最佳”模型,而是看数据。如果我看到强烈的表格模式,我可以从 XGBoost 或 LightGBM 等基于树的模型开始。如果是文本密集型模型,我会测试经典的 NLP 和基于 Transformer 的方法。对于图像任务,我考虑先使用预训练的 CNN,然后再微调更大的视觉模型。
我总是构建快速基准测试、线性模型和基本树,以便了解信号。这些信息为我提供了一个关于解决方案所需复杂性的心理图谱。从那里,我进行迭代。我会测试一些架构或框架,比较交叉验证分数,并跟踪泛化。
我提交时间不会太早。我将模型视为假设:测试、学习和根据需要进行支点。关键不只是选择正确的模型,还在于知道何时从错误的模型继续前进。
NVIDIA 拥有整个 Kaggle Grandmaster 团队。这个团队做什么?
Deotte: 团队是一份理想的工作。作为我们工作职责的一部分,我们可以在 Kaggle 上竞争。我们利用从竞争中获得的观察和知识来帮助开发 NVIDIA 产品、改进 NVIDIA 内部项目,并帮助 NVIDIA 客户。我们的专长是提高模型准确性,无论是构建更好的工具还是构建更好的模型,NVIDIA 都需要我们的专业知识。
了解详情
NVIDIA Kaggle Grandmaster 团队参与了许多比赛;这些博文重点介绍了他们最近赢得的几项比赛,即“ 特征工程竞赛 ”和“ AI 数学奥运会 ”。
要加速机器学习模型,请在此 Notebook 中了解 NVIDIA cuML 并进行试用。
您可以在我们的博文“ NVIDIA cuML 为 scikit-learn 带来零代码更改加速 ”中了解有关 cuML 的更多信息,并通过注册我们 加速数据科学学习路径 中的实践课程来了解 NVIDIA 专家的信息。
有关 CUDA-X 库(如 cuML)的问题或留下反馈,请在 Slack 上与我们一起 #RAPIDS-GoAi 。