ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

UltraX的LAM+DCR流水线深度拆解:行级对齐与动态上下文替换如何工作

UltraX的LAM+DCR流水线深度拆解:行级对齐与动态上下文替换如何工作 UltraX的LAMDCR流水线深度拆解行级对齐与动态上下文替换如何工作【免费下载链接】UltraX-Preview项目地址: https://ai.gitcode.com/OpenBMB/UltraX-PreviewUltraX 是 OpenBMB 开源的大规模预训练数据精炼框架其核心的 LAMDCR 流水线通过行级对齐Line Alignment and Mapping与动态上下文替换Dynamic Context Replacement把文本改写结果转化为可在原文上确定性执行的编辑操作。本文面向新手用 5 个小节讲清楚这套流水线到底在做什么、为什么可靠。一、先搞懂 UltraX它为什么不直接重写文本常见的数据精炼方式是让大模型把整篇网页文本端到端重写一遍。但这样有个隐患重写后的文本可能悄悄改掉事实、破坏格式你无法确认模型到底动了哪里。UltraX 的思路完全不同——函数调用式精炼训练一个轻量精炼模型让它预测一组结构化编辑操作插入、删除、修改这些操作随后在原始文本上确定性地执行每一步都清晰可审计。 它的函数空间只有 5 个动词详见 README_ZH.md 的函数空间一节函数作用keep_all()文档无需修改原样保留remove_all()整篇无价值错误页、登录墙整篇删除remove_lines(start, end)删除从 start 到 end 的连续行含首尾replace_str(line, old, new)在指定行内替换一个子串add_line(base, sub_idx, content)在基准行附近插入新行而LAM 和 DCR就是负责算出这些操作的两道工序。二、LAM 行级对齐先回答改在哪里精炼模型会先产出一版理想中的精炼文本。LAM 的任务就是把原始文本和精炼文本在行级别逐行对齐像 diff 工具一样回答三个问题哪些行没动→ 标记为保留不生成任何操作哪些行整行消失或新增→ 直接映射成remove_lines/add_line哪些行被修改了→ 交给下游的 DCR 进一步拆解。这一步的价值在于它把两篇长文本的差异收敛为一行一行的编辑计划编辑操作天然带行号锚点后续执行不会出现改错行。三、DCR 动态上下文替换让每个修改都能精准落刀被 LAM 判定为修改过的行还需要确定具体替换哪个子串。这就是 DCR动态上下文替换出场的时候它在行内定位被改动片段的最小公共前后文提取出最小替换单元old生成形如replace_str(line, old, new)的操作关键设计是唯一上下文锚定所选的上下文片段必须在原文中唯一出现保证执行时只有一处会匹配操作结果确定、不歧义若某个模式在文档中重复出现、无法唯一定位就交给歧义过滤丢弃该操作宁可少改、不能错改。一句话总结LAM 管哪一行DCR 管行内哪几个字两者合力把字符级编辑变成可靠的replace_str操作。四、大规模执行的 4 道保险 单篇文档的编辑算出来容易但 UltraX 要处理的是数百 TB 级语料官方还配了 4 道鲁棒性机制滑动窗口推理 重叠感知聚合长文档切窗推理窗口重叠区的操作做合并去重避免边界重复执行歧义过滤上下文不唯一、无法确定落点的操作直接过滤同行操作合并同一行上的多个操作合并执行防止互相干扰重复模式检测识别并处理重复内容引发的模式冲突。正是这 4 道保险让函数调用式编辑在亿级文档规模上依然可以稳定跑完。五、精炼后的数据长什么样本仓库提供5 个经 UltraX 精炼的英文预训练语料每个约 20B tokens均以 parquet 分片存放数据集源语料本地路径UltraX-FineWebFineWebCommon Crawl 网页data/UltraX-FineWeb/UltraX-RedPajama-V2RedPajama-v2多源网页data/UltraX-RedPajama-V2/UltraX-AICCAICCHTML 高保真解析data/UltraX-AICC/UltraX-Ultra-FineWebUltra-FineWeb质量过滤data/UltraX-Ultra-FineWeb/UltraX-FineWeb-ProX-DocFineWeb-ProX-DocProX 文档级精炼data/UltraX-FineWeb-ProX-Doc/每个 parquet 文件固定 5 列这也是理解 LAMDCR 产出的最好入口列定义见 README.md 的 Data Format 一节列名说明uid唯一标识raw_content 的 MD5 哈希raw_content精炼前的原始文本cleaned_content精炼后的文本LAMDCR 执行的结果processed_functions实际应用的编辑操作keep_all、remove_lines、replace_str等source源语料名称 新手上手技巧随便打开一个分片例如 data/UltraX-FineWeb/UltraX-FineWeb-en-part-0001-of-0104.parquet对比同一条样本的raw_content与cleaned_content再读一遍processed_functions你就能亲眼看到删了什么行、换了哪几个字。六、效果如何官方实验给出答案官方用 1B 参数 MiniCPM 模型在每个语料的 20B tokens 上从零预训练在 10 个常识基准上零样本评估UltraX 在全部 5 个语料上取得最高平均分50 个任务-语料组合中赢得 34 个最佳相比原始语料与 ProX-C平均相对提升分别约2.00%和1.53%数据效率更优FineWeb 上 UltraX 仅用 16B tokens45.49 分就超过 Raw / ProX-C 用满 20B tokens 的成绩45.08 / 45.05。七、一句话小结 LAMDCR 流水线的精髓是把数据精炼从不可控的整体改写变成了可审计的逐行编辑LAM 行级对齐定位哪一行被改了DCR 动态上下文替换锚定行内替换哪几个字再叠加滑动窗口推理与歧义过滤等 4 道保险最终在亿级文档上稳定输出remove_lines/replace_str/add_line等结构化编辑。如果你想深入了解 UltraX 的完整流水线与评估细节建议从 README_ZH.md 读起并关注 LICENSE 中关于各源数据集许可与再分发限制的重要说明。【免费下载链接】UltraX-Preview项目地址: https://ai.gitcode.com/OpenBMB/UltraX-Preview创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表