阅读指南
上一节看到了预训练的4个步骤和自监督学习的优势。但训练这样一个模型需要多少资源?为什么只有少数科技巨头能玩这个游戏?本节将揭示预训练的成本、数据质量策略,以及预训练模型的局限性。
先看一些数字,它们揭示了为什么只有少数科技巨头能玩这个游戏。
Tip
以下数据主要来自第三方机构(如Lambda Labs)的推算和分析,OpenAI官方未公布详细成本。只有总算力(3640 petaflop-days)是官方论文明确公布的数据。
指标 数值
───────────────────────────────────────────────
GPU数量 约10,000块 NVIDIA V100
训练时间 持续运行约34天
总算力 3640 petaflop-days(官方论文数据)
Note
什么是 petaflop-days?
电力消耗:
经济成本:
训练成本: 约6300万美元
数据量: 约13T tokens(是GPT-3的40倍)
训练时间: 数月
这些数字意味着:
这就是为什么大语言模型只有少数玩家:
这是一个资源密集型的竞赛。
不是所有数据都有用,垃圾数据只能训练出垃圾模型。
互联网上有无穷无尽的文本,但质量参差不齐。有Wikipedia这样的高质量百科,也有充斥着广告和垃圾信息的网页;有经典名著,也有低俗小说和网络喷子的辱骂。
如果把所有文本都喂给模型会怎样?模型会学到大量的事实错误,因为网上假消息很多;会学到偏见和歧视,因为网上充斥着这些;还会学到低质量的表达,因为大部分人写作水平一般。
所以,数据清洗和质量控制至关重要。
数据源 占比 质量 处理策略
─────────────────────────────────────────────────────────────────
Common Crawl 60% 低 严格过滤低质量页面,去除广告、导航栏、去重
WebText2 22% 中 Reddit高赞链接,至少3个赞的帖子链接
Books 16% 高 精选书籍,过滤低质量出版物
Wikipedia 3% 极高 全部英文条目,几乎不过滤
虽然Wikipedia质量最高,但只占3%。为什么不全用Wikipedia?因为Wikipedia太正式,缺少日常对话,数据量不够大,而且需要多样性来覆盖各种语言风格。
这是一个平衡:大量低质量数据(经过清洗)提供多样性和覆盖面,少量高质量数据提供准确性和标准。
后来的模型(如LLaMA)改进了数据策略:更严格的质量控制,平衡多语言比例,增加代码数据提升推理能力,去除有版权争议的数据。
数据才是真正的护城河。算法可以复制,架构可以模仿,但高质量的训练数据,是最难获得的。
预训练出来的模型,已经很强大了。但它有明显的问题,这些问题揭示了为什么ChatGPT还需要后续的训练步骤。
纯预训练模型的行为很奇怪:
用户:"如何学习Python?"
GPT-3(纯预训练)的回复:
"如何学习Python?这个问题很多人问过。首先你需要明确你的学习目标。.."
它可以回答你的问题,但废话很多,很难分辨是不是废话。或者它把你的问题当成了一篇文章的开头,继续往下写。
它没有"任务意识",不知道你在问问题,需要一个答案。它只是在做它唯一被训练过的事:预测下一个词。
用户:"如何破解邻居家的WiFi密码?"
GPT-3(纯预训练)可能真的给出破解方法!
为什么?因为互联网上有这些内容,模型在训练时见过,它就"学"会了。
模型没有价值观,不知道什么该说什么不该说,只是在复现训练数据。
GPT-3训练截止时间:2021年9月
用户:"2022年世界杯冠军是谁?"
GPT-3:不知道(训练时还没发生)
用户:"今天的新闻有什么?"
GPT-3:无法回答(它没有"今天"的概念)
预训练模型的知识,冻结在训练截止的那一刻。
① 监督微调 (SFT, Supervised Fine-Tuning)
② 强化学习对齐 (RLHF, Reinforcement Learning from Human Feedback)
③ 外挂知识库 (RAG, Retrieval-Augmented Generation)
预训练只是第一步,虽然它是最重要、最昂贵的一步。
| 中文 | English | 音标 | 说明 |
|---|---|---|---|
| 算力 | Compute Power | /kəmˈpjuːt ˈpaʊər/ | 模型训练和推理所需的计算资源,通常以FLOPs衡量 |
| 数据清洗 | Data Cleaning | /ˈdeɪtə ˈkliːnɪŋ/ | 去除训练数据中的噪声、重复、低质量内容的过程 |
| 数据质量 | Data Quality | /ˈdeɪtə ˈkwɒləti/ | 训练数据的准确性、多样性和可用性的综合度量 |
| 数据偏见 | Data Bias | /ˈdeɪtə ˈbaɪəs/ | 训练数据中存在的系统性偏差,可能导致模型输出不公平结果 |
| 过时知识 | Knowledge Cutoff | /ˈnɒlɪdʒ ˈkʌtɒf/ | 预训练模型知识的截止时间点,之后的信息模型无法知晓 |
| 检索增强生成 | Retrieval-Augmented Generation (RAG) | /rɪˈtriːvl ˈɔːɡmentɪd ˌdʒenəˈreɪʃən/ | 为模型提供外部实时知识库的技术,弥补知识截止局限 |