Java
, Deep learning
, Apache Spark
, Compiler
, Data management
Apache SystemML 是一个致力于处理大规模机器学习的平台。它提供了一种类似 R 的领域特有语言(或者用 Python)给数据科学家去实现机器学习的算法,然后将算法运行在 Apache Spark 集群上。
建议想申请的同学具备一定的 Java 基础,涉及 Runtime 技术的主题最好熟悉 Apache Spark。最好能有一些 Machine Learning 的知识,不过没有也没关系,关键要表达出对其学习的热情。SystemML 社区比较注重代码实践能力,因此写 proposal 的同时最好能提交至少一个 PR。我在 18 年参加的项目是在 JIRA 上公布 主题 的,我在上面和导师进行交流,同时我也利用 Mailing List 提出我的问题和看法和社区里的人进行讨论。
我参加的是 2018 年的 Language and runtime for parameter servers。我个人建议的是越早接触社区并能和导师沟通,越能表现你的积极性,开源的其中一个目的就是集各方意见,所以合格的 GSOC 学生是一个有能力和社区沟通的人。当然刚刚接触这个主题的时候我也不知道具体要实现什么,没关系,要敢于提问,导师会很乐意给出指示,例如要看的论文。在理解主题的同时,为了要展示我的代码能力,我选了一个 JIRA 的 issue 尝试着做一个 PR。在将近两个月的准备工作中,我完成了两个 PR 和 proposal。
关于项目: idea 源于最新的一种 deep learning model training 的并行架构叫 Parameter Server。我的 proposal 是引入 Data Parallel Parameter Server 到 SystemML 当中,需要完成的工作包括 Compiler 的语言扩展和 基于 Apache Spark 的 Runtime 扩展。
Year | Project | Idea | Student | Mentor | Proposal |
---|---|---|---|---|---|
2018 | Apache SystemML | Language and runtime for parameter servers | Guobao Li | Matthias Boehm | Proposal |
Year | Project | Idea | Student | Mentor | Report |
---|---|---|---|---|---|
2018 | Apache SystemML | Language and runtime for parameter servers | Guobao Li | Matthias Boehm | Report |