資料載入器
3 秒看懂
資料載入器是深度學習訓練與推論流水線中的“資料傳送帶”。它負責從磁碟、物件儲存等源頭高速讀取海量原始資料,並行完成解壓、增強、張量化等預處理,並將規整的小批次張量不間斷地送入 GPU,防止昂貴的加速器因等待資料而空轉,是保障算力利用率和訓練經濟性的關鍵工程元件。
3 分鐘產業解釋
在 AI 基礎設施總成本中,GPU/TPU 等算力資源常佔據 70% 以上,猶如昂貴的“發動機”;而訓練資料則是驅動其運轉的“燃料”。資料載入器即連線燃料庫(儲存系統)與發動機的高效能供油系統。若供油速度跟不上發動機消耗,GPU 就不得不頻繁等待,利用率大幅下滑,單位算力有效成本急劇攀升。
從產業視角看,載入環節的最佳化可直接轉化為更短的訓練週期和更低的 TCO。隨著模型引數向千億、萬億演進,單次訓練的資料集動輒數 TB 甚至 PB,序列讀取與簡單預處理已成為主要瓶頸。現代資料載入器已從架構的內建功能演進為一種系統工程,需統籌考慮儲存 I/O、多核 CPU 並行、鎖頁記憶體管理、非同步預取、與分散式訓練的資料分片協同等。一個高效的資料載入器,往往能為大型訓練叢集節省數百萬美元的等效算力支出。
技術原理
資料載入器本質上是一個跨 儲存→記憶體→加速器 資料路徑的非同步管道。其核心職責是以最低的 CPU 開銷和最大 I/O 頻寬,為訓練迴圈提供不間斷的資料流。技術原理可拆解為以下幾個層面:
核心抽象
- Dataset:定義單個樣本的訪問介面(如
__getitem__),遮蔽底層儲存的具體格式。 - Sampler:生成樣本索引序列,控制遍歷順序(可隨機、順序、分散式分片)。
- DataLoader:統一排程上述元件,管理多工作程序的並行載入、批次組裝(collate)和預取佇列。
關鍵機制
- 多程序並行 (Multiprocessing):每個工作程序獨立執行檔案讀取、解碼、增強等操作,充分利用多核 CPU,並通過程序間通訊將結果送入主程序的預取佇列。
- 非同步預取 (Prefetching):在當前批次被 GPU 計算時,後臺已提前載入並準備好後續 N 個批次。這是隱藏 I/O 和預處理延遲的核心手段,通常通過雙緩衝或多緩衝佇列實現。
- 記憶體鎖頁 (Pinned Memory):將 CPU 端的批次資料鎖定在物理記憶體中,禁止作業系統將其換出到虛擬記憶體。這使得 GPU 的 DMA 控制器可以直接通過 PCIe 高效傳輸資料,避免一次額外的 CPU 記憶體複製,並消除頁面錯誤導致的隨機延遲。
- 零複製與解除安裝 (Offloading):部分高階庫(如 NVIDIA DALI)將解碼和增強操作直接解除安裝至 GPU 或專用硬體(如 JPEG 解碼器),實現端到端在加速器本地完成,徹底繞開 CPU 瓶頸。
- 封裝格式最佳化:針對海量小檔案場景(百萬級圖片),原始檔案系統後設資料操作將成為災難。技術原理上,通過將所有樣本打包進一個大檔案(如 TFRecord、LMDB、TAR-based WebDataset),變隨機讀取為順序讀取,顯著降低 I/O 請求次數。
資料流結構可概括為:[儲存] → 多程序讀取/預處理 → 批次組裝 → 鎖頁記憶體緩衝區 → DMA → GPU。整個管道必須維持“產出速率 ≥ GPU 消費速率”,才能避免算力空泡。
關鍵引數
資料載入器的效能調優常圍繞下述幾個可量化指標與配置展開。所有數值需基於特定硬體、資料集和模型進行基準測試(benchmark),不存在通用值。
- 資料吞吐量 (Throughput):每秒可供給 GPU 的樣本數(images/sec)或 token 數(tokens/sec)。這是衡量載入器絕對效能的核心指標。以 NVIDIA A100 GPU 訓練 ResNet-50 為例,典型最佳化後的載入器吞吐量可達 4000–8000 imgs/sec(PyTorch 社群基準,2023 年),瓶頸通常不在 CPU 而在儲存。
- 載入延遲與 GPU 利用率:載入延遲指從請求一個批次到該批次資料就緒的時間,理想下應完全隱藏。GPU 利用率若持續低於 80%(使用
nvidia-smi觀測),且 GPU 記憶體及視訊記憶體頻寬未飽和,則大機率是資料載入形成瓶頸。 - 工作程序數 (num_workers):最關鍵的可調引數之一。典型經驗設為單機 CPU 核心數的 0.8–2 倍。針對 I/O 密集或 CPU 密集場景,最優值需從低到高掃描,直到吞吐量不再提升或系統整體吞吐下滑。過多程序會導致上下文切換飆升、記憶體溢位、檔案描述符耗盡。
- 預取因子 (prefetch_factor):控制每個工作程序提前載入的批次數。提高該值可容忍瞬間 I/O 抖動,但會增大 CPU 記憶體佔用。常用值 2–4。
- 批次大小 (batch_size):與資料載入器間接相關。增加批次大小會降低每樣本的載入攤銷開銷,但同時增加記憶體壓力。需配合梯度累加策略平衡。
- 鎖頁記憶體開關 (pin_memory):開啟後,主機端批次資料分配在鎖頁記憶體,通常可減少 10%–30% 的 H2D 傳輸時間(取決於 PCIe 拓撲及資料大小),是強烈建議開啟的基礎最佳化。
- 記憶體佔用:多工作程序每程序獨立載入資料、持有 Python 物件,記憶體佔用約等於
num_workers × buffer_size × sample_size。對大解析度影像或長文本任務,記憶體極易成為瓶頸,需結合共享記憶體、incremental載入等方式最佳化。
參考:公開資料中,NVIDIA 在 2023 年《Deep Learning Performance Guide》中建議使用 pin_memory=True 並結合 non_blocking=True 的資料傳輸以最大化吞吐。
技術路線
當前主流技術路線可按載入的瓶頸側重和系統架構劃分:
路線一:架構原生多程序管線
- 代表:PyTorch
DataLoader,TensorFlowtf.data。 - 思路:基於高層 Python API,通過多程序或 C++ 後端並行化,提供通用的靈活性與易用性。自帶多種預取、快取、並行對映操作。
- 優勢:與訓練架構無縫整合,迭代快,文件豐富,社群龐大。適合通用研究、中小規模資料集(TB 級以下)的生產訓練。
- 侷限:面對超大規模資料、極高解析度影像、或極短 token 場景,Python 全域性直譯器鎖和程序間通訊開銷可能成為天花板。
路線二:加速器原生解除安裝管線
- 代表:NVIDIA DALI。
- 思路:將資料預處理(解碼、裁剪、翻轉、歸一化)完全或部分解除安裝到 GPU 或專用硬體(NVIDIA JPEG 解碼器),避免 CPU-GPU 的資料往返。流水線在 GPU 上建置,實現端到端加速。
- 優勢:大幅減輕 CPU 壓力,適用於 CPU 成為瓶頸的密集增強任務,尤其在高吞吐場景下效能飛躍。
- 侷限:需學習新 API,部分自定義操作可能不支援,強依賴 NVIDIA 生態。
路線三:打包式順序讀管線
- 代表:WebDataset、MosaicML StreamingDataset。
- 思路:將海量小檔案預先打包成大檔案(如 TAR 歸檔),在載入時順序解包,將隨機讀取轉為高效順序 I/O。同時結合內建的分片和預打亂邏輯,適配分散式訓練。
- 優勢:對小檔案極多(百萬級)的場景提升顯著,可在雲端物件儲存上實現接近本地 SSD 的吞吐。
- 侷限:需預先打包(增加一道工序),對需要精細隨機取樣的任務靈活性稍差。
路線四:分散式/雲端原生彈性管線
- 代表:Ray Data、Petastorm、SparkTorch。
- 思路:將資料載入擴充套件至多節點叢集,利用分散式計算架構對超大規模資料進行 shuffle、轉換與流式載入,支援彈性擴縮。
- 優勢:可處理 PB 級資料集,與資料湖生態(Spark、Hive)整合,適合在資料預處理階段完成繁重轉化再餵給訓練。
- 侷限:架構複雜,運維成本升高,小規模訓練中引入額外延遲。
實際落地中,大型團隊常採用組合路線,例如用 WebDataset 格式儲存資料,通過 DALI 載入並解除安裝預處理,再由 PyTorch 排程分散式分片。
上游
資料載入器的效能和功能緊密依賴其上游供給:
- 資料儲存硬體與系統
- 本地 NVMe SSD/HDD:提供最低延遲和最高 IOPS,適合中小規模訓練。
- 並行網路檔案系統 (NFS/並行 NAS):方便資料共享,但需保證足夠的總頻寬,常見於企業內部叢集。
- 分散式檔案系統 (HDFS/CephFS/Lustre):多節點併發提供高聚合頻寬,是 PB 級訓練的標配,如 Lustre 在高效能運算中心被廣泛部署。
- 物件儲存 (AWS S3, GCS, MinIO, 阿里雲端 OSS):極高彈性、低成本,但時延較高且按請求計費,需配合封裝格式並最佳化請求模式以避免天價賬單。截至 2024 年,主要雲端廠商物件儲存的標準讀取吞吐限制與請求費用有公開標準定價,公共社群中有大量針對 S3 訓練載入的成本測算案例。
- 資料格式與序列化
- 原始檔案:JPEG、PNG、WAV、TXT 等,靈活但小檔案 I/O 昂貴。
- 列式/記錄格式:TFRecord(Protocol Buffers 序列化)、Apache Parquet、Apache Arrow。這些格式支援高效壓縮和投影讀取。
- 打包格式:LMDB(鍵值儲存)、TAR 歸檔(WebDataset)、HDF5。LMDB 適合頻繁隨機讀取;WebDataset 適合順序流式訓練。
- 資料庫:直接連線分散式 SQL/NoSQL 資料庫進行特徵讀取,常用於推薦系統場景。
- 資料治理與版本
- DVC、LakeFS、Pachyderm 等工具確保資料的版本與實驗配置、訓練程式碼嚴格繫結,保證可復現性,構成資料載入的前置保障。
- 這些上游工具的輸出(版本化的資料路徑/快照)就是資料載入器的直接輸入。
行業趨勢:上游正朝向 “資料湖倉一體 + 開放表格格式(如 Iceberg/Delta Lake)+ 打包式讀取” 方向演進,以實現海量資料下高效且受控的載入。
下游
資料載入器輸出的標準化張量批次,直接注入以下下游環節:
- 訓練/推論迴圈 (Training Loop):載入器充當可迭代物件,每次
next(iterator)返回一個 (inputs, targets) 批次,驅動模型執行前向計算、損失求導和引數更新。在推論場景中,載入器向推論伺服器供給即時請求的樣本。 - 模型定義與執行環境:下游承載方包括 PyTorch、TensorFlow、JAX、PaddlePaddle 等架構。載入器輸出的 Tensor 必須位於正確的裝置(CPU/GPU)且具備匹配的 dtype 和記憶體連續性,架構的 autograph 或 JIT 編譯器將據此生成高效計算圖。
- 硬體加速器:GPU、TPU、AMD Instinct GPU、華為 Ascend NPU 等。通過 PCIe、NVLink、CXL 或專有互聯接收鎖頁記憶體中準備好的資料。資料吞吐量與加速器 HBM 頻寬、互聯頻寬直接耦合。例如,NVIDIA H100 通過 PCIe 5.0 x16 可獲得約 128 GB/s 的單向頻寬(理論值,2023 年公開規格),載入器需飽和該鏈路。
- 分散式通訊後端:在資料並行訓練中,各個 GPU 裝置不僅接收自己的分片資料,還需在反向傳播後通過 NCCL/RCCL 等通訊庫同步梯度。載入器內的
DistributedSampler保障各 worker 讀取互不重疊的資料分片,並在 epoch 間正確 shuffling,直接影響通訊效率和最終模型精度。 - 監控與日誌系統:下游通常整合 Prometheus、MLflow、W&B 等系統,記錄載入吞吐、排隊延遲、錯誤率等指標,用於即時診斷和長期規劃。
受益公司
以下分類梳理有明確技術或商業版面配置的公司與專案,不構成任何投資建議。
- GPU 與 AI 晶片巨頭
- NVIDIA:推出 DALI 庫深度繫結自家 GPU,同時在其 NeMo、Megatron-LM 等大型模型訓練架構中預設高效能載入管線。通過軟硬一體強化競爭力,2024 年 GTC 持續最佳化 DALI 的影片和 JPEG-2000 解碼效能。
- AMD:通過 ROCm 生態提供 RPP(ROCm Processing Pipeline)庫及內建 DataLoader 相容層,在 Instinct MI 系列加速器上建置資料載入方案。
- Intel:在 Habana Gaudi 系列平台上提供與 PyTorch 相容的高效載入器,並通過 oneAPI 推動跨架構載入最佳化。
- 雲端服務與平台廠商
- AWS:SageMaker 訓練平台內部深度整合並優化了資料載入,結合 Amazon FSx for Lustre 提供高吞吐儲存,同時通過 Ocean 級物件儲存降本。
- Google Cloud:基於 TensorFlow 和 JAX 生態,提供 Cloud Storage + TPU 間的高速專屬資料通道,以及 Dataflow 預處理管道。
- Microsoft Azure:Azure ML 並行訓練場景下自動推薦最佳 DataLoader 配置,整合 Azure NetApp Files 等高效能儲存。
- 阿里巴巴/華為雲端:分別為 PAI-靈駿平台和 ModelArts 平台提供自研的高效能多級快取載入架構,針對大規模分散式訓練專門最佳化。
- AI 平台與開源商業化公司
- Databricks(收購 MosaicML):其 StreamingDataset 將訓練資料與資料湖天然連線,支撐大型模型快速訓練,商業化定位清晰。
- Anyscale (Ray):Ray Data 是分散式載入領域的重要選擇,支撐 OpenAI 等的部分早期分散式訓練(據公開技術分享),公司持續獲得融資支援。
- Hugging Face:其
datasets庫針對 NLP/CV 資料集封裝了高效 Arrow 格式記憶體對映載入,已成為預訓練社群的通用上游。
- 模型與 AI Lab
- 如 OpenAI、Anthropic、Meta 等頭部機構自研載入管線或深度定製開源方案,其內部工具(如 Meta 內部 TorchArrow)間接通過開源反饋給社群,自身受益於極致訓練效率。
公開融資與收購事件包括:Databricks 於 2023 年以約 13 億美元收購 MosaicML(據公開報道),核心意在獲取包括資料流最佳化在內的整棧訓練能力,體現資料載入環節的戰略價值。
市場規模
資料載入器作為一個嵌入式/中介軟體型技術,沒有獨立的市場規模統計報告。其價值隱含在 AI 訓練基礎設施總支出 和 算力有效利用率的提升 中。
- 直接市場缺失:公開資料中未見 “全球資料載入器市場規模” 的預測。其軟體主體多為開源提供,商業模式以雲端平台整合服務、企業級 AI 平台訂閱或硬體附帶軟體工具包體現,極難分離測算。
- 相關參照市場:
- AI 訓練硬體(GPU/加速器)市場:據 IDC 及多家券商估算,2023 年全球 AI 伺服器出貨金額超過 300 億美元,預計 2024 年將大增。訓練硬體的資本支出是載入最佳化的主要驅動力。
- 雲端 AI 平台服務 (PaaS) 市場:也是載入最佳化的受益方,通過提升客戶訓練效率降低自身運營成本。
- 價值量化邏輯:若載入效率提升使 GPU 訓練叢集利用率從 70% 提高至 85%,等效節約約 15% 的 GPU 時。以 1000 張 H100 叢集、租用價格約 2 美元/GPU/小時運算,一年可節省數百萬美元(成本估算來自 2023 年主流雲端定價及公開折扣,行業常見推算口徑)。這構成了資料載入最佳化方案的內在商業價值,也是創業公司和工具得以向企業收費的根本依據。但請注意,這屬於成本節約估算,並非資料載入器本身的銷售營收。
儘管無直接市場金額,其槓桿效應在 GenAI 浪潮下顯著放大,推動上游投入更多資源。
玩家對比
針對主流資料載入方案在關鍵維度的橫向對比:
| 方案 | 適用場景 | 效能強度 | 易用性/整合度 | 社群生態 | 商業化/支撐方 |
|---|---|---|---|---|---|
| PyTorch DataLoader | 通用研究、自制訓練架構 | 中等至良好(多程序),配合專用格式可至優秀 | 極高,PyTorch 原生 | 極其龐大 | Meta 開源領導,無直接商業收費 |
| TensorFlow tf.data | TF/JAX 生態、生產級管線 | 良好,C++ 實現,圖編譯最佳化 | 與 TF 深度繫結 | 龐大 | Google 維護,通過 GCP 提供託管 |
| NVIDIA DALI | 影像/影片密集預處理,GPU 解除安裝 | 優秀,可旁路 CPU 瓶頸 | 需學習新 API | 活躍,由 NVIDIA 直接支援 | NVIDIA 免費提供,作為 GPU 生態壁壘 |
| WebDataset | 海量小檔案(百萬級),雲端物件儲存 | 順序 I/O 極優,打包後吞吐巨幅提升 | 中等,需瞭解 TAR 打包 | 社群認可度極高 | 獨立開源專案,作者所在機構提供商業支援 |
| StreamingDataset (MosaicML) | 大規模分散式訓練,資料湖直連 | 優秀,彈性分片,近線頻寬利用 | 與 Mosaic 平台整合 | 增長迅速 | Databricks 商業化核心元件 |
| Ray Data | 大規模分散式預處理+載入 | 良好至優秀,可線性伸縮 | 需理解和部署 Ray 叢集 | 活躍 | Anyscale 提供企業版支援 |
| HF Datasets | NLP/CV 基準研究,快速實驗 | 良好,記憶體對映 Arrow | 極好,Hugging Face 生態核心 | 非常龐大 | Hugging Face Hub 的商業基礎層 |
綜合來看,選擇取決於團隊技術棧、資料規模和特定瓶頸。大廠多自研或深度定製一個或多個組合,中小企業與科研機構則偏向使用架構內建方案加一個專門最佳化庫。
風險
- 技術鎖定與複雜度風險:定製化管線(如高度依賴 DALI 或專有格式)可能導致與特定硬體或架構繫結,遷移成本高昂。若未來硬體架構發生突變(如近存計算/存算一體晶片普及),現有管線需要重寫。
- 運維與排障成本:分散式載入管道一旦效能下降或出錯(如隨機記憶體洩漏、程序僵死),根因定位極為困難。這類問題常表現為訓練效率間歇性抖動,消耗大量工程師時間。
- 版本相容:架構迭代迅速,API 變更可能導致資料載入器出現隱性行為變化,影響訓練復現性。PyTorch 從 1.x 到 2.x 的多程序後臺變更曾影響部分高定製管線(據 GitHub Issues 公開討論)。
- 雲端成本意外增加:使用物件儲存作為訓練源時,若未正確配置封裝格式或快取層次,將產生巨量的 GET/LIST 請求費用。數個 TB 資料集的一次性遍歷可能產生數千美元額外成本(基於 S3 公開請求定價測算),團隊需提前評估。
- 安全與合規:直接從生產資料庫或流式服務載入資料時,資料載入器可能接觸敏感原始資訊,其快取和記憶體中可能殘留明文資料,需納入資料安全治理體系。
- 開源依賴風險:多數最佳化庫由個人或小團隊維護(如 WebDataset 早期),關鍵依賴缺少商業支援或將面臨停滯風險。企業應評估備選方案及內部維護能力。
誤讀糾偏
- 誤讀:“資料載入就是讀檔案,寫個 Python generator 就行。”
- 糾偏:現代訓練需要的是一種高併發、非同步、零複製的即時流水線。一個看似簡單的 generator 容易因 GIL、阻塞 I/O 和無預取而將 GPU 利用率拉低至 30% 以下,造成昂貴的算力浪費。其設計的複雜度不亞於作業系統的 I/O 排程子系統。
- 誤讀:“num_workers 設為 CPU 全部核心數最快。”
- 糾偏:過多 worker 會導致 CPU 上下文切換開銷猛增、各 worker 記憶體副本之和耗盡物理 RAM,進而觸發 OOM 或 I/O 顛簸。最佳 worker 數是一個需要依據具體任務基準測試的“金鳳花區域”,通常在 8–16 個附近對多數伺服器達到甜點(公開基準,如 PyTorch 官方教程示例)。
- 誤讀:“資料載入頻寬必須大於等於 GPU 計算吞吐。”
- 糾偏:載入吞吐只需匹配 GPU 處理該批次的時間所等效的頻寬即可,因為預取機制可提前準備。真正需要的是平均產出速率不小於 GPU 消費速率,瞬時抖動由預取快取吸收。故最佳化目標為“足夠快並留有餘量”,而非一味的絕對值增加。
- 誤讀:“儲存越快,訓練一定越快。”
- 糾偏:若瓶頸在 CPU 解碼、增強等預處理而非 I/O,換全快閃記憶體陣列不會帶來任何收益。出現此類誤讀時,應先通過效能剖析(profiling)定位真正的瓶頸模組,再決定是加儲存、加 CPU、還是最佳化預處理程式碼。
- 誤讀:“資料載入可以在訓練快開始時再臨時準備。”
- 糾偏:資料格式的選擇、打包與否、儲存版面配置的設計影響全域性。訓練中期再調整資料管道等同於重做地基,成本極高。應在專案啟動與資料工程階段就把“如何高效餵養模型”作為一級架構決策。
最新事件
- 2024 年 PyTorch 2.x DataLoader 增強:PyTorch 2.2/2.3 版本(2024 上半年釋出)繼續完善
DataLoader2及torchdata的穩定性,推進“DataPipes”概念,支援更靈活的流式管道組合。同時修復了與 GIL-free 多程序互動的數個死鎖問題(據 GitHub 變更日誌)。 - NVIDIA DALI 2024 更新:NVIDIA 在 2024 年 GTC 上演示了 DALI 對多模態大型模型資料流的改進支援,新增對 WebP、HEIF 等編碼的高效 GPU 解碼,並深化與 NeMo Framework 的整合。
- Databricks 強化 StreamingDataset:2024 年,Databricks 開源並增強了其 StreamingDataset 庫,使其可脫離 Mosaic 平台獨立使用,方便更多使用者從雲端儲存直接流式訓練。該庫宣稱可在數百 GPU 上維持 90% 以上利用率(源自 Databricks 官方部落格,2024 年 3 月)。
- 物件儲存成本最佳化事件:2024 年多家雲端使用者在 re:Invent 等會議分享了使用 WebDataset 和自定義快取層將 S3 訓練載入請求數降低 90% 以上的實踐,相關方案得到廣泛關注。
- 開源新專案:2024 年社群中出現多個高效能資料載入器嘗試,例如
torchdata正式離開 PyTorch 主倉成為獨立模組,以及SDPipeline、DeepLake等圍繞資料格式和向量儲存的載入方案獲得融資,推動該細分領域持續創新。 - 華為昇騰與海光生態:國內算力廠商在 2023–2024 年加快了對 PyTorch 資料載入管線的適配,包括鎖頁記憶體、非同步傳輸到 NPU 等最佳化,但公開效能基準較少,僅見於廠商技術白皮書。
追蹤指標
建議通過以下指標和渠道持續觀察資料載入器領域的技術進展與產業影響:
- 效能基準排行榜:MLPerf Training 基準中,部分任務的吞吐指標間接受資料載入影響,可關注各提交方的預處理與載入設計。社群中如 “TorchBench” 執行端到端基準時,亦可觀察資料傳輸階段耗時佔比。
- 開源專案活躍度:
- PyTorch
torch.utils.data及torchdata倉庫的 Star 數、Issue 活躍度、路線圖更新。 - NVIDIA DALI 版本迭代速度和新特性公告。
- WebDataset、StreamingDataset、Ray Data 的 GitHub 釋出頻率和社群貢獻情況。
- PyTorch
- 架構版本變更日誌:PyTorch、TensorFlow、JAX 等架構的 Release Note 中 Data Loading 相關的效能提升及 API 變化,直接標示生態方向。
- 雲端廠商工具更新:AWS SageMaker、Google Vertex AI、Azure ML 的資料載入相關服務能力更新,反映產業化需求。
- 硬體與新互聯技術進展:CXL 記憶體池化、DPU (SmartNIC) 解除安裝資料移動、NVMe over Fabric 等技術的商用落地,將重塑資料載入器的設計前提,需平行追蹤。
- 科研論文:聚焦 MLSys、OSDI、EuroSys 等會議上關於訓練 I/O 子系統的研究,以及 arXiv 上關於大型模型資料管道的經驗報告。
- 從業者社群:關注 Reddit r/MachineLearning、Hacker News、PyTorch 論壇上的相關討論,以及“The Gradient”等預印本評論文章,獲取實操痛點與最佳實踐。
信源
- PyTorch 官方文件 –
torch.utils.data及torchdata: https://pytorch.org/docs/stable/data.html - TensorFlow
tf.data效能指南: https://www.tensorflow.org/guide/data_performance - NVIDIA DALI 使用者指南與效能白皮書: https://docs.nvidia.com/deeplearning/dali/user-guide/docs/
- WebDataset 專案與相關技術報告: https://github.com/webdataset/webdataset
- MosaicML StreamingDataset 文件 (現 Databricks): https://docs.mosaicml.com/projects/streaming/
- Ray Data 文件: https://docs.ray.io/en/latest/data/data.html
- Hugging Face Datasets 文件: https://huggingface.co/docs/datasets/
- PyTorch GitHub Issues 區中“DataLoader”相關討論與效能修復記錄: https://github.com/pytorch/pytorch/issues
- 雲端廠商關於訓練資料載入的架構白皮書與部落格 (AWS, GCP, Azure)。
- MLCommons MLPerf Training 基準規則與結果庫: https://mlcommons.org/benchmarks/training/
- 《機器學習系統:設計與實現》相關章節 (開源書籍)。
- 公開投資收購報道:TechCrunch, The Information 關於 MosaicML 收購及 Anyscale 融資的報道(2023 年資料)。
(注:所有涉及具體數字的估算均已在文中註明來源或說明為行業概算,未給出明確出處的財務資料請以官方財報或第三方權威報告為準。本文嚴格遵循技術說明與產業邏輯推演,不包含任何投資建議或標的推薦。)