
全網都在要Manus AI邀請碼,可能是 DeepSeek 后最大驚喜
Fire-Flyer文件系統(3FS)專為解決AI訓練和推理工作負載的挑戰而設計,具有以下關鍵特性:
性能與可用性
多樣化工作負載支持
在一個由180個存儲節點組成的大型3FS集群上,每個節點配備2×200Gbps InfiniBand網卡和16個14TiB NVMe SSD,使用約500+客戶端節點進行讀取壓力測試(每個客戶端有1x200Gbps InfiniBand網卡),最終聚合讀取吞吐量達到約6.6 TiB/s,并且這一性能在有訓練作業的背景流量下仍然保持穩定。
DeepSeek使用基于3FS的Smallpond進行GraySort基準測試,這是衡量大規模數據排序性能的標準測試。其實現采用兩階段方法:
測試集群由25個存儲節點(每節點2個NUMA域/節點,每NUMA 1個存儲服務,2×400Gbps網卡)和50個計算節點(每節點2個NUMA域,192個物理核心,2.2 TiB RAM,1×200Gbps網卡)組成。對110.5 TiB數據進行8,192個分區的排序在30分14秒內完成,平均吞吐量達到3.66 TiB/分鐘。
KVCache是優化LLM推理過程的技術,通過緩存解碼器層中之前token的鍵值向量避免重復計算。3FS的KVCache實現提供了顯著的性能優勢:
# 從GitHub克隆3FS倉庫
git clone https://github.com/deepseek-ai/3fs
# 初始化子模塊
cd 3fs
git submodule update --init --recursive
./patches/apply.sh
# Ubuntu 20.04
apt install cmake libuv1-dev liblz4-dev liblzma-dev libdouble-conversion-dev libprocps-dev libdwarf-dev libunwind-dev \
libaio-dev libgflags-dev libgoogle-glog-dev libgtest-dev libgmock-dev clang-format-14 clang-14 clang-tidy-14 lld-14 \
libgoogle-perftools-dev google-perftools libssl-dev ccache libclang-rt-14-dev gcc-10 g++-10 libboost1.71-all-dev
# Ubuntu 22.04
apt install cmake libuv1-dev liblz4-dev liblzma-dev libdouble-conversion-dev libprocps-dev libdwarf-dev libunwind-dev \
libaio-dev libgflags-dev libgoogle-glog-dev libgtest-dev libgmock-dev clang-format-14 clang-14 clang-tidy-14 lld-14 \
libgoogle-perftools-dev google-perftools libssl-dev ccache gcc-12 g++-12 libboost-all-dev
還需要安裝其他構建前提條件:
libfuse
3.16.1或更新版本cmake -S . -B build -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_C_COMPILER=clang-14 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
cmake --build build -j 32
可以按照設置指南的說明運行測試集群。
Smallpond是一個構建在DuckDB和3FS之上的輕量級數據處理框架,具有以下特點:
Smallpond支持Python 3.8到3.12:
pip install smallpond
首先下載示例數據:
# 下載示例數據
wget https://duckdb.org/data/prices.parquet
然后可以使用以下Python代碼處理數據:
import smallpond
# 初始化會話
sp = smallpond.init()
# 加載數據
df = sp.read_parquet("prices.parquet")
# 處理數據
df = df.repartition(3, hash_by="ticker")
df = sp.partial_sql("SELECT ticker, min(price), max(price) FROM {0} GROUP BY ticker", df)
# 保存結果
df.write_parquet("output/")
# 顯示結果
print(df.to_pandas())
Smallpond已在GraySort基準測試中進行了評估,在由50個計算節點和25個存儲節點組成的3FS集群上,成功在30分14秒內對110.5TiB數據進行排序,平均吞吐量達3.66TiB/分鐘。
本文轉載自:一文詳解:DeepSeek 第五天開源的 3FS 文件系統