Am 28. Februar 2025 machte Deepseek in der Open-Supply-Neighborhood erhebliche Fortschritte, indem er das Fireplace-Flyer-Dateisystem (3FS) und das Smallpond-Datenverarbeitungsframework startete. Diese Innovationen sollen den Datenzugriffs- und Verarbeitungsfunktionen für den Daten erhöhen, insbesondere für KI -Coaching und Inferenz Workloads.
Fireplace-Flyer-Dateisystem (3FS)
Das Fireplace-Flyer-Dateisystem (3FS) ist ein Hochleistungsverteilungssystem, das moderne SSDs und RDMA-Netzwerke nutzt. Ziel ist es, eine robuste gemeinsame Speicherschicht bereitzustellen, die die Entwicklung verteilter Anwendungen vereinfacht.
Was ist RDMA?
Durch die Umgehung des Betriebssystems jedes Geräts ermöglicht diese Technik, die als Distant Direct Reminiscence Entry Entry (RDMA) bezeichnet wird, die nahtlose Datenübertragung zwischen dem Speicher von zwei unterschiedlichen Computern, wodurch eine direkte und ungehinderte Kommunikation zwischen ihren jeweiligen Speicheräumen ermöglicht wird.
Schlüsselmerkmale von 3Fs
- Leistung und Benutzerfreundlichkeit
- Erreicht einen beeindruckenden 6,6 TIB/s-Aggregat-Lesedurchsatz in einem Cluster von 180 Knoten.
- Unterstützt 3.66 TIB/min-Durchsatz am Graysort-Benchmark in einem 25-Knoten-Cluster.
- Liefert mehr als 40 GIB/S Peak -Durchsatz professional Shopper -Knoten für KVCACHE -Lookups.
- Disaggregierte Architektur
- Kombiniert den Durchsatz von Tausenden von SSDs mit der Netzwerkbandbreite von Hunderten von Speicherknoten.
- Ermöglicht Anwendungen, auf Speicherressourcen auf lokal-strebende Weise zugreifen zu können.
- Starke Konsistenz
- Implementiert die Kettenreplikation mit aufteilten Abfragen (CRAQ) für eine starke Konsistenz und vereinfachte Anwendungscode.
- Dateischnittstellen
- Entwickelt auf Staatelo-Metadatendienste, die von einem Transaktions-Schlüsselwert (z. B. FoundationDB) unterstützt werden.
- Die vertraute Dateischnittstelle beseitigt die Notwendigkeit, eine neue Speicher -API zu lernen.
Verschiedene Arbeitsbelastungen unterstützt
- Datenvorbereitung
- Organisiert Outputs von Datenanalyse Pipelines in hierarchische Verzeichnisstrukturen.
- Effizient verwaltet große Volumina von Zwischenausgaben.
- Dataloader
- Ermöglicht den zufälligen Zugriff auf Trainingsproben über Rechenknoten über die Vorabsteulung oder Mischung von Datensätzen.
- Checkpointing
- Unterstützt Parallel-Test-Level-Throughput für groß angelegte Schulungen.
- Kvcache für Inferenz
- Bietet eine kostengünstige Various zum DRAM-basierten Caching, das einen hohen Durchsatz und eine erheblich größere Kapazität bietet.
Leistungserkenntnisse
Die Leistung von 3Fs wurde durch strenge Exams validiert. Beispielsweise zeigte ein Lesespannungstest auf einem großen 3FS -Cluster einen Gesamtwertdurchsatz von 6,6 TIB/s mit Hintergrundverkehr aus Trainingsjobs.
Kleinpond -Framework
Deepseek hat auch das Smallpond -Framework neben 3Fs eingeführt und es für die Datenverarbeitung auf 3Fs entwickelt. Smallpond bietet ein leicht verteiltes Datenverarbeitungsframework. Es verwendet Duckdb als Laptop Engine und speichert Daten in Parkett Format auf einem verteilten Dateisystem (z. B. z. B. 3fs).
Schlüsselmerkmale von Smallpond
- Leistung: Smallpond verwendet Duckdb, um eine Leistung in der nativen Ebene für die effiziente Datenverarbeitung zu liefern.
- Skalierbarkeit: Nutzt Hochleistungsverteilungsdateisysteme für den Zwischenspeicher und aktivieren Sie die Datenbehebung des PB-Maßstabs ohne Speicher Engpässe.
- Einfachheit: Keine langjährigen Dienste oder komplexe Abhängigkeiten, die es einfach machen, bereitzustellen und zu warten.
- Effiziente Datenverarbeitung
- Verwendet einen Zwei-Phasen-Ansatz zum Sortieren großer Datensätze, wodurch die Leistung und Effizienz verbessert werden.
- Erfolgreich 110,5 TIB von Daten in 8.192 Partitionen in nur 30 Minuten und 14 Sekunden sortiert und einen durchschnittlichen Durchsatz von 3,66 TIB/min erzielte.
- Integration mit 3Fs
- Smallpond arbeitet nahtlos mit 3Fs und nutzt den hohen Durchsatz und die starken Konsistenzmerkmale.
Erste Schritte mit 3Fs und Smillpond
3FS -Installationsanweisungen
Klonen Sie das Repository und installieren Sie die erforderlichen Abhängigkeiten, um mit 3Fs zu beginnen.
1. # Klon das 3FS -Repository
git clone https://github.com/deepseek-ai/3fs
2. # Navigieren Sie zum Verzeichnis und initialisieren Sie Submodule
cd 3fs
git submodule replace --init --recursive
./patches/apply.sh
Weitere Nutzung und Optionen finden Sie in der 3FS -Dokumentation.
Erste Schritte mit Smallpond
Um mit Smallpond zu beginnen, befolgen Sie bitte die folgenden Schritte:
Set up
- Stellen Sie sicher, dass Sie Python 3.8+ auf Ihrem Gerät installiert haben.
- Installieren Sie Smallpond mit PIP:
!pip set up smallpond
Initialisierung
Der erste Schritt besteht darin, eine Kleinpond -Sitzung zu initialisieren:
import smallpond
sp = smallpond.init()
Daten laden
Sie können einen Datenrahmen aus einer Reihe von Dateien erstellen. Zum Beispiel zum Laden von Parkettdateien:
df = sp.read_parquet("path/to/dataset/*.parquet")
Daten auf Partitionierung
Smallpond verlangt von Benutzern, Datenpartitionen manuell anzugeben. Hier sind einige Beispiele:
df = df.repartition(3) # Repartition by information
df = df.repartition(3, by_row=True) # Repartition by rows
df = df.repartition(3, hash_by="host") # Repartition by hash of a column
Daten transformieren
Sie können Python -Funktionen oder SQL -Ausdrücke anwenden, um Ihre Daten zu transformieren. Dies sind einige der Beispiele:
df = df.map('a + b as c') # Utilizing SQL-like syntax
df = df.map(lambda row: {'c': row('a') + row('b')}) # Utilizing a Python perform
Daten speichern
Nachdem Sie Ihre Daten verarbeitet haben, können Sie sie wieder in verschiedenen Formaten speichern. Zum Beispiel zum Speichern Ihres Datenframees als Parkettdatei:
df.write_parquet("path/to/output/dataset.parquet")
Laufen in Smallpond -Jobs
Um einen Job in Smallpond auszuführen, können Sie den folgenden Befehl verwenden:
sp.run(df)
Dieser Befehl löst die Ausführung der Transformationen aus und speichert die Ergebnisse wie angegeben.
Überwachung und Debuggen
Smallpond bietet Instruments zur Überwachung des Arbeitsfortschritts und des Debuggens. Bei Problemen mit der Ausführung von Arbeitsplätzen können Sie sich mit den Protokolldaten befassen und analysieren, wenn Sie Probleme zur Fehlerbehebung und Lösung von Problemen haben. Darüber hinaus haben Benutzer Zugriff auf eine umfassende Wissensbasis, die detaillierte Dokumentation und Tutorials zur effektiven Nutzung von Smillpond enthält. Diese Ressource bietet reale Beispiele und fachkundige Erkenntnisse, um sicherzustellen, dass Benutzer die Plattform effizient navigieren und ihr volles Potenzial ausschöpfen können.
Die Verfügbarkeit von Anwendungsfällen und Schritt-für-Schritt-Anleitungen verbessert die Funktionen von Smallpond weiter, und Benutzer können über den offiziellen Assist-Kanal auf sie zugreifen. Diese Ressourcen bieten den Benutzern wertvolle Informationen und Expertenunterstützung, um ihre Smallpond -Erfahrung zu optimieren und alle Schwierigkeiten, denen sie begegnen.
Vorherige Updates:
Abschluss
Die Open Supply von 3Fs und Smallpond Framework ist im Bereich der Datenverarbeitung ein wesentlicher Sprung nach vorne. Ihre hohen Fähigkeiten, die Benutzerfreundlichkeit sowie die Konsistenz stärken die Forscher und Entwickler im Open -Supply -Bereich. Jetzt entwickeln sich die Anwendungen von datenintensiven Aufgaben schneller, 3Fs und Smallpond versprechen eine großartige Infrastruktur, um die Arbeitsbelastung moderner Anwendungen zu erfüllen.