AI创业公司最佳「开发工具」指南火了,还发现了个可挑战Jupyter的「杀手」

  白交发自凹非寺 

  量子位报道公众号 QbitAI

  一份 AI 创业公司最佳「开发工具」指南,火了。

  Reddit 上,一份来自 41 家创业公司的调研答案,热度已达471

  除了比较流行的开发环境 Jupyter 以外,还出现了这样一个身影——Deepnote

  小团队制作,堪称可挑战「Jupyter Notebook」的 Deepnote,目前已经有少数公司在使用了。

  网友纷纷表示要去试试。

  于是进一步吸引了 Deepnote 开发者亲自过来答疑。

  所以这究竟是一份怎样的指南?还有哪些其他有意思的开发工具?

  调研结果

  这份调查来自一家轻量工具集成网站neptune.ai,他们采访了 41 家 AI 初创公司。

  调查结果如下:

  软件开发设置

  • IDE:Jupyter Lab+NB 扩展(少数用 Deepnote),Colab 和 PyCharm、VSCode(R用户喜欢 R studio)

  • Github

  • Python(大多数),R(部分)

  机器学习框架

  • 处理数据和可视化:Pandas + Matplotlib + Plotly

  • 经典算法:Sklearn + XGBoost

  • 深度学习:Tensorflow + Keras 或 Pytorch

  MLOps

  • 编排:Kubeflow,Airflow,Amazon Sagemaker,Azure

  • 模型包装/服务:Kubeflow,MLflow,Amazon Sagemaker

  • 模型从训练到推理的剖析和优化:pytest-benchmark、MLperf

  • 实验管理:MLflow,Comet,Neptune

  具体情况,是这样的。

  软件开发设置

  开发环境是每个团队工作流程的基础,而对于 IDE,很多团队都喜欢 Jupyter Notebooks 和 Jupyter Lab 及其 NB 扩展。

  而有些团队则是使用标准软件开发 IDE,提及最多的是 Pycharm 和 VSCode。

  使用 Pycharm 的一家公司 Hotelmize 称,这是最好的 Python IDE。

  而使用 VSCode 的公司则为其正名。

VSCode 易于与 Azure 连接,并提供了许多基于 ML 的扩展。

  对于使用R语言的团队来说,RStudio 是他们最好的选择。

  还有一项工具——GitHub。我想这对每个 AI 团队都是福音,初创公司更是。

  调查结果正是如此,GitHub 因为其免费、强大的版本控制系统、共享功能,对团队来说都是超级有用的。

  对于最流行的编程语言里,Python、R语言上榜,竟还有一个 Clojure。

  值得一提的是,对于环境/基础设施的设置方面,有一些团队给出了以下建议:

  • AWS作为部署平台(Simple Report)。

  • Anaconda是我们运行 ML 实验的首选工具,因为它的活代码功能,可以用来将软件代码、计算输出、解释性文本和多媒体资源结合在一个文档中。(Scanta)

  • Redis作为内存中的数据结构存储,由于它支持不同类型的抽象数据结构,如字符串、列表、映射、集、排序集、HyperLogLogs、位图、流和空间索引等,因此 Redis 作为内存中的数据结构存储占据了主导地位。(Scanta)

  • Snowflake 和 Amazon S3 用于数据存储。(Hypergiant)

  • Spark-pyspark—-非常简单的 api,用于大数据的分配作业。(Hotelmize)

  机器学习框架

  机器学习框架也必不可少。而这一部分,选择的工具有很多。

  在处理表格数据方面,最多提及的是Pandas

  Sigma Polaris CEO 表示,Pandas 可能是最有价值的工具之一,尤其是在与外部开发人员合作进行各种项目时。所有的数据以数据框架的形式存在,协作更加流畅,减少了不必要的麻烦。

  提到可视化,MatplotlibPlotly是最多的选择。

  还有公司推荐了 Dash,它是一个在 Plotly 图表为基础建立的交互式仪表盘的工具,这对于用户来说更加友好。

  对于标准的机器学习问题,大多数团队使用 Scikit-Learn 和 XGBoost,尤其是Scikit-Learn

  iSchoolConnect 公司就解释道:

Scikit-Learn 是机器学习研究人员、工程师和开发人员最常用的工具箱之一。你可以轻松获得你想要的东西,这一点让人惊叹不已!

  对于深度学习框架而言,PyTorch、Tensorflow+Keras 很受团队欢迎。

  而在具体的方向上,比如 NLP,Huggingface、Spacy、Gensim 是常用的工具,CV 方面,OpenCV 无疑是必需的了。

  MLOps

  类似于 DevOps,有人称,MLOps 是用于机器学习的 DevOps。

  MLOps 是将模型集成并部署到生产系统中的所有工具。

  这包括模型被部署到哪里,如何到达那里,如何被更大的软件/应用程序访问,如何跟踪 ML 模型在现实世界中的性能,以及如何对模型进行实时管理和测试。

  每个团队针对于自身的不同任务,所使用的工具也不尽相同。

  调查的结果如下:

  • 编排:Kubeflow,Airflow,Amazon Sagemaker,Azure

  • 模型包装/服务:Kubeflow,MLflow,Amazon Sagemaker

  • 模型从训练到推理的剖析和优化:pytest-benchmark、MLperf

  • 实验管理:MLflow,Comet,Neptune

  总的来说,很多团队用 Jupyter 进行探索,用 Pycharm/VSCode 进行开发。

  他们都喜欢 GitHub,Python 语言使用的最多。

  对于深度学习框架,他们更喜欢使用 Tensorflow、Keras 和 Pytorch。

  值得注意的是,越来越多的人开始使用高级的 PyTorch 训练框架,如 Lightning、Ignite、Catalyst、fastai 和 Skorch。

  在可视化探索方面,人们使用 matplotlib, plotly, altair 和 hiplot。

  对于实验跟踪,团队通常使用如 TensorBoard、MLflow 和 Sacred 这些的开源软件包。

  想要了解更多,传送门在此:

  https://neptune.ai/blog/tools-libraries-frameworks-methodologies-ml-startups-roundup?utm_source=reddit&utm_medium=post&utm_campaign=blog-tools-libraries-frameworks-methodologies-ml-startups-roundup

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注