1. 基本介紹
近年來,大模型發展主要由大型科技公司主導,其領先的核心在于規模龐大且高質量的數據資源。然而,這些公司通常并不公開其原始數據及數據處理工具,使得學術界在大模型訓練數據的構建與優化方面難以追趕,受制甚深。
盡管近年來開源了大量數據集,學術界在大模型數據準備方面仍面臨諸多挑戰。目前,大模型訓練數據的清洗與構建仍主要依賴各個研究團隊 “閉門造車”,缺乏系統化、高效的工具支持。現有的數據處理工具如 Hadoop 和 Spark 等,支持的操作算子大多偏向傳統方法,尚未有效集成基于最新大語言模型(LLMs)的智能算子,對于構建先進大模型的訓練數據支持有限。
為此,張文濤和鄂維南院士團隊提出了以數據為中心的 AI 系統DataFlow。它系統實現了 100 余個基于規則、本地大模型或大模型 API 的數據治理算子(Operators),并在此基礎上構建 8 條預設數據處理流水線(Pipeline),包括:大規模嘈雜數據(如 PDF 文檔、純文本、低質量問答數據、爬蟲數據等)的清洗、擴增與評估;帶有思維鏈的強推理數據合成;RAG 數據提取與合成等等主流數據治理需求。該系統可供用戶靈活組織現有算子,開發新算子,修改現有流水線,組裝定制化流水線,以滿足多樣的數據治理任務。
目前 DataFlow 全面支持文本模態的數據治理,可供大語言模型(LLM)的預訓練(Pre-training)、有監督微調(Supervised Finetuning)、強化學習微調(Reinforcement Finetuning )使用。經過治理的數據可以有效提升大語言模型在通用領域的推理能力和檢索能力,與醫療、金融、法律等特定領域的性能。此外,多模態版本的 DataFlow 正在如火如荼開發中,會在不久的將來與大家見面。
- 官方文檔:https://opendcai.github.io/DataFlow-Doc
- Github 官方倉庫:https://github.com/OpenDCAI/DataFlow
2. 設計理念
DataFlow 框架的數據處理邏輯主要分為算子層(operator) 和流水線層(pipeline)。其次,DataFlow 通過數據管理類(storage)實現讀寫管理,大模型后端類(LLMServing)支持算子調用大模型,進而實現對數據的復雜過濾、擴增和評分。此外,我們還設計了 Agent for DataFlow 模塊。使用大模型 Agent 實現多種智能數據治理功能:(1) 根據用戶描述自動編排算子構成新 Pipeline (2) 根據用戶描述自動編寫新算子 (3) Agent 自動解決數據分析任務。
2.1 框架設計
- 數據管理:DataFlow 現階段主要支持大模型文本數據處理,為提高易用性,DataFlow 內核使用 pandas 的 DataFrame 數據表作為載體實現讀寫數據。
- 大模型后端:目前 DataFlow 支持兩種后端,包括:
(1)使用 vLLM 或 SGLang 作為本地推理后端,在本地 GPU 部署大模型作為推理服務。支持算子決策。
(2)使用 request 方式向大模型服務商的 API(如 ChatGPT,Deepseek)發起請求,并支持多進程并發請求。
2.2 功能設計
- DataFlow 算子是基本數據處理單元,通常基于規則、深度學習模型或大語言模型(LLM)實現處理邏輯。
- DataFlow Pipeline是對多個 DataFlow 算子的有序編排,旨在完成一個完整的數據處理任務。DataFlow 目前提供了 8 條完整流水線以供參考,用戶可以自定義修改。
- DataFlow Agent是一個基于多智能體協同的自動化任務處理系統,覆蓋 “任務拆解 → 工具注冊 → 調度執行 → 結果驗證 → 報告生成” 完整流程,致力于復雜任務的智能化管理與執行。
2.3 DataFlow 具體示例:
- 評估算子示例:我們主要通過 “通用評估算子” 和 “專有評估算子” 進行評估。以通用算子為例,主要包含文本結構、多樣性和復雜性、安全性、流暢性和可理解性、教育價值、內容準確性和有效性等維度。
詳見官方文檔 https://opendcai.github.io/DataFlow-Doc/zh/guide/f50mqhmb/
- 數據處理流水線示例:我們提供多條推薦使用的數據處理流水線,數據處理及評估結果如下。
(1)通用文本數據處理流水線
主要由去重、改寫和過濾算子等組建,能夠實現刪除冗余字符、提取有效信息的處理效果。
詳見官方文檔 https://opendcai.github.io/DataFlow-Doc/zh/guide/textpipeline/
如下圖實驗結果顯示,清洗后的數據在多個評估維度都有提升。
(2)強推理數據合成流水線
主要包括以下三方面算子,能夠支持數據合成及多維度數據評估。
1. 問題處理:過濾非數學問題、合成新問題、驗證問題正確性、進行難度評分和類別分類。
2. 答案生成與處理:根據問題的標準答案或模型生成的答案進行處理,包括格式過濾、長度過濾和正確性驗證等。
3. 數據去重:對生成的問答數據進行去重,確保數據集的質量。
詳見官方文檔 https://opendcai.github.io/DataFlow-Doc/zh/guide/reasoningpipeline/
如下圖實驗結果顯示,合成數據在多個評估維度都有提升。
(3)Text2SQL 數據合成流水線
主要由以下幾個步驟組成:
1. 數據過濾:篩選無效 SQL 和問題描述不一致的數據;
2. 難度分類:基于 SQL 語法復雜度和執行通過率劃分難度等級;
3. Schema 處理:提取和格式化數據庫 Schema 信息;
4. 知識生成:構建自然語言問題到 SQL 查詢所需的額外知識;
5. 問題優化:標準化問題表述;
6. 提示詞生成:構建用于訓練的高質量問答數據。
詳見官方文檔 https://opendcai.github.io/DataFlow-Doc/zh/guide/text2sqlpipeline/
如下圖實驗結果顯示,處理后數據在多個評估維度上都有提升。
(4)Agentic RAG 數據處理流程
主要由以下算子構成:
1. 片段遴選:選取過濾有意義文本;
2. 構造問答對:基于現有片段中的信息,構建問答對。該問答對需要原文本支持;
3. 問題質量評估:對問答對和原文本的質量進行評估與分類,便于構建 RAG 知識庫;
4. 問題橫向合并:可以合并多個問答對的內容,提高問題復雜性與跨度;
5. 問題縱向合并:將多個問題合并為需要多次檢索的問答對。
詳見官方文檔 https://opendcai.github.io/DataFlow-Doc/zh/guide/agenticrag_pipeline/
如下圖實驗結果顯示,合成數據訓練模型在多個評估維度都有提升。
(5)Agent 自動數據處理流程
Agent 主要由以下六個模塊組成,可以添加算子并且編排已有算子,以實現自動的數據處理流水線。
1. Planning Agent:任務分解,定義任務鏈;
2. Task Dispatcher:分配任務;
3. Execution Agent:生成工具,處理任務;
4. Tool Register:注冊工具;
5. Evaluation Agent:調試與驗證;
6. Analysis Agent:總結并生成報告。
詳見官方文檔 https://opendcai.github.io/DataFlow-Doc/zh/guide/agent/agent_for_data/
效果如下:
https://mp.weixin.qq.com/s/ns96fMzDluAmPLnl8GY8ww
3. 使用方式
3.1 基于代碼使用
代碼倉庫
- 目前 DataFlow 已經部署在 PyPi,可以通過 pip install open-DataFlow 輕松一鍵安裝。
- DataFlow 借鑒了 PyTorch 的風格的算子組織與調用方式,算子聲明通過__init__函數實現,算子運行通過 run 函數實現。接口簡明清晰,易于上手。
Github 官方倉庫:https://github.com/OpenDCAI/DataFlow
使用文檔
我們還提供了詳細的教程文檔,也歡迎開源社區提出有趣的見解,一起豐富完善文檔內容,讓 DataFlow 更加新手友好,利于上手。
官方文檔:https://opendcai.github.io/DataFlow-Doc
3.2 基于前端使用
無代碼拖拽式 Pipeline 搭建:滿足需要針對業務場景個性化定制 / 微調 pipeline 的需求。
一鍵調用數據準備 Pipeline:提供已跑通的行業 / 特定場景的最佳實踐模版。
Agent 自動化 Pipeline 設計:通過多輪對話理解并分析客戶需求,給出合理的數據過濾、數據合成、pipeline 調整等建議,確認后可一鍵配置。
項目開源
- 官方文檔:https://opendcai.github.io/DataFlow-Doc
- Github 官方倉庫:https://github.com/OpenDCAI/DataFlow
張文濤 上海算法創新研究院研究員,北京大學助理教授。主要研究方向為以數據為中心的機器學習、大模型和數據管理。wentao.zhang@pku.edu.cn
鄂維南 中國科學院院士,上海算法創新研究院學術委員會主任,北京大學教授。主要研究方向為機器學習、Data-centric AI, 計算數學、應用數學及 AI4Science。weinan@math.pku.edu.cn
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.