作者:罗如意,西安电子科技大学
在Datawhale的成长之路
第一次参加组队学习是在2020年2月份由伯禹AI,Datawhale及和鲸共同举办的挑战14天公益组队学习《动手学深度学习》。那一次有很多Datawhale的助教,但是当时并不知道Datawhale是什么,唯一的印象就是这些助教也太好了吧,回答问题都不厌烦的嘛,当时我麻烦最多的就是谢文昕,后面也对我自己当助教有比较大的影响,如果参加过推荐系统组队学习的伙伴,应该了解我做助教(应该也还不错),感觉文昕做的比我还好,大家应该就有体会了。经过那次公益组队学习,因为当时在伯禹平台上做的笔记受到的点赞数比较高,后面就被范大邀请进了Datawhale的优秀学习者群,目前我还在那个群里,我也是从一个优秀学习者然后变成Datawhale的成员,所以如果目前是Datawhale的优秀学习者想加入到Datawhale的话,你们也可以做到的。当然由于现在Datawhale团队的规模变大了,只是优秀学习者可能还不太够,目前Datawhale Contributor应该会比较容易进来,具体怎么进来就需要大家多在社群里多了解了解相关的技巧啦。「下面开始聊一聊我加入Datawhale之后,我是怎么成长的,会重点分享一下在组织里面做开源内容相关的事情,其中有很多机会还好自己把握了,让自己一路上都在不断的提升。」
❝
趁着周末下午以开源项目制作为主线,介绍了自己整个过程中的一些关键的思考和总结,当然也包括自己经历的很多困难,以及自己当时解决这些困难的做法。最后也对自己进行了反思,自己还存在很多不足,日后还需要不断的改进。
❞
1. 组织里划水几个月
刚加入Datawhale说实话,心里的唯一感受就是:这里都是大佬,肯定是个好地方。但那个时候真的不知道Datawhale到底是什么,整体能够看到的现象就是看到大家在水群,总感觉自己是不是错过了什么,「后面的经验告诉我,这种情况一般都是错过了开源项目人员招募的时间点以及自己的不主动造成的」。如果新加入的小伙伴也有这种困惑,大家应该积极主动一点多问,想问什么就问什么,大家回答问题是非常积极的。最开始就是我自己也不主动,等着看有木有大佬来带带,现在想想真的太天真了,天上哪来的那么闲的大佬,还花时间来带你呢,如果真想被大佬带也不是不可以,先跟着自己认定的大佬(了解群里的大佬们都在干点啥,看有没有自己感兴趣的)看能不能帮忙干点活,让大佬记住你呀,但是不要为了完成任务而完成任务,后面也会说到,我们完成的任务交给他们,其实就相当于在给他们展示自己的「态度和能力」(不管能力怎么样,但是咱们的态度一定要正)。
2. 成为内容设计的参与者
说了一些题外话,再回来说说自己吧。我就是那么被动的水了几个月的群,但是心里总是没有底,感觉自己进了这个组织也没具体干点啥(当然加入组织之前,就已经当过助教了,估计当时是组织在考验我们是否认同组织的价值观,以及组织做的这些事)。直到有一天看到群里有大佬们开始招募推荐系统开源内容的设计,当时自己已经了解过了CV, NLP相关的任务,想尝试了解一些推荐系统的东西,就立马进群搞事情了。「此时我觉得自己已经在被大佬带的路上了,成为了一个开源内容的参与者,哈哈」。
3. 从参与者变成组织者
刚进到内容设计小组还没正式开始,开源内容负责人「恰好找到我」,问我是不是在校生,他因为自己在腾讯上班比较忙没有太多时间去跟进内容设计的进度,问我是否可以来整体把控一下这个进度。当时当然毫不犹豫的答应了呀!就这样从一个参与者变成了一个组织者。那我作为一个组织者我应该考虑哪些事情呢?因为具体细节已经太久了, 下面是我对当时完成第一期组队学习之后的总结,为了更好的突出重点直接上图了。
「这一次组队学习的收获主要有:」
「现在看之前的总结,好像第一次组织做开源内容,以及参与组队学习的整个过程我还是收获了不少东西的。这也得感谢当时负责人给的一次机会。」
4. 从组织者变为负责人
其实在上面提到的第一次组织开源内容设计以及负责推荐系统的第一次组队学习的过程中,当时那一次的组队学习还没结束,大概正进行到一半左右的时间,马老师找到我说能不能帮渔佬一起做一下天池的新闻推荐赛的内容设计。当时听到是要跟渔佬一起搞事情,又是立马答应了,后面问了一下时间,大概只有「一个月」。所以开始找人一起搞事情,最终加上我只有4个人,参加前一期内容设计的那些人都因为这段时间恰好有事情,所以最后就我们四个人开始做了。下面是当时做了20多天之后的一个小小的总结,因为那时候看起来大部分内容都弄完了,其实还差很多(比如所有内容正确性的检查,代码检查等等),我当时好像是说20多天只做完了内容的80%, 但是大家好像认为事情已经结束了跟他们没关系了,剩下的就是负责人去整合就完事了。当时的心晴说实话不是很好,因为那段时间我基本都是每天熬夜,提前看懂某些开源竞赛的方案,然后给大家分享,那个时候是我分享最多的,基本上没几天就会去分享,我主要的想法是我需要让大家都在一个水平上去做这件事情,这样我就会轻松一点,但是我从没轻松过,一个内容过去,还有下一个内容。所以我在临近deadline之前给大家开了一次讨论会,那一次我没有讨论任何技术相关的内容,我给大家分享了一下我这段时间以来做了什么,经历了什么,我其实是希望大家可以理解我,有时候可能在群里态度不是很好,因为那个时候我的压力真的好大,下面直接上我之前开会的内容了(可以看成是自己那段时间的经历)。
「从上面我的心里变化就可以看出来,我当时的心情有多么的复杂」。下面是当时写的自己的一些收获,说实话那段时间真的收获特别多。
「后面在组织里面分享的时候,有人问到,你为啥不去组织里找人来帮忙呢?」
首先刚开始觉得这个过程可能鱼佬帮助会比较大,但是记忆中好像鱼佬当时特别忙,没太多时间,我这边只能是每次有了新的内容更新,或者进展跟渔佬汇报一下工作。此外大家来参与做内容的时候,自我介绍的都挺好的,貌似都有相关经验,但是实际上基本等于0。这个过程并不是一开始就能发现的,是慢慢的通过讨论分享,提的问题了解到的。时间一天比一天少,到后面再找人,很大概率是来学习的不是来干活的,所以只会添麻烦,这也是为什么我一个人扛下了所有的原因。
「当然,后面我也反思了,我这么做真的不好,前面只是说了一下我当时这么做决定的原因,后面我来分析一下我当时做这个决定的负面影响。」
- 如果我及时跟组织说明这些情况,有可能有相关经验的大佬会来帮忙,那么后面的压力就会小很多,甚至自己还能学到一些新东西。
- 如果我这边内容没有弄出来,耽误的不仅仅是组队学习的正常进行,更重要的是Datawhale和阿里天池举办比赛的合作可能会延期,这可能会给天池那边带来一些Datawhale的负面影响。
「所以下次要有什么特殊情况,先不管能不能得到实质性的帮助,把问题反馈给Datawhale,大家一起想办法。这一次虽然成功的一个人扛下了所有,以后要还是有类似的事情,不一定就能那么顺利了。」
后面还有个小插曲,就是按照阿里天池新上的入门赛的惯例,比赛期间需要有人去做分享,当时是给安排了四次分享,以往第一次分享都是渔佬上的,因为第一次分享的内容主要是关于这一类比赛的相关套路分享,但是恰好渔佬那几个直播时间点都没有时间。当时跟马老师说了这个问题,马老师想让我去试试,我也就硬着头皮答应了,最后我这边需要准备两场直播,一个是赛题及baseline的介绍,还有一个就是多路召回的介绍,后面两个是强哥和渔佬直播介绍。
「当时遇到的问题是:」
我把渔佬之前入门赛的所有视频都看了一遍,发现渔佬在第一次介绍赛题和baseline的时候,会把相关比赛的一些讨论和技巧也一起分享,「但是我不太会啊」,我当时纠结了很久我到底第一次直播讲什么呢?讲和渔佬类似的我很容易出问题,怕有的问题答不上来个为什么。后面思考了一下,因为推荐系统赛题和其他的数据挖掘不太一样,整个流程本身就比较复杂,所以我就想着我只要把这个问题给解释清楚我应该就算是还可以了,「下面截了几张之前直播的PPT(顺序是随便选的)」, 当然可能之前的分享中也有一些错误,但是整体问题不大,当时组队学习群里倒是说解释的比较清楚,不知道天池上其他非组队学习成员看了之后有啥感想,反正自己也是硬着头皮上了,又是一次锻炼自己的机会。
「那段时间做了很多事情,组织成员大概也知道一些,得知大家对我的评价还是非常好的,所以自己心里其实也挺开心,至少交给我做的事情没有让大家失望。就这样后面我就成了推荐系统开源项目的负责人。」
5. 总结与展望
目前,我是Datawhale推荐系统开源项目的负责人,前段时间刚完成最近一期的组队学习,其实还有很多事情想说,但感觉没有太大的必要,所以这里直接总结了。如果大家从头一直看到尾的话,应该知道我其实也是从一个小白过来的,中间经历了很多事情,我不知道其他的开源项目一路走来是什么样子的,我自己从我这段经历中收获了非常多。下面是对自己收获的一个总结:
「朋友(兄弟)」
❝
这一路走来交了几个知心朋友,我更愿意称他们为兄弟,很多时候要不是他们帮我扛着,我真的扛不动。当然这里也感谢这段时间以来所有为推荐系统开源内容做过贡献的人,这里也包括很多运营助教。「这里还需要特别感谢的是马老师,因为是马老师不断的给我机会挑战自己,比如让我尝试帮助渔佬一起做内容,尝试代替渔佬做天池的第一次分享,让我在第二次推荐系统组队学习中,负责包括运营在内的所有事情的安排(这里需要说明一下,不是我一个人做所有事,人是有的,马老师让我按照自己的思路去走组队学习的全流程),每次的机会与挑战摆在我面前,庆幸的是,我没有拒绝,我每次都接受了挑战,并且没有让大家失望。」
❞
「知识」
❝
这一路走来学到的专业知识也非常的多,因为我自己的研究方向并不是推荐系统,并且其实平时没有太多时间去搞这些东西,读研的不自由懂得都懂(此处省略一万字。。。)。能够这么长时间的学习这些知识,并做成开源内容给大家也带来一些价值,我觉得还是非常值得的。目前也马上到了秋招的季节,今年看行情估计会特别卷(不能去实习),反正也到这了,后面就顺其自然吧,把基础打好,后面慢慢来。
❞
「认知」
❝
在经历这么多事情之后发现,「并不只有书本上的知识才能提高自己,一个人的能力体现在多个方面,这些不同的能力也都是需要自己去刻意训练的,对于我们这种普通人,能做的就是尽可能抓住机会,尝试去挑战自己」,当然前提是自己一定要提前把握好大方向。
❞
「自己」
❝
认识新的自己:对自己也有了一些新的认识,自己也可以通过自己的努力去完成一些比较有挑战性的事情。
心态变得更好:现在自己对于无法改变的困难或者难题也能够直面困难,而不是太多时间(有些时候花一点点时间抱怨,其实也是自己释放压力的一种方式,当然要做的就是减短这种状态的时间,让自己尽快的恢复正常)去抱怨这,抱怨那,直接干就完了!
自己的缺点:
- 「比如如何更加有效的组织开源贡献人员更好的做事情」,中间涉及到例如沟通,分工,处理矛盾等等问题。
- 「专业知识还需要进一步提高」:做开源内容基本都是尽自己能力去解释一个东西,也就是说自己所有能够说出来的或者写出来的内容基本就是自己的家底了,因为本身自己缺乏更多的实际经验,比如竞赛,比如相关的项目,所以为了后面可以继续更新开源项目或者修正现有内容,还需要不断的学习。
- 「学会寻求帮助」:比如有些自己的问题有时候主动向组织寻求帮助,可能问题会很简单的就被解决了,不要总想着自己干了也行,要学会寻求帮助,这样也可以增加成员之间的交流。
- 「学会拒绝」:当大家比较认可你的时候,可能很多人都会来找你,比如后面找我做论坛运营的负责人,做开源项目管理成员。这里不是说之前答应的这些事情都是错的,想说明的一点是我们要在当时做出决定的时候,通过脑子理性的分析,自己是否有足够的精力和时间去好好的完成任务,就算不做也比做不好要来的更好。比如论坛运营相关的事情,最开始我弄完论坛的一些基本教程之后基本就没管了,因为每一期组队学习都要用到论坛,如果说只是正常用已经完全可以了,但是如果要花更多的时间去研究如何增加用户粘性,如何引流等等各种事情,真的没有精力,自己也马上面临找工作,学校的破事情一堆,真的也是一言难尽。开源项目管理还好,事情不是特别多,之前就做了一个开源项目管理流程的文案,也不知道有没有点用,总之能做的事情已经很少了。所以有时候要学会拒绝,别什么都一顿接受。
❞