时间:2022-10-09 17:50:19 | 浏览:482
机器之心报道
编辑:陈萍
前几年就流传着这样一种说法:Julia 会替代 Python,成为新的最受欢迎的编程语言之一。我们暂且对这种说法持观望态度,但作为科学计算方面的强大工具,Julia 优势已然显现,这意味着程序员的选择又多了一种。
在数据科学、人工智能等领域,仔细对比 Julia 和 Python,我们会发现:相同的任务,只要 Python 能实现的的,Julia 都可以做,而且效率高得多,语法也简洁优雅,只是在传播度上,名气还不如 Python。
近日,reddit 上的一则热帖引来广大网友的讨论,这个帖子提到,最近,一些 Julia 语言包的开发人员讨论了 Julia 中 ML 的当前状态,并将其状态与 Python ML 生态系统进行了比较。
原贴地址:
https://www.reddit.com/r/MachineLearning/comments/s1zj44/r_julia_developers_discuss_the_current_state_of/
来自乌得勒支大学的 JordiBolibar 认为,「 Julia 确实在机器学习方面拥有巨大的潜力,但它目前的状态有点喜忧参半。更具体地说,我在 SciML 中坚持使用 Julia 的主要原因是,DifferentialEquations.jl 库工作得非常好,但在 Python 中没有发现任何类似的东西。然而,对于我的研究来说,真正痛苦的是 AD 部分。自从我开始使用 Julia ,我在 Zygote 中遇到了两个错误,这使我的工作速度减慢了几个月。但我仍然认为 Julia 是 SciML 的最佳选择,但这些库(及其文档)应该优化的更加用户友好。」
网友 @jgreener64 表示:「Julia 中的 ML 在某些领域应用非常强大,Julia 一切皆有可能。Julia 面临的问题是:Julia 中的 ML 需要大量现有知识或大量时间搜索 / 反复试验。在个人层面上,我目前正在用 Julia 开发新颖的可微分算法。」
除了网友的热烈讨论外,Julia 软件包开发人员 Christopher Rackauckas 围绕以下 7 个问题,解答了网友比较关心的内容。Rackauckas 是 MIT 和马里兰大学的数学家和药理学家,主要用 Julia 进行编程。Rackauckas 为 Julia、数学和随机生物学开了专门博客,来介绍相关内容,并且 Rackauckas 在 Julia 中开发了一些库,包括(但不限于)DifferentialEquations.jl 和 Pumas。
Christopher Rackauckas
问题包括:
今天 Julia 中的 ML 在哪些地方真正大放异彩?在不久的将来该生态系统在哪些方面优于其他流行的 ML 框架(例如 PyTorch、Flax 等),为什么?
目前 Julia 的 ML 生态系统在功能或性能方面存在哪些缺点?Julia 在这些领域变得具有竞争力的时间节点在哪?
Julia 的标准 ML 包(例如深度学习) 在性能方面与流行的替代方案相比如何(更快、更慢、相同数量级)?
有没有重要的 Julia 实验,可以针对流行的 ML 替代方案进行基准测试?
如果一家公司或机构正在考虑创建职位来为 Julia 的 ML 生态系统做出贡献,有没有最佳案例?为什么他们应该这样做?哪些贡献最有影响力?
为什么与其他框架合作的独立开发人员应该考虑为 Julia 的 ML 生态系统做出贡献?
对于某些特定任务,Julia 开发人员倾向于使用哪些软件包?Julia 开发人员希望添加目前不存在的哪些内容?
下文中我们挑选了几个大家比较关心的问题进行报道:
问题 3:Julia 在「标准 ML」中的表现如何?
Julia 的内核速度很好:在 CPU 上,我们做得非常好,在 GPU 上,每个人都只是调用相同的 cudnn 等;Julia 的 AD 速度也很好。不过 Zygote 可能会有一些开销,但与 Jax/PyTorch/TensorFlow 相比,Zygote 在大多数情况下速度是很快的。具体来说,PyTorch 开销要高得多,在标准 ML 工作流程中甚至无法测量。一个足够大的矩阵乘法会解决分配问题或其他 O(n) 问题;Julia 不融合内核,因此在大多数基准测试中,如果用户查看它,就会发现它没有融合 conv 或 RNN cudnn 调用。
问题 4:我们应该跟踪哪些重要的实验和基准?
XLA 的分布式调度器非常好。当我们考虑扩展时,我们应该忽略 PyTorch,去考虑 DaggerFlux 与 TensorFlow/Jax。XLA 有更多的灵活性来改变操作,所以我认为 XLA 才是赢家,我们需要使用 e-graphs 技巧来匹配它。另一件需要注意的事情就是「自动微分中缺少中间部分」,这种情况还需要解决。
问题 7:有什么推荐的软件包?
我倾向于在需要时使用 Flux,但大家还是尽量使用 DiffEqFlux。就现有内核而言,Flux 是最完整的,但它的风格让我感到厌烦。我希望有一个 Flux 不使用隐式参数,而是使用显式参数。我希望这些参数由 ComponentArrays 表示。
更多内容请参考:https://discourse.julialang.org/t/state-of-machine-learning-in-julia/74385
关于核酸阳性病例密接人员李某行动轨迹的通报<2021年12月28日18时12分,接到上级协查通报,湖滨区辖区有一例密接人员(李某,系一例核酸阳性病例的密接者),湖滨区新冠肺炎疫情防控指挥部办公室立即组织人员对其进行流调。调查结果如下:
马村区现代服务业开发区焦作经济技术开发区东部园区公开选调工作人员公告为适应开发区体制机制改革工作发展需要,进一步优化开发区管委会队伍结构,经区委、区政府同意,马村区现代服务业开发区管理委员会(焦作经济技术开发区东部园区管理委员会)(以下简称
1月27日,河南省鹤壁市浚县纪律检查委员会于微信公众号“清风浚县”上通报了黎阳办事处、县交通局因疫情防控工作不力被问责的有关情况,以严肃疫情防控工作纪律,促使全县各级各单位认真履职,全力做好疫情防控工作。通报显示,2020年1月24日至1月
【紧急通知】关于严明纪律积极防控新型肺炎疫情的紧急通知 为切实做好我区新型冠状病毒感染的肺炎疫情防控工作,在非常时期采取非常措施,根据1月25日上午省政府电视电话会议精神和区委区政府要求,现就关于在防控新型冠状病毒感染的肺炎疫情防控工作中严
疫情发布2022年10月3日凌晨,我市在省外入鲁集中隔离人员中发现1例新冠肺炎阳性感染者,经专家组诊断为新冠肺炎无症状感染者。该无症状感染者乘坐其丈夫驾驶货车自省外重点地区来临,10月2日经闭环接驳转入集中隔离点,核酸检测异常,3日凌晨复核
河北新闻网10月20日讯(河北日报记者邢云、王永晨)从今晚刚举行的河北省邢台市疫情防控新闻发布会上获悉,10月19日19:50,信都区收到北京疾病预防控制中心关于新冠病例徐某某的密切接触者——甘肃兰州人王某等3人从北京到邢台探亲人员的协查函
最近刷论坛、刷知乎,经常会看到此类问题“作为新手该怎么学习编程语言?”,“作为新手该选择什么编程语言?”,“学什么编程语言比较有前途?”。对于长期混迹在互联网行业的我来说,问这些问题的肯定都是小白。现在编程界可选的编程语言确实很多,Java
记者|徐诗琪每年iPhone开卖时都有一波抢购潮,今年也不例外。原定于9月16日正式发售的iPhone 14系列在15日已有渠道流出现货,普遍加价在2000元甚至3000元以上。强劲的预售情况,看起来让萎靡许久的手机消费市场有了新动力。i
你的钱准备好了吗?2018年款iPhone已经正式登场,在未来1年中你会挑选哪款iPhone陪伴你呢?如果目前已经拥有iPhone X是否有必要升级iPhone XS Max?现在是购买iPhone 7或者7 Plus的最佳时机?带着这些疑