[点晴永久免费OA]为什么人工智能推荐用Python而不是Java、C++ ?
当前位置:点晴教程→点晴OA办公管理信息系统
→『 经验分享&问题答疑 』
那时候我还是个小年轻,在组里吭哧吭哧用 C++ 写特征工程,看隔壁组的“科学家”们几行 Python代码一跑,图都画出来了,心里那叫一个不平衡啊:凭啥啊?我们这性能优化、内存管理搞得死去活来,你们这帮搞“脚本”的,跑得又慢,还好意思叫自己是搞算法的? 后来干的活多了,带的人也多了,才慢慢琢磨过味儿来。这事儿,你得从两个角度看,一个是历史进程,一个是个人奋斗…啊呸,一个是“开发效率”和“运行效率”的取舍。 先说结论:人工智能用 Python,恰恰是因为它“慢”。 你没看错。这个“慢”,指的是 Python 本身的执行速度慢,但它换来的是人的开发速度“快”。而在 AI 这个领域,绝大多数时候,人的时间比机器的时间值钱多了。 1. 你以为的“慢”,不是AI计算真正的瓶颈这是最大的一个误区。大家觉得 Python 慢,是因为它的解释执行、动态类型这些特性,做一个纯粹的 for 循环,那速度确实被 C++ 按在地上摩擦。 但问题是,在搞 AI 的时候,我们根本不会用纯 Python 去做那些计算密集型的任务。 你以为你写的是:
这行代码背后,PyTorch或者 TensorFlow这些深度学习框架,早就“偷天换日”了。你的 Python 代码,更像一个“指挥官”或者“遥控器”,它发号施令,说:“喂,那个谁(GPU),把这堆数据(Tensor),用那个叫’卷积’的方法,给我算 10 遍。” 真正干活的,是底层那些用 C++、CUDA(NVIDIA 的并行计算平台)写好的、被优化到极致的计算库。这些库,比如英特尔的 MKL、NVIDIA 的 cuDNN,它们才是真正的主力。这些底层库在执行矩阵乘法、卷积这些运算时,那速度是“真·猛男”,快得飞起。 所以整个流程是这样的:
看到了吧?Python 负责的是那个“搭架子”和“穿针引线”的活儿,最累最重的体力活,它早就外包给那些 C++ 和 CUDA 的“老哥”们了。你的 Python 代码慢的那一点点,跟底层计算的耗时比起来,简直就是毛毛雨,完全可以忽略不计。 举个实际工作中的例子:
几年前我带个项目,要做一个商品评论的情感分析。老板想很快看到一个原型,看看这个方向有没有搞头。 如果用 C++,我得先找个线性代数的库,再找个分词的库,然后自己手撸一个逻辑回归或者 SVM,调试编译,环境配置…一套下来,一个星期能跑出个能看的东西就不错了。老板的耐心早就没了。 当时我怎么做的?打开 Jupyter Notebook:
这就是 Python 的威力。它让你把 90% 的精力,都花在“算法思路”和“业务逻辑”上,而不是跟编译器、内存指针作斗争。在商业世界里,“快”速验证想法,远比机器“快”速运行重要得多。 2. 生态,生态,还是TMD生态!如果说底层调用 C++ 是 Python 在 AI 领域立足的“技术基础”,那它无敌的生态就是它称王称霸的“群众基础”。 AI 的发展不是一蹴而就的。最早在学术圈,科学家们需要一个工具来做数值计算和数据分析。MATLAB 很牛,但它收费啊,还死贵。这时候,免费、开源、语法还简单的 Python 冒头了。 一个叫 Travis Oliphant 的哥们,觉得 Python 缺少一个强大的数值计算能力,于是在 2005 年搞出了 NumPy。这玩意儿是开天辟地的。它让 Python 有了跟 MATLAB 叫板的底气,提供了多维数组对象,以及操作这些数组的 C 语言底层函数库。 有了 NumPy 这个地基,上面的高楼大厦就开始疯狂地盖:
这个生态已经形成了一个巨大的网络效应。你遇到的任何问题,上 Stack Overflow 一搜,99% 都有人问过,而且大概率有 Python 的解决方案。你想实现的任何功能,上 PyPI(Python Package Index)一搜,八成已经有现成的轮子了。 这种感觉就像什么呢?你本来只想开个小卖部,结果发现方圆五百里,从货源、物流、收银系统、到办执照的黄牛,全都只跟你说同一种方言(Python)。那你还会费劲去学另一门语言,然后自己去建整个配套设施吗?不会的,太累了。 3. “胶水语言”的哲学Python 有个外号叫“胶水语言”。这个外号不好听,但特别贴切。它的任务就是把各种不同语言写的高性能模块,像胶水一样粘合在一起,让你能方便地调用。 你想想 AI 项目的流程:数据清洗(可能要连数据库、读写文件)、特征工程、模型训练(调用 GPU)、模型部署(可能要打包成一个 web 服务)。这里面每个环节,Python 都有现成的、最好用的库。它可以轻松地跟文件系统、网络、数据库、C++ 库对话。 这种“万金油”的特性,让它成为了贯穿整个 AI 工作流的最佳选择。 所以,别再纠结 Python 的“慢”了。它是一种取舍,一种智慧。它牺牲了自己那点微不足道的原生运行速度,换来了整个 AI 行业的研发效率的大幅提升。 对于想入行的新人来说,我的建议是:踏踏实实学好 Python,用好 Pandas、NumPy、Scikit-learn、PyTorch/TensorFlow 这些库,你就能解决 99% 的问题了。等你成了大神,需要去优化底层算子、手写 CUDA kernel 的时候,你自然会去学 C++。但对绝大多数人来说,Python 就是通往人工智能世界最好走的那座桥。 先学会开车,再关心发动机是怎么造的。 阅读原文:原文链接 该文章在 2025/8/5 13:12:21 编辑过 |
关键字查询
相关文章
正在查询... |