
前几天刚聊完字节在 AI 大模型基础层和应用层的连续落子今天又看到一条消息继 Seed、Flow 之后字节又成立了一个 AI 一级部门方向直接对准了“数据”。对于长期做 AI 工程、数据工程的开发者来说这条新闻其实比“又发了一个新模型”更值得关注。原因很简单模型能力决定上限数据质量决定下限组织架构开始为“数据”单独立项说明 AI 的竞争已经不只是算法和算力而是进入到了数据基础设施、数据工程、数据治理的深水区。本文不从八卦角度聊组织变动而是把它当成一个 AI 工程信号来拆解大模型时代的数据部门到底做什么为什么数据突然被提升到一级部门的高度从 Seed、Flow 到“数据部门”字节的 AI 组织逻辑是什么作为普通开发者和数据工程师我们又能从中学到什么。如果你是做算法、后端、数据平台或者正在企业内部推 AI 落地这篇文章可以帮你把“AI 数据”这件事看得更完整。1. 背景梳理Seed、Flow以及被推到台前的数据1.1 字节 AI 组织里的两个关键名字先说背景不熟悉字节 AI 组织架构的读者可以先建立一下基本认知。Seed 是字节旗下的大模型研究团队偏向基础模型研发负责从 0 到 1 训练大语言模型、多模态模型也包括模型推理优化、模型对齐等工作。在很多公开报道中Seed 对应的是“做模型”的团队。Flow 是字节旗下 AI 应用团队负责把模型变成产品偏向智能体、AI 原生应用、模型工程落地。比如豆包、即梦等产品背后的模型应用工程与 Flow 密切相关。Flow 对应的是“用模型”的团队。现在又在 Seed、Flow 之外新成立一个 AI 一级部门方向直接指向数据。这意味着什么最直接的理解是数据对于 AI 的价值已经大到需要组织建制来承接而不是作为某个团队的附属职能。1.2 用一张图理解组织逻辑Seed模型能力层训练基础模型 Flow应用产品层把模型变成可用产品 数据部门基础设施层为模型训练和产品迭代提供数据动力如果说 Seed 解决的是“模型能不能更强”Flow 解决的是“模型能不能更好用”那么数据部门解决的是“模型吃什么、怎么吃、吃完怎么消化”。在 AI 工程链路中数据从来不是一次性资源而是从采集、清洗、标注、合成、版本管理、质量评估再到反馈回流一整条流水线。这个流水线一旦独立出来说明公司已经意识到靠算法工程师业余抽时间搞数据是不行的必须有一支专业团队专门负责。1.3 大模型竞争进入数据深水区过去几年大模型竞争经历了几个阶段拼架构模型设计、注意力机制、参数规模。拼算力训练集群、分布式调度、算力规模。拼数据质量文本质量、去重、清洗、知识密度、合成数据。前两个阶段大家拼的是“能不能训练出模型”第三阶段拼的是“模型能不能学得更聪明、更像人、更懂业务”。很多人低估了数据的作用。一个典型例子是多模态模型的训练图片视频数据的清洗复杂度远高于纯文本另一个例子是 Agent 场景的评估数据如果缺少高质量对话轨迹数据和工具调用数据模型再强也难以稳定完成多步任务。所以单独成立 AI 数据部门本质上是在补组织短板让数据这件事成为独立预算、独立团队、独立考核指标的板块。2. AI 数据部门到底解决什么问题接下来我们进入技术向分析。“数据部门”不是一个新名词互联网公司早就有一级数据部门比如数据仓库、数据中台、数据治理团队。但 AI 数据部门和传统数据部门要解决的问题很不一样。2.1 传统数据团队与 AI 数据团队的区别传统数据团队通常负责数据仓库建设数据 ETL 与指标统计报表与分析数据质量监控用户行为日志处理AI 数据团队则要覆盖模型训练样本设计与构造指令数据清洗与去重人类偏好对齐数据收集多模态数据理解与标注模型评估集构建RAG 知识库数据处理合成数据生成与过滤在线数据反馈闭环从数据形态看传统数据团队更多处理结构化数据、统计数据而 AI 数据团队每天在跟自然语言、图片、音视频、代码、工具调用序列打交道。用一句话概括传统数据团队支撑“业务分析”AI 数据团队支撑“模型能力进化”。2.2 字节单独成立 AI 数据部门技术上的意义既然 AI 数据团队这么重要为什么之前没有单独成立现实原因是过去 AI 数据工作分散在各个算法团队里不同模型团队各自把自己的训练数据管好就行。但随着模型数量变多、数据规模变大分散式的数据管理开始出现几个问题重复建设多个团队都要做数据清洗却没沉淀统一工具。标准不一每个团队对数据质量的定义不同效果难以横向比较。数据孤岛产品侧的用户反馈数据没有顺畅回流到训练侧。工具链割裂数据清洗脚本、标注平台、过滤规则各自为政。成立一级部门目标大概率是为了把这些问题统一解决。在组织上这意味着数据团队有权协调资源、制定标准、推动数据平台建设而不是低姿态地“求着”算法团队使用数据。2.3 AI 数据部门的三层职责按大模型开发链路拆解一个独立的 AI 数据部门至少会覆盖三层层级职责典型工作数据供给层采集、爬取、合作、众包网页数据、书籍、代码、多模态数据获取数据处理层清洗、去重、过滤、合成文本去重、指令数据构造、合成数据生成数据应用层训练、评测、产品反馈反馈训练集管理、评测集建设、在线数据回流这三层并不是独立的而是互相咬合。数据供给层决定“有什么”数据处理层决定“能不能用”数据应用层决定“效果怎么样”。效果不好又会反馈回前两层去补数据。这就是我们常说的数据飞轮产品使用 → 产生用户反馈 → 筛选高质量数据 → 训练模型 → 模型能力提升 → 产品体验更好字节这种产品矩阵丰富的公司最不缺的就是 UGC 数据、用户交互数据、短视频理解数据、问答数据。把这些数据变成模型能力需要一个专门部门长期做。3. Chain of Data从原始数据到模型可用数据既然数据如此重要我们不妨把大模型开发中的数据链路拆开看看哪些地方最容易形成技术壁垒。3.1 数据采集与过滤第一步是拿到原始数据。常见来源包括网络公开数据、开源数据集、业务数据、用户反馈数据、第三方数据合作等。原始数据通常很“脏”需要过滤低质量文本乱码、广告、机器生成垃圾内容。重复内容相似文本的重复出现会降低训练效率。隐私与合规数据需要识别并剔除。有害内容需要建立安全过滤规则。这里给一个简单的文本质量过滤逻辑示例使用 Python 写出思路# 文件路径data_filter.py import re MIN_TEXT_LENGTH 50 MAX_TEXT_LENGTH 20000 def is_punctuation_heavy(text: str) - bool: 判断标点符号占比是否过高过高通常是低质量文本。 if not text: return False punct_count len(re.findall(r[。,.!?;、], text)) return punct_count / len(text) 0.3 def is_garbled_text(text: str) - bool: 判断是否包含大量乱码字符。 garbled_pattern re.compile(r[\ufffd]|\\u[0-9a-fA-F]{4}) matches garbled_pattern.findall(text) return len(matches) 10 def is_repetitive_text(text: str) - bool: 判断是否有大量连续重复片段。这里用相邻行重复比例近似。 lines [line.strip() for line in text.splitlines() if line.strip()] if len(lines) 2: return False repeat_count 0 for i in range(1, len(lines)): if lines[i] lines[i - 1]: repeat_count 1 return repeat_count / len(lines) 0.5 def filter_text(text: str) - bool: 返回 True 表示保留返回 False 表示过滤。 if not text: return False if len(text) MIN_TEXT_LENGTH or len(text) MAX_TEXT_LENGTH: return False if is_punctuation_heavy(text): return False if is_garbled_text(text): return False if is_repetitive_text(text): return False return True这段代码只是一个示例思路生产环境会比这复杂得多比如使用 MinHash、SimHash 做大规模去重使用 Bloom Filter 判断重复 URL使用分类模型过滤低质内容。3.2 数据去重大模型训练的隐形门槛数据去重是大模型训练数据工程中最容易被低估的环节。如果训练数据里有很多重复文本模型会反复看到相同内容。这带来的影响不是简单的算力浪费而是会让模型产生记忆偏差甚至降低泛化能力。尤其在指令微调阶段重复样本过多会导致模型对某些模式过拟合。常用的文本去重方案有URL 去重不同网页引用同一来源按 URL 去重。文档级别去重计算 MinHash 相似度找出近似重复文档。行级去重在大规模语料里重复的公共段落也需要处理。语义去重用向量模型计算文本向量再通过聚类或近邻检索找重复。这里给出一个使用 MinHash 做近似去重的思路性示例# 文件路径minhash_dedupe.py # 说明示例使用 datasketch 库生产环境可按需替换为 Spark 或自研实现 from datasketch import MinHash, MinHashLSH def tokenize(text: str): 简单的字符级 shingle 切分实践中常用 n-gram。 return [text[i:i 5] for i in range(len(text) - 4)] def build_minhash(text: str, num_perm128): m MinHash(num_permnum_perm) for token in tokenize(text): m.update(token.encode(utf-8)) return m data [ 大语言模型的数据清洗非常重要。, 大语言模型的数据清洗非常重要。, 大模型训练需要高质量数据清洗和去重是关键环节。, ] lsh MinHashLSH(threshold0.8, num_perm128) keep_indices [] for i, text in enumerate(data): m build_minhash(text) candidates lsh.query(m) if not candidates: lsh.insert(fdoc_{i}, m) keep_indices.append(i) print(保留下来的文档索引, keep_indices)这个示例简化了很多细节真实场景中还需要处理超大语料的分布式问题。但核心思想是明确的先用近邻检索找疑似重复再做精确对比决定删除哪些文档。3.3 指令数据构造与合成数据预训练阶段主要靠海量文本但指令微调阶段需要的是“问题-回答”结构的数据。这类数据从哪来通常有三个来源人工标注由标注团队按规范写问答对。用户真实问题从产品端收集用户问题配合人工或模型生成参考答案。合成数据让大模型生成新的指令数据再用规则过滤质量。指令数据的数量不需要像预训练数据那么大但质量要求极高。一条低质量指令数据可能让模型学会错误的回答模式。所以通常需要做指令多样性分析确保覆盖的领域、语气、复杂度足够广。合成数据示例思路# 文件路径synthetic_data.py import random def generate_instruction_with_template(topic: str, question_types: list) - dict: 使用模板构造指令数据。 实际项目中更多会让模型基于已有种子数据生成新指令再做规则过滤。 question_type random.choice(question_types) if question_type 解释: instruction f请用通俗易懂的语言解释一下{topic} output f{topic}是一种重要的概念可以从定义、原理和应用三个方面来理解。 elif question_type 对比: instruction f对比分析 {topic} 的优缺点并给出使用建议。 output f{topic}在适用场景中有明显优势但也存在一定限制建议根据实际需求选择。 else: instruction f关于{topic}你有怎样的理解 output f关于{topic}我认为需要结合具体场景来分析。 return {instruction: instruction, output: output, meta: template_v1} topics [大语言模型, 向量数据库, RAG, Agent] question_types [解释, 对比, 开放] for _ in range(5): print(generate_instruction_with_template(random.choice(topics), question_types))当然模板生成的指令数据本质上比较死板真实项目里往往是用“小模型生成 大模型改写 规则过滤”的组合方式。但核心思路是一致的数据不是只有人写这一条路也可以用程序批量构造然后人工或模型兜底质量。4. 数据中台到数据飞轮AI 数据平台的技术架构既然字节把 AI 数据部门提到一级部门那么它背后一定需要一套数据平台支撑组织协同。下面我结合常见的大模型数据平台架构讲讲一个面向 AI 的数据平台应该如何设计。4.1 平台分层设计一个完整的 AI 数据平台通常分为五层层级核心能力数据接入层支持各类数据源接入包括 S3、HDFS、业务库、流式日志、API数据存储层原始数据湖、特征存储、向量存储、数据集版本存储数据处理层离线清洗、实时处理、数据标注、数据合成、质量评估数据编排层通过工作流调度关联“采集→清洗→标注→发布”流程数据应用层为训练、评测、RAG、Agent 调试提供数据集管理能力很多传统数据平台在存储和 ETL 上很成熟但缺乏三层能力数据集版本管理能力标注/对齐数据管理能力模型反馈回流能力。AI 数据平台最特殊的地方在于它不只是“数据仓库”它要管理的对象是模型训练集、评测集、知识库数据。这些数据需要和模型版本、评测结果建立绑定关系。4.2 数据集版本管理思路训练模型的同学都知道模型实验要可复现必须能追溯到训练数据。传统大数据平台里常见的表结构很难满足这种需求。一个最简单的数据集版本表设计CREATE TABLE dataset_version ( dataset_id STRING COMMENT 数据集ID, version INT COMMENT 版本号, storage_path STRING COMMENT 数据存储路径, row_count BIGINT COMMENT 数据行数, max_token_len INT COMMENT 最大token长度, quality_score DOUBLE COMMENT 质量评分, created_by STRING COMMENT 创建人, created_at TIMESTAMP COMMENT 创建时间, comment STRING COMMENT 版本说明, PRIMARY KEY (dataset_id, version) ) COMMENT AI训练数据集版本表;这只是一个示意实际平台还需要记录每条数据的哈希值、来源、质量标签、是否用于训练等元信息。4.3 数据回流与在线反馈另外一个关键设计是数据回流链路。在 Agent 产品中用户每轮对话都包含大量模型表现信号比如用户是否接受回答、是否点击下一步、是否反馈不准确等。这些信号经过脱敏和筛选后能变成非常有价值的对齐数据。典型回流流程如下线上对话日志 → 行为数据采集 → 信号计算 → 数据筛选 → 人工或模型标注 → 加入训练集这条链路要用到现代数据技术栈里的很多东西日志收集Flink、Kafka指标计算Spark SQL、Pandas 处理数据筛选规则引擎、模型打分标注平台结合 LLM 辅助标注很多公司在做大模型应用时容易忽略这层结果模型靠人工收集数据迭代效率低且反馈慢。字节这样布局数据部门等于把反馈闭环放到了组织层面。5. 技术开发者的应对方向数据工程能力成为 AI 时代新基本功如果你不是字节员工字节成立数据部门对我们有什么参考价值其实是给我们指了一个技术学习和职业发展方向AI 数据工程。5.1 从数据处理语法到 AI 场景数据思维过去我们学数据工程核心是掌握 SQL、Spark、Flink、数据仓库建模。这些技能依然重要但如果要支撑大模型还需要增加这些能力文本数据清洗与增强向量化与小规模召回数据集质量评估合成数据生成多模态数据标注流程设计模型评测集构建这些能力听起来偏算法但本质上还是数据工作只不过处理的对象从结构化表变成了“人类语言图像音视频”。5.2 一条建议的学习路径如果你现在做数据开发想往 AI 方向靠可以按这个顺序补先熟练掌握文本清洗、去重、正则、Pandas 处理这是基本功。再用常见开源工具构建一个 mini 版大模型数据清洗流程。学向量检索技术理解 Embedding 和 RAG 数据切分。学习如何设计模型评测集覆盖准确率、鲁棒性、安全性等维度。了解数据合成技术知道如何用大模型生成高质量数据。5.3 示例一个最小化 RAG 数据清洗流程RAG 是目前 AI 应用落地的主力方案也是很多企业最容易踩坑的环节。RAG 的数据处理和模型训练数据处理不一样它的目标不是训练模型而是让检索结果更准确。一个最小化流程示例# 文件路径rag_data_pipeline.py import re def clean_document(text: str) - str: 基础清洗去除多余空白、控制字符。 text re.sub(r\s, , text) text re.sub(r[\x00-\x1f\x7f], , text) return text.strip() def split_document(text: str, max_chars: int 500) - list: 按长度切分文本并尽量在段落边界断开。 生产环境通常使用递归字符分割并配合 token 数量控制。 paragraphs re.split(r(?[。]), text) chunks [] current_chunk for para in paragraphs: if len(current_chunk) len(para) max_chars: if current_chunk: chunks.append(current_chunk.strip()) current_chunk para else: current_chunk para if current_chunk: chunks.append(current_chunk.strip()) return [c for c in chunks if c] if __name__ __main__: raw_text 字节跳动成立新的AI数据部门目标是提升模型训练数据质量。\n\n \ 这一举措说明数据在AI竞争中的战略地位越来越高。 cleaned clean_document(raw_text) chunks split_document(cleaned, max_chars30) for i, chunk in enumerate(chunks): print(fchunk {i}: {chunk})这个例子很简单但你可以看到 RAG 数据管道的基本单元清洗 → 切分 → 向量化 → 插入向量库。真实业务里每一步都有一堆参数要调。6. 企业 AI 落地数据中台为什么容易做成“数据摆设”字节成立 AI 数据部门也暴露了传统数据中台在 AI 时代的两个典型问题。6.1 问题一数据中台偏向经营管理缺少模型数据意识很多企业的数据中台建设目标是经营分析、指标看板、用户画像这些当然有价值。但 AI 模型需要的数据和经营分析数据并不完全重合。模型需要的高质量数据往往隐藏在对话记录、工单内容、产品反馈、用户生成内容等非结构化数据里而传统数据中台大多只把结构化数据治理明白。这是最大的结构性缺口。6.2 问题二数据责任归属不清晰在很多公司数据质量出现问题产品、算法、数据三个团队互相推诿。算法说“数据太脏”数据说“采集需求不明确”产品说“没有数据回传”。最后谁都没责任。字节单独成立 AI 数据一级部门本质上是把“模型数据质量”的责任落实到专门组织。企业在推动 AI 落地时不一定都要成立一级部门但至少应该有明确的 AI 数据 Owner。6.3 组织启示从项目制到机制化对标字节的做法普通企业可以分三步走第一步先梳理现有数据资产盘点哪些数据可以用于大模型训练或 RAG。第二步明确 AI 数据质量标准和责任归属。第三步建立数据回流机制让产品使用数据反哺模型迭代。这不需要一开始就成立独立部门但需要有人统一负责。7. 常见误区和排查思路聊数据工程很多 Teams 会遇到一些反复出现的坑。以字节做 AI 数据部门这件事为引子我把常见误区整理成表格方便大家对照自查。误区现象解决思路数据越多越好训练集规模很大但模型效果没有提升检查数据质量、多样性、去重是否彻底清洗规则一次搞定模型上线后效果突然下降数据集没有异常数据版本管理 质量监控 定期抽样评估反馈数据直接进训练集用户反馈质量参差不齐模型被带偏先做信号筛选再做人工或模型标注所有数据都用 Parser 切分RAG 问答经常答非所问按文档结构与语义切分控制 chunk 大小合成数据越多越好模型在开放域表现强但在真实场景偏科合成数据要与真实分布对齐注意比例数据团队只做清洗模型问题都归因于“数据不行”团队成为瓶颈建立数据评估标准数据工程师与算法工程师共同负责这些坑看起来简单实际项目里几乎人人踩过。8. 最佳实践与工程建议在收尾前把我在数据与 AI 工程实践里比较通用的建议沉淀下来8.1 先定质量指标再建数据管道不要一上来就写清洗代码。先回答我们要的数据是什么形态哪些数据必须过滤质量如何量化哪怕只是一个简单的质量评分规则也比没有规则好。8.2 数据管道必须可观测模型训练数据管道比传统 ETL 更难排查问题因为“玄学”问题太多。建议至少做三件事对每个数据集记录版本、行数、 token 数、清洗统计发布前抽样人工查看确认清洗结果没有破坏语义每一次模型效果回退都能回溯到具体的数据版本。8.3 清洗逻辑要保持可解释性正则规则、启发式规则、模型过滤规则要分层管理不要全揉在一个脚本里。推荐结构data_pipeline/ ├── filters/ # 规则过滤 │ ├── url_filter.py │ ├── text_quality_filter.py │ └── safety_filter.py ├── dedup/ # 去重逻辑 │ └── minhash_dedup.py ├── generation/ # 合成数据生成 │ └── llm_synthetic.py ├── evaluation/ # 质量评估 │ └── quality_scorer.py └── version/ # 数据集版本管理 └── dataset_meta.py这样做的好处是某一步清洗逻辑出问题时可以准确定位不用翻几千行脚本。8.4 重视安全与合规边界数据越重要安全边界越要清晰。涉及用户数据时必须遵守数据最小化原则做好脱敏、权限控制、审计日志。任何企业内部数据的使用都应当建立在合法合规的授权基础上不能在未经授权的情况下采集、处理或用于模型训练。8.5 小步快跑建立数据反馈闭环不要试图一开始就建一个“完美数据中台”。可以先选一个业务场景把数据管道跑通再逐步扩展。重要的是形成闭环模型效果波动 → 数据分析 → 数据修复 → 模型更新。9. 总结数据正在成为 AI 的第一生产力回到开头那条新闻。字节在 Seed、Flow 之后又成立 AI 一级数据部门最核心的信号不是组织架构调整本身而是整个行业对 AI 竞争的共识正在发生变化模型架构会趋同算力可以购买但高质量数据很难速成。无论是大模型训练还是 Agent 应用落地数据都是决定效果上限的关键变量。对开发者来说这意味着 AI 数据工程能力正在成为一项长期有竞争力的技能。与其焦虑模型又发了几代不如先把手里的数据管道做好清洗更彻底去重更高效反馈回流更稳定。希望这篇文章能帮你从“吃瓜看新闻”升级到“理解技术逻辑”也给你自己的 AI 数据工程实践提供一点参考。如果后续还想看更细的 AI 数据管道搭建、RAG 数据清洗实战可以继续关注我。