一、硬件准备
(一)计算资源
1、GPU/TPU规格选择
CUDA核心数,浮点运算能力
并行处理能力 (如Tensor Core)
2、分布式计算资源
数据并行、模型并行、流水线并行
内存需求
最小批量大小 vs. GPU内存 (Batch Size * 单样本内存)
3、内存需求
最小批量大小 vs. GPU内存 (Batch Size * 单样本内存)
(二)存储资源
1、数据存储
I/O吞吐量,持久存储 vs. 临时存储
I/O吞吐量应至少与网络带宽相匹配,以避免成为瓶颈。例如,1GB/s的网络带宽意味着存储系统至少也要提供这样的吞吐量。
2、模型存储
检查点频率与存储策略(Checkpoints),检查点存储至少需要能容纳完整模型参数的空间,加上额外的空间存储优化器的状态(比如Adam需要两倍于模型参数大小的空间)。
3、高速缓存
缓存带宽与容量,在分布式训练中,理论上的网络带宽需求可以使用
Size of Data per Batch×Number of Workers 来估算。
二、数据准备
(一)数据集选择
1、领域相关性
数据代表性(Representativeness)
2、数据量大小
数据规模与模型容量的关系。 一个经验法则是,模型的参数数量应该小于可用训练样本的数量。例如,1亿参数的模型最好有超过1亿的训练样本。
3、数据质量评估
错误分析、一致性检查
(二)数据清洗
1、去重
哈希表、SimHash等去重技术,对于大型文本数据集,一个常见的经验值是,去重可能会移除大约5-10%的数据
2、去噪
基于规则和统计的噪声识别
3、格式统一
数据规范化处理
(三)数据标注
1、自动化标注工具
弱监督学习、半监督学习技术,许多调用gpt4的API进行自动数据表中,比如某节被openai警告大概率是这个原因
2、人工标注指南
明确的标注指南与一致性检查
3、标注质量控制
Fleiss's kappa等一致性度量,一致性度量,如Fleiss's kappa值,通常在0.61-0.8表示合理的一致性,而超过0.8则表示非常好的一致性。
(四)数据增强
1、同义词替换
词向量空间中的近义词发现
2、句子重构
句法树变换技术
3、数据插值
生成对抗网络(GANs)等生成技术