开发人员亲自上场:Julia语言搞机器学习和Python 比,哪个好用?( 二 )

  • 为什么与其他框架合作的独立开发人员应该考虑为 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

    特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。