llama2 语料数据效果等预训练记录
一,训练后loss值
(未知)文档说0.3左右效果好
二,提词器
提词器介绍:
- 提词器是源于数据清洗
- 数据清洗主要源于爬虫爬取数据,带网页格式,广告,省略号,中英混搭等
- 另一类,来自专业方向知识库(比较干净)
- 以GPT-3为例,其原始数据量为45TB,而经过清洗之后的高质量数据为570GB
- 【精选】中文巨量模型“源1.0”:语料质量清洗与数据分析方法_大模型 句子清洗_AI科技大本营的博客-CSDN博客
插播
数据清洗方式:
选择高质量数据源,规范化文本、去除HTML和标记、过滤停用词和噪声词,
处理拼写错误、清除敏感信息,检测和处理异常值,评估数据质量,并记录清洗过程。
与模型任务相关度高、具备多样性和高质量的数据。直接收集的海量数据并不能直接用于大模型,
需要经过清洗、标注等工序后,才能生成可供大模型使用的数据集。
现代洗清方式:
1,使用传统的代码脚本设置正则化过滤,筛选有用数据,清除“脏”数据
(重复,广告,省略句,短句,知识含量)
借助AI模型过滤有害数据
人工审查
2,关注数据的频率和质量
数据的频率依赖于聚类和去重。我们构建了一个支持 LSH-like 特征和密集嵌入特征的大规模去重和聚类系统。
基于聚类,个别文档、段落和句子都被去重并评分。这些评分然后用于预训练中的数据抽样。
绝对匹配去重 29.89% 数据,
启发式方法去除 1.77%,
句子级别的质量过滤 3%,
句子级别和段落级别去重 14.47%,
文档级别去重 19.13%
- 筛选方式:略(术业有专攻,可以离线操作)
- 提词器简说:数据标注,对无格式文本提取
- 高质量语料(语句通顺且包含一定知识)
- 低质量语料(语句不通顺)
- 广告语料(语句通顺但重复率过高,如广告、网站说明、免责声明等)
- 使用效果:
以往,模型都是通过样本抽取batch批数据,训练同质异性模型
然后模型投票,生成超平面集合体
现在对样本抽取batch批数据,因为数据量大且杂,
分类为多种数据,然后进行训练
注意:大语言模型,模型占比20%
数据占比80%贡献
所以,可以套用一套模型,但是具体分类数据不同
- 建议:姜子牙(未尝试,他人建议)
- 知乎:AI公司的Ryan和Esan
- 简单形式:QA问答数据集(已采用到本地)
???
- 仅适用于单个记录
- 达芬奇模型的'Completion'方法
三,为什么不用AI生成文本
理解:模型本身是探索超平面分类
AI文本导入不能在模型超平面建立中取得以下数据,
随机分布的有意义点,对模型超平面有相同贡献
只会强化超平面两侧的离散数据权重,数据集对平面贡献不一
使得模型趋于真实的模拟超平面,扭曲,偏差大
(模拟模型,真实,两者间偏差;模拟间,方差)
论文:
根据牛津大学、剑桥大学、伦敦帝国学院等机构的研究人员今年5月在预印本平台arXiv上发表的论文,AI用AI生成的数据进行训练,会导致AI模型存在不可逆转的缺陷,他们将其称之为模型崩溃(Model Collapse)。这意味着未来模型训练使用的高质量数据将会愈来愈昂贵,网络走向碎片化和封闭化,内容创作者将会竭尽全力防止其内容被免费抓取。 观察|大模型潮即将耗尽全宇宙文本,高质量数据从哪里来?_未来2%_澎湃新闻-The Paper
四,其他
感谢大佬们讨论分析思路
- 底层为transformers pytorch(文本提取加深度)
- 梯度下降并行运算
- text generation webui,Windows窗口系统(划掉)
- 中文Llama2 |部署记录📝——基于text-genration-webui - 知乎 (zhihu.com)
- 云服务(划掉),建议个人玩具
- 增量训练基于llama模型进行增量预训练-CSDN博客
推测:多文本结果选优,情感分析?
- rag+llama(多代理多结果排名强化效果)
- langchain(rag)提示,langchain大而全但是细节考虑不够(放弃)
- chatglm+langchain(已尝试,放弃)
- 向量数据库(如相似度检测,milvus)
- milvus(弱),百度pipeline(好、准),建的索引类型不太一样,边测边调
- qwen 14B好像不给免费商用
- embedding,高维数据映射到低维,降维
- glm+langchain+milvus(第一版)
- glm+langchain+es+百度飞桨(第二版)
- qwen+langchain+ 下图(第三版)
- es8,全文检索+向量检索+rrf+重排,rrf不免费,embdding用这两个(最新+第三版)
感谢大佬
-
专业知识方向(高精度)
-
参考:医学微调llama2(知乎上报道太多闲聊)
-
百川模型???2.6万亿,260b(预设为7b)
- 参数参考
- 低配自嗨(3090弹射起步)
- 此外,Ludwig的llm模型推荐yaml参数
- 中文社区的训练文件finenue.sh有参数 github.com/FlagAlpha/L…
P40的 GPU架构是两代前的,适合入门,便宜
4090 > 3090 > 22g 2080ti > P40
autodl 的 测试报告www.autodl.com/docs/gpu_pe…
1、跑大模型,一张不够,多张不差钱还是A6000好
2、跑普通图像类AI,3090足够了,4090快一倍,但是训练体会不明显。
3、a100 a6000 4090大致是这样排位
百川模型(260b):一台配备了八个 A800 GPU 的单机
对于实例化,跑例子慢
许多格式,其中QA问答是一小种
提速如下
- generate_ids = model.generate(**generate_input,maxnewtokens=50)
- maxnewtokens=50
模型内参数
温度(temperature) 控制输出中的随机性
N值 希望有多个选择,我们可以使用2或者3。一般??,n=1(默认)会很好。
角色 可以是system(系统)、user(用户)或assistant(助手)
模型最大Token 这不一定是我们在请求中传递的参数,尽管另一个参数max_tokens限制了从聊天中获取的响应的总长度。
表情包会使用大量Token(6个)