量子位|AI创业公司最佳开发工具指南火了,还发现了个Jupyter的“杀手”


白交 发自 凹非寺
量子位 报道 | 公众号 QbitAI
一份AI创业公司最佳「开发工具」指南 , 火了 。
Reddit上 , 一份来自41家创业公司的调研答案 , 热度已达471 。
量子位|AI创业公司最佳开发工具指南火了,还发现了个Jupyter的“杀手”
本文插图

除了比较流行的开发环境Jupyter以外 , 还出现了这样一个身影——Deepnote 。
量子位|AI创业公司最佳开发工具指南火了,还发现了个Jupyter的“杀手”
本文插图

小团队制作 , 堪称可挑战「Jupyter Notebook」的Deepnote , 目前已经有少数公司在使用了 。
量子位|AI创业公司最佳开发工具指南火了,还发现了个Jupyter的“杀手”
本文插图

网友纷纷表示要去试试 。
量子位|AI创业公司最佳开发工具指南火了,还发现了个Jupyter的“杀手”
本文插图

量子位|AI创业公司最佳开发工具指南火了,还发现了个Jupyter的“杀手”
本文插图

于是进一步吸引了Deepnote开发者亲自过来答疑 。
量子位|AI创业公司最佳开发工具指南火了,还发现了个Jupyter的“杀手”
本文插图

所以这究竟是一份怎样的指南?还有哪些其他有意思的开发工具?
调研结果
这份调查来自一家轻量工具集成网站neptune.ai , 他们采访了41家AI初创公司 。
量子位|AI创业公司最佳开发工具指南火了,还发现了个Jupyter的“杀手”
本文插图

调查结果如下:
软件开发设置
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扩展 。
量子位|AI创业公司最佳开发工具指南火了,还发现了个Jupyter的“杀手”
本文插图
而有些团队则是使用标准软件开发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)
机器学习框架
机器学习框架也必不可少 。 而这一部分 , 选择的工具有很多 。
量子位|AI创业公司最佳开发工具指南火了,还发现了个Jupyter的“杀手”
本文插图

在处理表格数据方面 , 最多提及的是Pandas 。
Sigma Polaris CEO表示 , Pandas可能是最有价值的工具之一 , 尤其是在与外部开发人员合作进行各种项目时 。 所有的数据以数据框架的形式存在 , 协作更加流畅 , 减少了不必要的麻烦 。
提到可视化 , Matplotlib、Plotly是最多的选择 。
还有公司推荐了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模型在现实世界中的性能 , 以及如何对模型进行实时管理和测试 。
每个团队针对于自身的不同任务 , 所使用的工具也不尽相同 。
量子位|AI创业公司最佳开发工具指南火了,还发现了个Jupyter的“杀手”
本文插图

调查的结果如下:
编排: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 。
【量子位|AI创业公司最佳开发工具指南火了,还发现了个Jupyter的“杀手”】对于实验跟踪 , 团队通常使用如TensorBoard、MLflow和Sacred这些的开源软件包 。


    推荐阅读