“我们的使命是确保人工通用智能(AGI)造福全人类。在早期,这意味着探索多个研究方向,找到通向AGI的可能路径。” —— Sam Altman, 2016
2016-2017年是OpenAI的探索期。作为一个刚成立的研究组织,OpenAI在这两年里探索了多个研究方向:从强化学习到生成模型,从机器人到游戏AI。这个时期虽然还没有找到后来改变世界的语言模型路径,但却为未来的突破奠定了重要基础。
┌──────────────────────────────────────────────────────┐
│ OpenAI 2016-2017 研究版图 │
├──────────────────────────────────────────────────────┤
│ │
│ 强化学习 ────┬──── PPO算法 │
│ ├──── 机器人控制 │
│ └──── Dota 2项目 │
│ │
│ 生成模型 ────┬──── InfoGAN │
│ ├──── Improved GAN │
│ └──── PixelCNN++ │
│ │
│ 平台工具 ────┬──── OpenAI Gym │
│ └──── Universe │
│ │
│ 人才聚集 ────┬──── Alec Radford (GPT架构师) │
│ ├──── Dario Amodei (VP Research) │
│ └──── 更多顶尖研究者 │
│ │
└──────────────────────────────────────────────────────┘
2016年初,OpenAI将强化学习(Reinforcement Learning, RL)视为通向AGI的关键技术路径之一。这个判断基于几个重要观察:
理论基础:
为什么RL被视为AGI的关键:
DeepMind的AlphaGo在2016年3月击败李世石,震撼了整个AI界。这证明了深度强化学习能够在极其复杂的领域达到超人水平。OpenAI团队深受启发,但他们认为围棋仍然是一个”完美信息”游戏,真正的智能需要处理更复杂的不确定性和部分可观察性。
John Schulman在一次内部分享中提到:”人类智能的核心是能够在不确定的环境中做出决策,并从结果中学习。这正是强化学习要解决的问题。如果我们能够创造出在任意环境中都能自主学习的算法,我们就接近了AGI。”
OpenAI的RL研究哲学:
与DeepMind专注于游戏AI不同,OpenAI从一开始就强调RL的通用性和实用性。Greg Brockman在2016年的一次采访中说:”我们不想只是在游戏中取胜。我们希望开发出能够在真实世界中解决实际问题的算法。”
这种理念体现在几个方面:
早期的技术探索:
2016年上半年,团队探索了多种RL方法:
| 方法类型 | 具体算法 | 优势 | 劣势 | OpenAI的改进 |
|---|---|---|---|---|
| 值函数方法 | DQN, Double DQN | 样本效率高 | 只能处理离散动作 | 探索连续动作的扩展 |
| 策略梯度 | REINFORCE, A3C | 可处理连续动作 | 高方差,不稳定 | 开发更稳定的变体 |
| Actor-Critic | A3C, TRPO | 结合两者优势 | 实现复杂 | 简化实现,提升性能 |
| 模型基方法 | PILCO, GPS | 样本效率极高 | 模型误差累积 | 结合无模型方法 |
关键技术突破时刻:
2016年6月,John Schulman在调试TRPO代码时发现了一个关键问题:共轭梯度求解器经常不收敛,导致训练不稳定。他花了整整一个周末,尝试了各种数值优化技巧,最终意识到问题的根源不是数值精度,而是优化目标本身的设计。
这个洞察启发他思考:”能否设计一个更简单的目标函数,既保留TRPO的核心思想(限制策略更新幅度),又避免复杂的二阶优化?”这个想法最终演化成PPO算法的核心——裁剪的替代目标函数。
技术布局:
强化学习技术栈 (2016-2017)
├── 算法研究
│ ├── Policy Gradient方法
│ │ ├── REINFORCE (基线)
│ │ ├── Actor-Critic架构
│ │ └── Natural Policy Gradient
│ ├── Trust Region方法 (TRPO)
│ │ ├── KL散度约束
│ │ ├── 共轭梯度优化
│ │ └── 线搜索
│ └── Proximal Policy Optimization (PPO)
│ ├── Clipped Surrogate Objective
│ ├── 自适应KL惩罚
│ └── 多回合更新
├── 应用领域
│ ├── 游戏AI (Atari, Dota 2)
│ ├── 机器人控制
│ └── 模拟环境
└── 基础设施
├── 分布式训练框架
├── 环境模拟器
└── 评估基准
算法演进路径:
从TRPO到PPO的演进体现了OpenAI的工程哲学:追求简单、高效、可扩展的解决方案。
TRPO (2015年Schulman在Berkeley开发) 的核心思想是限制每次策略更新的幅度,防止性能崩溃。但TRPO实现复杂,需要计算Fisher信息矩阵和共轭梯度,计算开销大。
PPO (2017年在OpenAI开发) 保留了TRPO的核心思想,但通过一个简单的裁剪技巧实现了相同的效果:
L^CLIP(θ) = E[min(r_t(θ)A_t, clip(r_t(θ), 1-ε, 1+ε)A_t)]
这个看似简单的改进带来了巨大的实际影响:
PPO开发的内幕故事:
PPO的诞生并非一蹴而就。John Schulman回忆道:”我们尝试了至少20个不同的变体。有些在理论上很优雅,但实践中效果很差。最终的PPO算法反而是最’愚蠢’的那个——就是简单地裁剪重要性采样比率。”
团队内部曾经激烈争论过这个设计。Ilya Sutskever最初持怀疑态度:”这太简单了,不可能有效。”但在看到实验结果后,他改变了看法:”这正是我们需要的——简单到不可能出错的算法。”
PPO的隐藏技巧:
虽然PPO的核心思想简单,但实际实现中有许多重要细节:
# PPO核心实现伪代码
for iteration in range(num_iterations):
# 收集数据
trajectories = collect_trajectories(policy, env, n_steps)
advantages = compute_advantages(trajectories)
# 多轮更新
for epoch in range(num_epochs):
for batch in make_batches(trajectories):
# 计算重要性采样比率
ratio = policy(batch.actions|batch.states) / old_policy(batch.actions|batch.states)
# 裁剪目标
clipped_ratio = clip(ratio, 1-epsilon, 1+epsilon)
loss = -min(ratio * advantages, clipped_ratio * advantages).mean()
# 更新参数
optimizer.step(loss)
关键人物:
OpenAI认为,真正的智能需要能够在物理世界中行动。2016年,团队建立了机器人实验室,配备了多台Fetch机器人和UR5机械臂。
机器人实验室配置:
OpenAI机器人实验室 (2016-2017)
├── 硬件设备
│ ├── Fetch机器人 x 3
│ │ ├── 7自由度机械臂
│ │ ├── 移动底座
│ │ └── RGB-D相机
│ ├── UR5工业机械臂 x 2
│ │ ├── 6自由度
│ │ ├── 高精度定位(±0.1mm)
│ │ └── 力矩传感器
│ └── Shadow Dexterous Hand (2017年引入)
│ ├── 24个自由度
│ ├── 129个传感器
│ └── 仿人手设计
├── 感知系统
│ ├── Kinect深度相机阵列
│ ├── OptiTrack动作捕捉系统
│ └── 触觉传感器
└── 计算资源
├── 本地GPU服务器(训练)
└── 实时控制系统(1kHz控制频率)
研究重点:
技术挑战与解决方案:
| 挑战 | 传统方法局限 | OpenAI方案 | 实际效果 |
|---|---|---|---|
| 真实世界噪声 | 需要精确建模 | 域随机化+鲁棒训练 | 成功率提升40% |
| 样本效率低 | 真机收集数据慢 | 大规模模拟+迁移学习 | 数据需求减少100倍 |
| 安全性 | 保守探索策略 | 模拟器中充分探索 | 零硬件损坏事故 |
| 泛化能力差 | 针对特定任务设计 | 元学习+多任务训练 | 适应新任务时间缩短90% |
域随机化的具体实践:
OpenAI的域随机化技术成为sim-to-real迁移的关键突破。团队开发了一套系统化的随机化策略:
域随机化参数空间 (2017版本)
├── 物理参数随机化
│ ├── 摩擦系数: uniform(0.5, 2.0)
│ ├── 物体质量: normal(μ, 0.2μ)
│ ├── 关节阻尼: uniform(0.9x, 1.1x)
│ ├── 执行器延迟: uniform(0ms, 50ms)
│ └── 重力方向: ±5度偏移
├── 视觉随机化
│ ├── 光照强度: 0.5x - 2.0x
│ ├── 光源位置: 半球随机采样
│ ├── 纹理替换: 100+种随机纹理
│ ├── 相机参数: 焦距、畸变随机
│ └── 背景替换: 随机场景图片
└── 观测噪声
├── 高斯噪声: σ=0.01-0.05
├── 死像素: 0.1%概率
└── 运动模糊: 随机强度
关键突破时刻:
2017年7月,团队首次成功演示了一个完全在模拟器中训练的机器人策略,能够在真实世界中稳定地堆叠积木。这个看似简单的任务实际上验证了sim-to-real的可行性。Matthias Plappert回忆:”当我们看到机器人准确地抓起积木并堆叠时,整个实验室都沸腾了。这证明了我们的方法是正确的。”
但更重要的突破发生在2017年10月。团队成功训练了一个能够操作魔方的机械手策略,这个任务的复杂度远超堆积木:
这个成果虽然没有立即发表(直到2019年才公开),但在内部被视为机器人学习的重要里程碑。
失败案例与教训:
并非所有尝试都成功。团队也经历了许多失败:
为什么最终转向语言模型:
尽管取得了一些进展,但到2017年底,团队意识到机器人研究面临几个根本性挑战:
相比之下,语言模型展现出更大的潜力:
Greg Brockman在2017年底的战略会议上说:”我们在机器人上学到了很多,特别是强化学习和sim-to-real技术。但是时候把这些经验应用到更有影响力的领域了。”这为后来的战略转向埋下了伏笔。
生成模型是OpenAI早期的另一个重要研究方向,团队在GAN、VAE等技术上做出了重要贡献。这个方向的探索为后来的DALL·E和GPT系列奠定了重要基础。
为什么重视生成模型:
2016年,Ian Goodfellow (GAN发明者) 还在OpenAI担任研究科学家。他的存在让OpenAI成为生成模型研究的重镇。Goodfellow认为:”生成模型是理解数据本质的关键。如果一个模型能够生成逼真的数据,说明它真正理解了数据的底层结构。”
主要成果时间线:
| 模型名称 | 发布时间 | 主要贡献 | 核心研究者 | 影响力 |
|---|---|---|---|---|
| InfoGAN | 2016.06 | 无监督学习可解释表征 | Xi Chen, Yan Duan | 引用2000+,启发解耦表征学习 |
| Improved GAN | 2016.06 | 改进GAN训练稳定性 | Tim Salimans, Ian Goodfellow | 成为GAN训练标准技术 |
| PixelCNN++ | 2017.01 | 高质量图像生成 | Tim Salimans | 32x32 CIFAR-10上达到2.92 bits/dim |
| Glow | 2017后期 | 可逆生成模型 | Durk Kingma, Prafulla Dhariwal | 开创flow-based模型新方向 |
InfoGAN深度解析:
InfoGAN的核心创新是让GAN能够自动发现数据中的可解释因素,无需人工标注。
InfoGAN架构创新
┌──────────────────────────────────────┐
│ 输入层 │
│ ├── 噪声z ~ N(0,1) (62维) │
│ └── 隐变量c │
│ ├── 离散码 c_d (10维one-hot) │
│ └── 连续码 c_c (2维uniform) │
│ │
│ 生成器G │
│ ├── 输入: concat(z, c) │
│ ├── 架构: 4层全连接 + 2层反卷积 │
│ └── 输出: 28x28图像 │
│ │
│ 判别器D + Q网络 │
│ ├── 共享卷积层 (参数共享) │
│ ├── D分支: 判断真假 │
│ └── Q分支: 预测c的后验分布 │
│ │
│ 损失函数 │
│ L = L_GAN + λI(c; G(z,c)) │
│ 其中I通过变分下界估计 │
└──────────────────────────────────────┘
实际效果展示: 在MNIST数据集上,InfoGAN自动学习到:
这完全是无监督学习的结果,模型自己发现了这些语义因素!
Improved GAN技术细节:
Tim Salimans领导的这项工作解决了GAN训练的几个关键问题:
L_traditional = E[log D(x)] + E[log(1 - D(G(z)))]
L_feature = ||E_x[f(x)] - E_z[f(G(z))]||^2
2. **Minibatch Discrimination**:
解决mode collapse问题,让判别器能够察觉批次内样本的多样性。
3. **Historical Averaging**:
```python
L_hist = ||θ - (1/t)Σθ_i||^2 # 惩罚参数偏离历史平均值
PixelCNN++创新点:
PixelCNN++是自回归模型的巅峰之作,其创新包括:
生成过程:
p(x) = Π p(x_i | x_<i) # 逐像素生成
每个像素依赖于之前所有像素(光栅扫描顺序)
Glow:可逆神经网络的突破:
Glow (Generative Flow) 由VAE共同发明者Durk Kingma主导,实现了精确似然计算和可逆变换:
架构特点:
x (图像) ←→ z (隐空间)
f^-1
完全可逆,无信息损失
关键组件:
1. Actnorm (替代BatchNorm)
2. 可逆1x1卷积
3. 仿射耦合层 (Affine Coupling)
优势:
- 精确对数似然
- 有意义的隐空间插值
- 无需对抗训练
团队协作模式:
生成模型团队形成了独特的研究文化:
向语言模型的过渡:
2017年中,Alec Radford开始将生成模型的思想应用到文本领域。他意识到:”如果我们能像生成图像一样生成文本,并且模型真正理解了语言的结构,那将是通向AGI的重要一步。”这个洞察直接导致了GPT项目的启动。
OpenAI Gym是一个强化学习的标准化测试平台,它的发布对整个RL社区产生了深远影响。
设计理念:
技术架构:
# Gym环境接口示例
import gym
env = gym.make('CartPole-v1')
observation = env.reset()
for t in range(1000):
action = policy(observation) # 你的策略
observation, reward, done, info = env.step(action)
if done:
break
环境类别:
影响力:
Universe是Gym的扩展,目标是让AI能够使用计算机像人类一样——通过屏幕像素和键鼠操作。
技术创新:
Universe架构
┌─────────────────────────────────────┐
│ Universe Platform │
├─────────────────────────────────────┤
│ │
│ 环境接口层 │
│ ├── VNC协议 (远程桌面) │
│ ├── WebDriver (浏览器控制) │
│ └── 原生游戏API │
│ │
│ 环境类型 │
│ ├── Flash游戏 (1000+) │
│ ├── 浏览器任务 │
│ └── 桌面应用 │
│ │
│ 观察空间:屏幕像素 (1024x768) │
│ 动作空间:键盘 + 鼠标 │
│ │
└─────────────────────────────────────┘
挑战与局限:
《InfoGAN: Interpretable Representation Learning》(2016)
《Improved Techniques for Training GANs》(2016)
《Proximal Policy Optimization Algorithms》(2017)
其中:
| r(θ) = π(a | s,θ) / π(a | s,θ_old) 是重要性采样比 |
优势:
为什么PPO重要:
《Evolution Strategies as a Scalable Alternative to RL》(2017)
《Learning to Generate Reviews and Discovering Sentiment》(2017)
2016年底,OpenAI决定挑战Dota 2这个复杂的多人在线战术竞技游戏(MOBA)。选择Dota 2的原因:
复杂性维度:
Dota 2 vs 其他游戏复杂度对比
┌────────────────────────────────────────────┐
│ 游戏 │ 状态空间 │ 动作空间 │ 时间步长 │
├────────────────────────────────────────────┤
│ 围棋 │ 10^170 │ 361 │ ~200 │
│ 星际争霸2 │ 10^1685 │ 10^26 │ ~20,000 │
│ Dota 2 │ 10^20000│ 10^1000 │ ~45,000 │
└────────────────────────────────────────────┘
Dota 2的挑战:
- 部分可观察(战争迷雾)
- 长期规划(游戏时长45分钟)
- 团队协作(5v5)
- 实时决策(每秒30帧)
OpenAI Five架构(初期版本):
训练基础设施 (2017)
├── 计算资源
│ ├── 256个GPU (P100)
│ ├── 128,000个CPU核心
│ └── 每天模拟180年的游戏时间
├── 算法
│ ├── PPO算法
│ ├── 自我对弈(Self-play)
│ └── LSTM网络(1024个单元)
└── 工程优化
├── 分布式训练框架
├── 快速游戏模拟器
└── 大规模数据管道
技术创新点:
# 简化的奖励函数
reward = 0
reward += 0.001 * gold_gained # 鼓励发育
reward += 0.01 * enemy_damage # 鼓励输出
reward += 0.1 * tower_damage # 鼓励推进
reward += 1.0 * game_win # 最终目标
自我对弈训练策略:
OpenAI Five使用了独特的自我对弈方案,不同于AlphaGo的简单自我对战:
训练循环 (每24小时):
1. 80%时间:与最新版本对战
2. 15%时间:与过去版本对战(防止遗忘)
3. 5%时间:与固定基线对战(评估进步)
版本管理:
- 每2小时保存一个checkpoint
- 维护最近50个版本的池
- 根据ELO评分选择对手
分布式系统架构:
Filip Wolski设计了一个高效的分布式训练系统:
┌─────────────────────────────────────────┐
│ Rollout Workers (游戏模拟) │
│ ┌─────┐ ┌─────┐ ┌─────┐ ... ┌─────┐ │
│ │Worker│ │Worker│ │Worker│ │Worker│ │
│ │ CPU │ │ CPU │ │ CPU │ │ CPU │ │
│ └──┬──┘ └──┬──┘ └──┬──┘ └──┬──┘ │
│ └───────┴───────┴───────────┘ │
│ │ │
│ Experience Buffer │
│ (经验缓冲区,100GB+) │
│ │ │
│ ┌──────────────┴──────────────┐ │
│ │ │ │
│ Optimizer Optimizer Optimizer │
│ (GPU P100) (GPU P100) (GPU P100) │
│ │ │ │
│ └──────────────┬──────────────┘ │
│ │ │
│ Parameter Server │
│ (参数服务器) │
└─────────────────────────────────────────┘
性能指标:
- 300,000 观察/秒
- 60,000 梯度更新/秒
- 99.9% GPU利用率
技术领导:
Filip Wolski:项目技术负责人,分布式系统架构。波兰人,性格严谨,经常工作到凌晨3点优化系统性能。他的口头禅是:”如果GPU利用率低于95%,就是在浪费钱。”
Greg Brockman:CTO,提供技术指导和资源支持。他亲自编写了早期的游戏接口代码,经常与团队一起调试到深夜。
Szymon Sidor:强化学习算法优化。另一位波兰工程师,与Filip形成了强大的技术组合。负责PPO算法的大规模并行化改造。
Christopher Berner:大规模基础设施。前Stripe工程师,负责构建能够处理PB级数据的训练管道。他设计的系统能够在机器故障时自动恢复训练。
开发中的关键时刻:
2017年4月 - “第一次学会移动”: 团队花了整整一个月才让AI学会基本的移动。最初的AI会原地打转或撞墙。问题出在坐标系统的理解上——AI不理解游戏的2.5D投影。Szymon花了一个周末重写了观察空间的编码,终于解决了这个问题。
2017年6月 - “发现补刀”: 一个意外的惊喜是,AI自己”发现”了补刀(last-hitting)这个技巧,而团队并没有explicitly编程这个行为。这验证了强化学习的强大之处——它能发现人类玩家使用的策略。
2017年7月 - “10分钟悖论”: AI在游戏前10分钟表现很好,但之后就会崩溃。调查发现是LSTM的梯度消失问题。团队尝试了各种方法,最终通过分段训练解决:先训练10分钟的游戏,然后逐渐延长。
TI7现场演示(2017年8月):
在The International 7(Dota 2最大的赛事)上,OpenAI Five的1v1版本首次公开亮相:
Dendi赛后评论:”这个AI打得很激进,像人类但又不完全像。它的反应速度不是主要优势,而是它的策略选择非常精准。”
技术细节 - 1v1 Shadow Fiend镜像对决:
里程碑时间线:
内部竞赛文化:
团队建立了独特的”周五对战”传统:
Greg Brockman回忆:”看着AI从完全随机的动作,逐渐学会复杂的策略,就像看着一个孩子成长。当它第一次成功gank(偷袭)时,整个办公室都沸腾了。”
背景:
早期贡献:
技术风格:
履历:
在OpenAI的贡献:
领导风格:
后续发展:
Xi Chen:
Pieter Abbeel:
Durk Kingma:
Tim Salimans:
研究文化特点:
每周例会制度:
办公环境:
2016年初始配置:
第一代集群 (2016年Q1)
├── DGX-1服务器 x 10
│ └── 每台8个Tesla P100 GPU (16GB HBM2)
├── CPU集群
│ └── 1000+ CPU核心 (Intel Xeon E5)
├── 存储
│ └── 100TB SSD阵列 (NVMe)
└── 成本:~300万美元
关键决策时刻:
2016年3月,Greg Brockman面临一个重要选择:是购买更多GPU还是等待下一代硬件?NVIDIA刚刚发布了P100,但V100已经在路线图上。团队最终决定立即购买P100:”我们不能等。每天的进展都很关键,硬件永远在更新,但研究不能停。”
2017年扩展:
第二代集群 (2017年Q3)
├── GPU计算
│ ├── 300+ Tesla V100 GPU (32GB HBM2)
│ ├── NVLink 2.0互联 (300GB/s)
│ └── 性能:2.4 PetaFLOPS
├── 网络
│ ├── InfiniBand EDR (100Gbps)
│ ├── Spine-Leaf架构
│ └── 延迟:<2μs
├── 存储
│ ├── 1PB分布式存储 (Ceph)
│ ├── 10TB/s聚合带宽
│ └── 3副本冗余
└── 软件栈
├── Kubernetes 1.8 (定制版)
├── 自研调度器 (支持Gang Scheduling)
├── Prometheus + Grafana监控
└── 成本:~1000万美元
基础设施团队的创新:
传统方式:任务独占GPU直到完成
OpenAI方式:GPU池化,任务可以迁移
优势:
- GPU利用率从60%提升到95%
- 任务等待时间减少80%
- 支持抢占式调度
# 自动检查点保存
class AutoCheckpoint:
def __init__(self, model, interval=3600):
self.model = model
self.interval = interval
self.last_save = time.time()
def save_if_needed(self):
if time.time() - self.last_save > self.interval:
checkpoint_path = f"ckpt_{timestamp}.pt"
torch.save(self.model.state_dict(), checkpoint_path)
upload_to_s3(checkpoint_path) # 自动上传到S3
self.last_save = time.time()
分布式训练框架演进:
V1 (2016年中):基于MPI,手动管理通信 V2 (2016年底):引入Horovod,提升多机扩展性 V3 (2017年中):自研框架,支持动态图和静态图混合
代码管理哲学:
OpenAI采用了独特的”研究优先”代码管理策略:
代码仓库结构 (2017)
openai/
├── research/ # 研究代码,快速迭代
│ ├── experiments/ # 实验性代码,可以混乱
│ └── papers/ # 论文相关代码
├── core/ # 核心库,严格review
│ ├── rl/ # 强化学习算法
│ ├── models/ # 模型架构
│ └── utils/ # 工具函数
└── production/ # 生产代码,完整测试
├── serving/ # 模型服务
└── monitoring/ # 监控系统
代码审查流程:
实验管理系统:
团队开发了名为”Dota”的实验管理平台(后来演化为Weights & Biases的原型):
# 实验追踪示例
from openai.dota import Experiment
exp = Experiment(
name="ppo_humanoid_v3",
tags=["ppo", "mujoco", "baseline"],
config={
"learning_rate": 3e-4,
"batch_size": 2048,
"clip_epsilon": 0.2,
}
)
for epoch in range(1000):
metrics = train_epoch()
exp.log(metrics) # 自动记录到数据库
if epoch % 10 == 0:
exp.save_checkpoint(model) # 自动版本管理
“20%时间”制度:
受Google启发,OpenAI实施了自己的版本:
这个制度产生了意外的成果:
故障处理案例:
2017年4月 - “大停电事件”: 整个集群因为UPS故障停机4小时。这次事件后,团队实施了多项改进:
Christopher Berner说:”这次停电让我们损失了价值10万美元的计算时间,但教训是无价的。从那以后,我们没有再因为基础设施问题损失过significant的训练。”
性能优化案例:
“Tensor内存泄漏之谜”(2017年6月): Dota 2训练经常在运行12小时后崩溃。团队花了整整一周调试:
解决方案:
# 修复前
optimizer.zero_grad()
loss.backward()
optimizer.step()
# 修复后
optimizer.zero_grad()
loss.backward()
optimizer.step()
# 关键:显式删除中间变量
del loss
torch.cuda.empty_cache() # 定期清理显存
这个简单的修复让训练稳定性提升了10倍。
到2017年底,几个重要认识开始形成:
2016-2017年是OpenAI的探索和奠基期。虽然这个时期还没有找到后来改变世界的大语言模型路径,但在多个方向上的探索为未来的突破奠定了重要基础:
这些积累将在2018年GPT-1的诞生中发挥关键作用,开启OpenAI真正改变世界的征程。
下一章预告:第3章:转型期 (2018-2019) - GPT的诞生与OpenAI的商业化转型