[](https://karpathy.medium.com/?source=post_page---byline--a64152b37c35---------------------------------------) I sometimes see people refer to neural networks as just “another tool in your machine learning toolbox”. They have some pros and cons, they work here or there, and sometimes you can use them to win Kaggle competitions. Unfortunately, this interpretation completely misses the forest for the trees. Neural networks are not just another classifier, they represent the beginning of a fundamental shift in how we develop software. They are Software 2.0. The “classical stack” of Software 1.0 is what we’re all familiar with — it is written in languages such as Python, C++, etc. It consists of explicit instructions to the computer written by a programmer. By writing each line of code, the programmer identifies a specific point in program space with some desirable behavior.
核心贡献 · Key contributions
提出软件 2.0 作为一种新的编程范式,用神经网络替代显式代码。 Proposes Software 2.0 as a new programming paradigm where neural networks replace explicit code.
表明对于许多现实问题,收集数据通常比编写显式程序更容易。 Shows that collecting data is often easier than writing explicit programs for many real-world problems.
列出优势:计算同质性、恒定运行时间和内存、可移植性、敏捷性以及模块集成。 Lists benefits: computational homogeneity, constant runtime and memory, portability, agility, and modular integration.
强调软件 2.0 在视觉、语音、翻译、游戏和数据库方面优于手工编码方案。 Highlights that Software 2.0 outperforms hand-coded solutions in vision, speech, translation, games, and databases.
预测软件开发工具将转向以数据集为中心的 IDE 和包管理器。 Predicts a shift in software development tools towards dataset-centric IDEs and package managers.
认为 AGI 将使用软件 2.0 原则构建。 Argues that AGI will be built using Software 2.0 principles.
局限 · Limitations
软件 2.0 模型难以解释,在关键应用中导致信任问题。 Software 2.0 models are hard to interpret, leading to trust issues in critical applications.
模型可能以不直观的方式失败,或默默吸收训练数据中的偏见。 Models can fail in unintuitive ways or silently adopt biases from training data.
对抗样本揭示了传统软件中不存在的脆弱性。 Adversarial examples reveal vulnerabilities that are not present in traditional software.
该范式需要大量标注数据集,创建成本高且耗时。 The paradigm requires large labeled datasets, which are expensive and time-consuming to create.
与软件 1.0 IDE 相比,软件 2.0 的当前工具(如数据集管理)尚不成熟。 Current tooling for Software 2.0 (e.g., dataset management) is immature compared to Software 1.0 IDEs.
论文章节 · Sections(共 7)
概述Overview
正在进行的转变Ongoing transition
软件 2.0 的优势The benefits of Software 2.0
获取 Andrej Karpathy 的故事到你的收件箱Get Andrej Karpathy’s stories in your inbox
软件 2.0 的局限性The limitations of Software 2.0
在 2.0 栈中编程Programming in the 2.0 stack
作者:Andrej KarpathyWritten by Andrej Karpathy(https://karpathy.medium.com/?source=postpage---postauthorinfo--a64152b37c35---------------------------------------)