人工智能大模型是怎样喂数据的?
人工智能大模型喂数据是一个系统且精细的过程,涵盖数据收集、预处理、划分、投喂等多个关键环节,每个环节都对模型训练效果有着重要影响:
- 数据收集与来源:数据收集需从多渠道进行,以保证数据的多样性和广泛性。常见来源包括:
- 公共网络抓取:像 Common Crawl 这样的大型公开网页语料库,是主流大模型的基础数据源。此外,社交媒体平台(如 Reddit、Twitter)以及专业网站(如 GitHub、ArXiv)等也是重要的数据来源。但原始网络数据质量参差不齐,需要筛选,例如 Google 对 Common Crawl 数据进行语言检测、句子长度验证等一系列过滤后,仅保留约 15% 的数据 。
- 垂直领域数据整合:垂直领域数据(如医疗领域的 PubMed 学术论文、医院临床记录,需脱敏 )专业性强、质量高。多语言数据的构建需考虑语言的多样性,如中文数据要平衡简体与繁体,考虑方言和网络用语等。同时,要注意通用与专业数据的比例平衡,经验比例约为 7:3,具体依场景调整 。
- 合成数据生成与增强:基于已有大语言模型(LLM)生成训练数据的方式逐渐流行,例如用已有模型对原始文本改写、扩展等。但合成数据可能放大原始模型的错误或偏见,一般将其限制在总数据集的 20% 以内,并进行多重验证 。
- 数据预处理:原始数据通常杂乱、冗余、格式不统一,需要预处理,具体包括:
- 数据清洗:去除垃圾内容,如删除乱码、重复、无意义内容(网页模板、广告脚本),过滤脏话、有害或有法律风险的数据,去除格式混乱、解析失败的数据行 。
- 数据切分与标注:将长文本拆分为适合模型处理的 “小段落”,并添加结构信息,如把小说按段落、句子分开,并添加 “文档类型”“语言”“来源” 等元信息。在图像或多模态数据中标注出 “物体边界”“图文对齐关系” 等 。
- 数据规范化:将所有数据转换成统一格式,方便模型输入,如把文本统一成 UTF - 8 编码,把图像转换为固定尺寸、通道数,把视频抽帧、音频转频谱图等 。
- Tokenization(分词与编码):将文本拆解成一个个 Token(符号单元)后输入模型,再转换成数字 ID。不同模型使用不同的 Tokenizer(如 BPE、SentencePiece、tiktoken 等) 。
- 数据集划分:将预处理后的数据合理划分为训练集、验证集和测试集。常见划分比例为训练集占 70% - 80%,用于模型训练;验证集占 10% - 15%,用于训练过程中评估模型性能,调整超参数;测试集占 10% - 15%,用于模型训练完成后的最终性能评估 。
- 数据投喂方式:在模型训练阶段,常采用批量投喂方式,即将数据分成若干小批量(batch)依次输入模型训练。批量大小(batch size)是重要超参数,需依据模型复杂度、数据集大小和计算资源等因素调整。另外,可随机打乱数据顺序,避免模型学习到数据的顺序信息,提升模型泛化能力 。