『产业气象站』却什么奖牌都没拿到怎么办?第一名:我也很苦恼,强势入驻Kaggle
参与:泽南、魔王、杜伟
参与Kaggle竞赛却没有拿到奖牌 , 我应该怎么办?
【『产业气象站』却什么奖牌都没拿到怎么办?第一名:我也很苦恼,强势入驻Kaggle】很多参与Kaggle竞赛的人都希望能够通过构建具有竞争力的算法来提升自己的水平 , 但对于绝大多数参与Kaggle竞赛的同学来说 , 在一番努力之后没有拿到任何奖牌显然是大概率事件 。
在这之后应该怎么办呢?
参加Kaggle竞赛屡屡败北后 , Kaggle社区NotebooksGrandmaster第一名AndrewLukyanenko总结了自己的经验:
文章图片
孟加拉语是全球使用人数第五的语言 。 Kaggle上有一个孟加拉语识别挑战赛 。 这种语言拥有49个字母和18个变音符号 , 这意味着它存在很多种字位(书写语言的最小单元) 。
在「Bengali.AIHandwrittenGraphemeClassification」挑战中 , 参赛者需要使用机器学习方法来预测这些字位的三个独立部分——字位根、元音变音符号和辅音变音符号 。
看起来有点超纲了?这样一个可能有些小众的比赛 , 吸引了超过两千支队伍参赛 。 起初我只是单枪匹马前来参加 , 但很快就找到了四个志同道合的网友组成了团队 。 我们在这场比赛中花费了大量时间和资源……最终却只名列第254位 , 没有获得任何奖牌 。
「社会的毒打」让我沮丧了很长一段时间 。
文章图片
失败后我究竟做了些什么?在这之后 , 我对自己所做的事情进行了反思 , 阅读了高阶团队的解决方案 , 并吸取了一些经验教训 。 本文中有很多可以分享的东西 , 它们适用于所有数据竞赛类型 , 大致可以分成几类话题:思维方法和一般方式、代码实践、需要提前准备的东西 。
工欲善其事 , 必先利其器:软件环境
文章图片
正如大多数机器学习实践 , 训练模型是Kaggle竞赛的主要部分 。 KaggleNotebook看起来很美好 , 但是它给的GPU算力远远不够 , 只有每周30个小时 。 按照目前的经验看 , 想要好成绩都要将算法运行在自己的机器或者其他云服务上 。
首先我们需要设置工作环境 , 这项工作用pip、conda等方法就可以实现 。 你最好在Kaggle上检查各个库的版本 , 并在自己的环境中安装同样的版本——不同版本的组件可能意味着不同的API或逻辑 。
硬件设备
文章图片
另一个重要的因素当然是硬件本身 。 如果我们有大量数据要处理(如这项Kaggle竞赛) , 那么在单显卡上训练单个模型就得花费一天甚至更长时间 。 并且 , 运行实验通常要比训练最终模型花费的时间更多 。 所以我们需要尝试不同的硬件 。
我的WindowsPC上配置有双路英伟达GeforceGTX1080TI , 但这显然不够 。 我在GoogleCloud上多次租用GPU , 但忒贵了 , 所以我开始尝试新的方法 。
最近我听说了Hostkey(一家高级网络服务提供商) , 你可以租用他们的服务器 。 以下是Hostkey的promoprogram:
WeofferfreeGPUserverstothewinnersofgrantsatlargecompetitionvenuesfortheiruseinfurthercompetitions,fortrainingorforpersonalprojectsrelatedtodatascience.
但作为交换 , 参赛者必须在社交媒体上分享他们的反馈和经验 。
最开始 , 我得到了一台配备4路1080ti的服务器 。 所以设置环境没遇到什么问题 , 并很快开始训练模型 。 在单个GPU上的训练取得了非常好的进展 , 于是我开始逐渐增加GPU数量 。 结果证明 , 2、3个GPU也能运行良好 , 但使用4个GPU时却失败了 。 技术支持很快给出反馈 , 并在几天内查明了问题所在 。 原来服务器本身存在一些问题 , 处理器无法跟上4路1080ti的全功率运行 。
推荐阅读
- 【科学家】“太岁”到底是什么生物?科学家给出答案:科学家给出答案
- 『软件』明知有的副业是骗人的,为什么还是有很多人去做呢?
- 阿里巴巴▲三国志战略版什么来路?为何频频刷屏各大软件?
- 阿冰说手机换什么手机(4k左右)?,考虑了好久
- 『Java』java数据结构系列——什么是数据结构
- 中国电子报智能传感器能占多大市场?,30万亿元智慧养老产业
- 长沙晚报打造“中国软件开发者产业中心城市”,长沙携手CSDN
- 火星:明明距离地球最近的行星是金星,为什么全世界却都赶着去探测火星?
- 5g手机@5G手机出来许久,为什么大家都不买?这4个原因足以说明!
- [基因改造]蚊子在地球上到底有什么用?如果全被消灭了会有什么严重后果