由于我自学了机器学习,了解到大家在自学的过程中遇到的问题。今天我把scilit-learn社区中采访Meekail Zain的文章(Interview with Meekail Zain, scikit-learn Team Member - scikit-learn Blog)翻译过来,以便更多热爱scilit-learn的人们参考借鉴。
采访scikit-learn团队成员Meekail Zain
作者:IconReshama Shaikh, IconMeekail zain
由Sangam SwadiK发布
Meekail Zain是美国佐治亚大学的计算机科学博士研究生,Quinn Research Group的成员,Quansight的软件工程师。Meekail于2022年10月正式加入scikit-learn团队,担任维护者。
1. 跟我们说说你自己吧。
我目前就读于佐治亚大学,攻读计算机科学博士学位。我的研究领域主要集中在深度学习、生成建模和聚类的统计方法。我读大学三年级,在写这篇文章的时候,我即将开始我的综合考试。
GitHub: @Micky774
LinkedIn: @meekail-zain
2. 你最初是如何参与开源和scikit-learn的?
和大多数人一样,我最初是作为用户参与进来的。NumPy是我日常使用的一个库,scikit-learn是几个研究生课程的必需品。最初,我从未真正想象过我能够影响这些库的变化,因为它们似乎已经建立起来了!
GitHub: @Micky774
LinkedIn: @meekail-zain
3. 我们很乐意了解您的开源之旅。
我的旅程真正开始于我在Quansight工作的时候,我得到了NASA玫瑰基金的资助,能够花时间为scikit-learn做出贡献。这和我之前所知道的是一个巨大的飞跃。为了能够使用PyTorch为我的研究开发/部署模型,我非正式地学习了Python,并且在持续集成或强API等方面几乎没有经验。一开始,我感到非常害怕和不合格,但与此同时,我非常兴奋,因为我有机会学习这么多新东西!我开始做一些非常简单的修改,以适应贡献工作流程——比如删除多余的空白和修复拼写错误——然后逐步完成稍微复杂一些的任务。最终,我达到了开始“理解”代码库的小角落的地步,并且由于这种熟悉,实际上可以在新问题上提供帮助。在那之后,我开始审查其他人的拉请求(pr),并以非官方的身份提供反馈,以及在代码库中承担更有挑战性的任务。这种增长和升级的过程仍在继续,我真的希望它永远不会结束。
4. 你对哪些OSS项目和社区有贡献?
NumPy, scikit-learn和scipy。现在主要贡献在于scikit-learn, numpy是第二多的,但我希望在不久的将来花更多的时间来研究scipy !
5. 你对刚进入这个行业的人有什么建议吗?
找一种方法享受被你还没有掌握的东西包围的感觉。如果你的目标是成长——事实上我认为我们都应该——那么你会发现你大部分时间都被你不太了解的事物包围着,对此的自然反应是沮丧和恐惧。如果你能以某种方式说服自己也为这样的环境感到兴奋,你会发现自己每天都在成长。没有人一开始就无所不知:)
6. 你觉得OSS有什么吸引你的地方?
这是一个很难的问题,有很多惊人的地方。如果我必须选择几个,它将是(没有特定的顺序):增长潜力社区影响我已经讨论了增长潜力,所以我就到此为止。社区也很棒!在每个项目中,社区基础都有自己独特的个性,而且都非常棒!能够看到反复出现的用户发布有趣的问题,或者尝试打开更复杂的pr(拉请求)是令人惊讶的。你会有一种强烈的陪伴感,与那些也在努力改进同一个项目的人在一起!它类似于高中的小众俱乐部。发现人们和你一样痴迷于同一个很酷的项目是一种美妙的体验。最后是影响。在一天结束的时候,我们所做的工作有一些严重的后果。每个项目对许多不同的工作流程都至关重要,并使优秀的研究人员和软件工程师能够构建复杂的系统和解决前沿问题的方案。有时想想这些项目有多么重要,就会觉得有些超现实。
7. 在社区主导的OSS中,你观察到哪些痛点?
很难达成共识。这是一把双刃剑,因为它也有一些好处。对于社区主导的OSS,每个规模的变更都需要满足某种共识。这确保了更改是经过深思熟虑的,并提供了一层安全性,因为未被发现的错误传播的机会随着仔细审查更改的人数的增加而降低(在大多数情况下)。例如,在scikit-learn中,对代码进行更改的PR需要满足两个官方审核人员(目前只有核心开发人员)明确批准,并且没有其他官方审核人员正式反对的惰性共识。再进一步说,项目中的新功能需求可能需要几个精通该主题领域的核心开发人员达成共识。大的系统变化以slep (scikit-learn增强提案)的形式表现出来,这需要所有核心开发人员达成1 / 3的共识。除此之外,还有一些跨社区的讨论,其中“共识”的概念本身并不总是很清楚。这是一个至关重要的系统,但也有一些内在的重要问题需要解决。例如,在每个尺度上,谁可以为共识做出贡献?一个人需要什么样的资格,我们如何将其编纂?还有一个内在的权衡,即要求的共识越强,改变被采用的可能性就越小。这是有意为之,因为广泛的变革需要高标准来衡量,但这也意味着,即使偶尔提出了比现状更好的选择,但即使是针对范围狭窄的问题,也无法达成解决方案。
8. 如果我们讨论操作系统在10年里发展了多远,你希望看到发生什么?
我不能谈论它在过去10年里的发展,因为我对OSS总体上还是个新手,但我希望看到对贡献者需求的系统数据驱动的分析。不同的OSS项目在过去已经发布了贡献者调查,但总的来说,我认为很多重点放在用户在元问题或社区电话中给出的反馈上。虽然这肯定是有帮助的,但当项目试图确定像这样的贡献者基础的需求时,会发生很多外推。
我希望研究的问题包括:
贡献者基础的专业知识遵循什么分布?
每个专业水平的最大瓶颈是什么?
除了专业知识,还有其他社会经济或一般人口统计数据显示出持续的瓶颈吗?(例如使用硬件)
我们如何从这些信息中创建明智和有效的DEI政策?
OSS项目的发展和繁荣是基于他们的社区,所以我希望看到更多关于社区需求和痛点的系统研究。
9.你最喜欢的资源、书籍、课程、会议等等是什么?
我非常喜欢埃文斯和罗森塔尔的《概率与统计》。它非常出色地从非常基本的想法构建了许多令人生畏的统计概念。这是我最喜欢推荐给那些在概率和统计学方面没有严格基础的急切的学生的书,因为这本书在建立读者的直觉方面做得很好,让一切都感觉自然和推导,而不是任意定义。
关于会议,我不得不选择SciPy!我真的很害怕去参加会议,因为我认为我将是每个房间里最不合格的人,我没有什么可说的。我很快意识到,总有可以谈论的话题,资历并不重要。这是一个超级有激情的人的聚会,每个人都渴望谈论他们感兴趣的事情,所以不管你是专家还是初学者,他们都会很高兴地向你解释事情。每个与会者都有自己的领域,无论多么具体,他们都可以谈论几个小时。那种真正的兴趣和兴奋让我感到恢复活力,也提醒了我为什么如此热爱OSS。
10. 除了工作和开源之外,你的爱好是什么?
我真的很喜欢徒步旅行、露营和玩龙与地下城!露营对我来说尤其重要,因为只要我手边有台电脑,我就会倾向于查看GitHub通知,所以偶尔在周末完全断开连接对我来说是一个很棒的工具,可以让我休息一下,没有“我现在就可以开发新功能……”的压力。
如果你曾经因为脑海中有个声音在说“你怎么敢放松?”你现在可以做这个,做那个!那么我强烈建议你去露营,哪怕只有一个晚上!当我在露营时听到那个声音时,我会反驳说:“啊,但是你看,我没有笔记本电脑,所以我现在不能用它。我现在能做的就是放松。突然,焦虑就消失了:)
转载本文请联系原作者获取授权,同时请注明本文来自李玲科学网博客。
链接地址:https://wap.sciencenet.cn/blog-3383449-1382648.html?mobile=1
收藏