知乎上有个问题: 国内主流AI大模型都是Python 开发的,国外AI大模型是什么语言开发的? 为什么要用python? 有人说:Python只是接口,吹Python都是卖课的,大模型底层都是C++开发的。
其实不然,现在大模型多是基于Porch、Tensoflow开发的,直接引用轮子,这两个框架确实基于C++,但大模型的其他代码,包括数据处理、数据训练、数据可视化、模型校验等等都是基于Python。
有个很简单的方法可以看开源的AI工具主要用哪种编程语言,你只需要去Github看这个AI项目仓库基础信息,它会标出来主要基于哪种语言开发的,因为Github会综合分析仓库中文件扩展名、代码、主要内容等来自动确定主要是哪种编程语言。
打开Openai在Github的账号,有将近200个项目仓库,你会发现几乎90%的仓库都是主要基于Python开发的,尽管也会有其他语言代码,但Python贡献了多数代码。
下面举几个例子:
gpt2: 无监督多任务学习语言模型论文的代码 DALL-E: Open AI的图像生成产品,类似midjourney whisper: Openai的语音识别转换产品 其他还有很多仓库都是以Python语言为主 不只是OpenAI,其实大多数知名AI公司产品都是主要基于Python,比如创造了阿尔法狗的Deepmind,你去翻看它的Github仓库,也是同样情况 到底为什么AI产品都主要基于Python进行开发?
我们知道AI主要是基于机器学习、深度学习、神经网络等技术,因此对计算、算法要求很高,需要专业的AI库来支持开发,比如谷歌的Tensorflow、Facebook的Pytorch和Caffe、百度的PaddlePaddle等等,还有像numpy、scipy等底层计算库,是AI训练不可或缺的工具。
这些用来跑AI算法的库都是在Python生态中构建的,虽然底层代码会有C、C++等语言,但封装、使用、接口、维护等主要依靠Python来实现,所以你会发现几乎所有AI产品都是主要基于Python开发。
如果说数据和算力是AI的弹药,那么python及其所拥有的第三方库生态则为AI提供了发射弹药的火箭筒。
这是表面上的原因,而深层次的原因是python足够简单易用,具有胶水属性,且跨平台通用性好,为融合Ai工具提供了底层能力,也让算法工程师们花最少的代码时间创造出最大的价值,这是其他语言所没法比拟的。
请备注:”昵称-学校/公司-研究方向“,例如:”张小明-浙大-CV“加群。
( 也可以加入机器学习交流qq群772479961 )