分享我的 ARC Prize 2024 代码(最终提交获得 31 分)
分享我的 ARC Prize 2024 代码(最终提交获得 31 分)
作者:Nikola Hu (zoenguyenramirez)
发布时间:2024-11-15
竞赛排名:13
https://github.com/zoenguyenramirez/arc-prize-2024
https://www.kaggle.com/code/zoenguyenramirez/fs-1-inherted-newzoe-v7
嗨 Kaggle 伙伴们!我很兴奋能分享我在 ARC Prize 2024 竞赛中获得 31 分的解决方案。我没有使用现有的语言模型,而是采用了“从头开始”的方法,使用自定义 Transformer 架构,得出了一些有趣的发现。
🔑 关键方法与发现
- 主动推理 (Active Inference):基于 MindAI/Jack Cole 团队的见解实现(当我卡在 4 分时,这是一个游戏改变者!)
- 反向增强 (Reverse Augmentation):最初作为“一致性”实现,后来发现与 MindAI 的方法一致
- 自定义位置编码:开发了一种专门的
grid_encoding,其表现优于传统的 NLP 位置编码
- 架构实验:
- Transformer 掩码 Hack(由于性能影响,在最终提交中禁用)
- 渐进式头 (Progressive Head)(由于后期发现的 bug,影响不确定)
- 最小词汇表:高效的 19-token 表示
🛠️ 技术细节
环境
- Python 3.11.9
- PyTorch 2.2.1
仓库结构
代码分为两个主要部分:
dev_folder:开发和训练代码
submission_folder:最终提交代码
📊 性能历程
- 初始阶段:公共评估集准确率 30-40%,私有测试约 4 分
(注意:这个早期版本不在 GitHub 仓库中,仓库仅包含最终提交)
- 最终结果:使用集成方法获得 31 分
🤔 给社区的开放性问题
- 经过进一步优化,这种基于 Transformer 的方法能否达到排行榜顶部?(我在最后一个月才加入,无法探索更大的模型)
- 使用这种架构能否达到 85% 的大奖阈值?
- 对于此任务,您对专用 Transformer 与通用语言模型有何看法?
🙏 致谢
特别感谢:
欢迎探索代码、提供反馈或提出问题。让我们互相学习,共同推动 Transformer 架构的可能性边界!