Marin: Framework für Foundation-Model-Forschung, das jede Pipeline-Stufe aufzeichnet
Open-Source-Framework für die Forschung und Entwicklung von Grundlagenmodellen. Marins Hauptanwendungsfall ist das Training von Sprachmodellen wie Llama, DeepSeek, Qwen usw.
Auf einen Blick
- Was ist das?
- Ein Open-Source-Python-Framework, in dem Trainings-Experimente als voneinander abhängige Schritte definiert und in topologischer Reihenfolge ausgeführt werden, mit dokumentierten Fehlversuchen.
- Für wen ist es gedacht?
- Marin eignet sich für Forschungsteams, die Foundation-Modelle von Grund auf trainieren und jeden Schritt inklusive Fehlversuche dokumentieren wollen. Wer nur vorhandene Modelle feinjustiert, ist falsch aufgehoben, denn Marin zielt auf die komplette Pretraining-Pipeline samt Rechencluster.
- Darf ich es kommerziell nutzen?
- Ja. Apache-2.0 ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 1 Tag.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich Python, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Marin: Framework für Foundation-Model-Forschung mit offener Aufzeichnung
Marin ist laut README ein Forschungsprogramm, eine Softwareplattform und eine Community für die Entwicklung von Foundation-Modellen. Der Hauptanwendungsfall ist das Training großer Sprachmodelle in der Tradition von Llama, DeepSeek und Qwen. Zur Pipeline zählt das README ausdrücklich: Datenaufbereitung, Transformation, Filterung, Tokenisierung, Pretraining, Posttraining und Evaluierung.
Der Anspruch auf offene Entwicklung ist das Kernmerkmal. Prozesse, Experimente und Entscheidungen sollen dokumentiert werden, während sie stattfinden; jeder Schritt von den Rohdaten bis zum fertigen Modell soll aufgezeichnet bleiben, einschließlich fehlgeschlagener Experimente. Das unterscheidet das Projekt von kuratierten Showcase-Ablagen. Das README beginnt mit einem Zitat von Louisa May Alcott über das Steuern eines Schiffs im Sturm; Schwierigkeiten werden einkalkuliert, nicht wegredigiert.
Experimente als abhängige Schritte in topologischer Reihenfolge
Experimente in Marin bestehen aus Schritten, die Abhängigkeiten voneinander deklarieren und in topologischer Reihenfolge ausgeführt werden, eine Struktur, die das README mit einem Makefile vergleicht. Ein Trainingsschritt kann von einem Tokenisierungsschritt abhängen; das Framework löst die Reihenfolge automatisch auf.
Das README demonstriert das an einem Zwei-Schritte-Experiment: Ein Schritt tokenisiert den TinyStories-Datensatz in ein Lazy-Handle, wobei zum Definitionszeitpunkt nichts heruntergeladen oder verarbeitet wird, der zweite trainiert ein kleines Modell auf dieser tokenisierten Ausgabe. Der Trainingsschritt referenziert den Datensatzschritt in seinem Argument und wird über StepRunner().run() nach dem Absenken ausgeführt. Der Datensatz wird erst materialisiert, wenn der Trainingsschritt ihn tatsächlich braucht; ein Parameter sample_count=1000 begrenzt die Stichproben und hält das Tutorial kurz.
TinyStories-Beispiel: vom Lazy-Handle bis zum Trainingslauf
Das vollständige Beispielskript im README importiert aus mehreren Modulen: fray.cluster für ResourceConfig, levanter.optim für AdamConfig, marin.execution.lazy für das Absenken, marin.execution.step_runner für den StepRunner sowie marin.experiment.data und marin.experiment.train für Tokenisierung und Training. Hinzu kommen ein Mini-Architekturmodul und eine Tokenizer-Ableitung aus dem experiments-Ordner.
Das Skript begrenzt die Stichproben, setzt eine kleine Batchgröße, eine Sequenzlänge von 2048 und eine begrenzte Zahl von Trainingsschritten mit einer Lernrate im unteren Bereich und Weight Decay; die Evaluierung eines so kleinen Modells wird als nicht aussagekräftig übergangen. ResourceConfig.with_cpu() erlaubt laut README den Lauf ganz ohne Beschleunigerhardware. Dasselbe Schrittmuster lässt sich auf größere Modelle, Datenquellenmischungen und sehr große GPU- oder TPU-Pods ausdehnen, bis hin zu Multislice-TPUs.
Delphi-Skalierungssammlung und Mixture-of-Experts-Forschung
Der aktuelle Schwerpunkt liegt laut README auf einem großen Mixture-of-Experts-Modell mit über 500 Milliarden Parametern, das mit moderat großem Modell-FLOP-Budget von Grund auf trainiert und nachtrainiert werden soll. Parallel dazu veröffentlicht das Projekt Delphi, eine offene Skalierungssammlung, die ein Sprachmodell-Rezept von kleineren zu großen FLOP-Budgets hochskaliert, inspiriert von Pythia.
Zu Delphi gehören laut README Checkpoints für jeden Lauf auf Hugging Face, Trainingsmischungspipelines, die die Mischung aus Nemotron-CC, StarCoderData und ProofPile 2 deterministisch reproduzieren, eine forkbare Rezeptklasse sowie ein Agent-Skill zur Skalierungsheuristik. Plotfertige Daten für die Delphi-Abbildungen liegen mit einem wandb_url-Eintrag pro Zeile bei; der Fortschritt wurde in GitHub-Issue 1337 verfolgt.
Bisherige Linien: 8B- und 32B-Modell sowie Blog-Erkenntnisse
Das README berichtet, dass Marin bereits ein 8B-Parametermodell trainiert hat, das auf der eigenen Benchmark-Suite besser abschnitt als Llama 3.1 8B, und verlinkt das Trainingsskript sowie ein Retrospective-Dokument zur direkten Prüfung. Ein Marin-32B-Modell ist ebenfalls aufgeführt. Diese Leistungsangaben sind Selbstangaben, die sich nur über die referenzierten Skripte und Berichte verifizieren lassen.
Aus der Arbeit sind laut README Erkenntnisse im Open-Athena-Blog gesammelt: Clusterscheduling über Iris, Effizienzsteigerungen beim Pretraining, Skalierungsgesetze, die über den Fit-Bereich hinaus extrapolieren, sowie Quantil-Balancing für Mixture-of-Experts-Modelle. Wer eine Trainingslinie nachvollziehen will, findet in den Reports unter docs/reports/ konkrete Auswertungen statt reiner Marketingaussagen.
Einstieg: Installation, Tutorials und Contributions
Einsteiger starten laut README bei der Installationsanleitung, trainieren danach ein kleines Sprachmodell im Tutorial first-experiment und stoßen anschließend auf das größere DCLM-1B/1x-Experiment. Eine Zusammenfassung der bisherigen Experimente liegt unter docs/reports/index.md, Community-Fragen klärt der Marin-Discord.
Für Mitwirkende liegen CONTRIBUTING.md sowie ladbare Agent-Skills unter .agents/skills/ und .claude/skills/ bereit, darunter ein Skill, der Schritt für Schritt erklärt, wie neue Datensätze ergänzt werden. Die Dokumentation existiert doppelt, auf ReadTheDocs und im docs/-Ordner des Repositories, sodass die Einstiegshürde über zwei Wege überwindbar bleibt.
Wann Marin zu viel voraussetzt: Hardware, Versionen und Alternativen
Marin ist kein Werkzeug für schnelle Einzellösungen. Die Delphi-Sammlung wurde auf der Google-TPU-Forschungscloud trainiert, das laufende MoE-Projekt plant ein Modell ab 500 Milliarden Parametern. Ohne solche Rechenressourcen bleibt das CPU-Tutorial, das aber nur zeigt, wie die Mechanik funktioniert. Dazu kommt: Das README nennt keine Versionsrichtlinie, und die Releases tragen Namen wie dev-wheels, marin-zephyr-latest und marin-rigging-latest statt durchgezählter Versionen. Für einen stabilen Produktionsbetrieb ist das eine Lücke, die ein Team vorher klären muss.
Als Alternative bleibt das direkte Skriptmodell üblicher PyTorch-Trainings: ein imperatives Skript, das Daten lädt und den Optimizer antreibt, ohne makefileartige Schritte. Das ist weniger vorhersehbar reproduzierbar, dafür einfacher zu verstehen und ohne Framework-Bindung zu betreiben. Wer die Schrittstruktur von Marin übernimmt, bekommt Reproduzierbarkeit und Pipeline-Wiederverwendung; wer nur schnell ein Modell trainieren will, kommt mit weniger System einfacher ans Ziel.
Redaktionelles Fazit
Marin eignet sich für Forschungsteams, die Foundation-Modelle von Grund auf trainieren und jeden Schritt inklusive Fehlversuche dokumentieren wollen. Wer nur vorhandene Modelle feinjustiert, ist falsch aufgehoben, denn Marin zielt auf die komplette Pretraining-Pipeline samt Rechencluster. Vor der Übernahme lohnt der Durchlauf des TinyStories-Tutorials mit ResourceConfig.with_cpu() und ein Blick in die Experiment-Berichte zum 8B-Modell; die Apache-2.0-Lizenz erlaubt Nutzung und Anpassung, inklusive Patentlizenz, ohne Garantieübernahmen.
Community-Notizen