# Where to Find Documentation for Marin: A Complete Guide to Tutorials, API Reference, and Developer Resources

> Find comprehensive documentation for Marin, including tutorials, API references, and developer resources, hosted on ReadTheDocs and within the marin-community/marin repository.

- Repository: [The Marin Project/marin](https://github.com/marin-community/marin)
- Tags: api-reference
- Published: 2026-08-27

---

**Marin’s documentation is hosted on ReadTheDocs at https://marin.readthedocs.io/en/latest/ and maintained as Markdown source files in the `docs/` directory of the marin-community/marin repository.**

The **documentation for Marin** is structured as a living knowledge base that mirrors the repository’s `docs/` folder. Whether you are installing the framework for the first time or architecting custom training pipelines, the docs provide searchable guides, architectural deep-dives, and runnable code examples sourced directly from the codebase.

## Online Documentation Site

The primary entry point for **documentation for Marin** is the hosted ReadTheDocs site. This searchable, full-content mirror automatically rebuilds whenever changes are pushed to the `main` branch, ensuring the tutorials and API explanations stay synchronized with the latest source code.

- **URL**: https://marin.readthedocs.io/en/latest/
- **Source**: `docs/` folder in marin-community/marin
- **Build trigger**: Updates deploy automatically after each commit to `docs/`

The site renders the same Markdown files found in the repository, so you can browse online for convenience or read the raw sources directly in GitHub.

## In-Repository Documentation Structure

All documentation lives under the repository’s `docs/` directory, organized by purpose. The root landing page is [`docs/index.md`](https://github.com/marin-community/marin/blob/main/docs/index.md), which aggregates the sidebar navigation and pulls introductory content from the top-level [`README.md`](https://github.com/marin-community/marin/blob/main/README.md) (specifically lines 10–13 where the "Learning more & using Marin" section links to the online docs).

### Key Documentation Files

| Section | Repository Path | Purpose |
|---------|----------------|---------|
| **Quick-start** | [`docs/tutorials/installation.md`](https://github.com/marin-community/marin/blob/main/docs/tutorials/installation.md) | Step-by-step local installation |
| **First experiment** | [`docs/tutorials/first-experiment.md`](https://github.com/marin-community/marin/blob/main/docs/tutorials/first-experiment.md) | Minimal training run with a tiny model |
| **Pipeline overview** | [`docs/explanations/lm-pipeline.md`](https://github.com/marin-community/marin/blob/main/docs/explanations/lm-pipeline.md) | Language-model workflow concepts |
| **Architecture** | [`docs/design/marin-service-architecture.md`](https://github.com/marin-community/marin/blob/main/docs/design/marin-service-architecture.md) | Service discovery, resolvers, and internal design |
| **Developer guide** | `docs/dev-guide/` | Contributing guidelines and doc builds |
| **Project overview** | [`README.md`](https://github.com/marin-community/marin/blob/main/README.md) | High-level description and entry links |

These files constitute the complete **documentation for Marin**, accessible either through the ReadTheDocs interface or by cloning the repository and reading the Markdown directly.

## Getting Started with Marin

New users should follow the sequential tutorials located in `docs/tutorials/`. These guides walk through environment setup, dataset tokenization, and the step-based execution model that underpins the framework.

### Installation Guide

The [`docs/tutorials/installation.md`](https://github.com/marin-community/marin/blob/main/docs/tutorials/installation.md) file contains the definitive instructions for preparing a local development environment. It covers dependency management, virtual environment configuration, and validation steps to ensure the `marin` package imports correctly before you attempt training.

### First Experiment Tutorial

Once installed, run the minimal example from [`docs/tutorials/first-experiment.md`](https://github.com/marin-community/marin/blob/main/docs/tutorials/first-experiment.md) (also reproduced in the README lines 85–122). This script demonstrates Marin’s lazy-evaluation pattern and step-based training API:

```python
from fray.cluster import ResourceConfig
from levanter.optim import AdamConfig
from marin.execution.lazy import lower
from marin.execution.step_runner import StepRunner
from marin.experiment.data import tokenized
from marin.experiment.train import train_lm

from experiments.llama import llama_nano
from experiments.marin_tokenizer import marin_tokenizer

# 1️⃣ Tokenise the dataset (lazy handle – no download yet)

tinystories_tokenized = tokenized(
    name="tokenized/tinystories",
    source="roneneldan/TinyStories",
    tokenizer=marin_tokenizer,
    sample_count=1_000,
)

# 2️⃣ Define the training step, dependent on the tokenised data

nano_tinystories_model = train_lm(
    name="checkpoints/marin-nano-tinystories",
    version="v1",
    model=llama_nano,
    optimizer=AdamConfig(learning_rate=6e-4, weight_decay=0.1),
    datasets={tinystories_tokenized: 1.0},
    batch_size=4,
    seq_len=2048,
    num_train_steps=100,
    resources=ResourceConfig.with_cpu(),
)

# 3️⃣ Run the pipeline

if __name__ == "__main__":
    StepRunner().run([lower(nano_tinystories_model)])

```

This example illustrates how Marin uses **lazy handles** (`tokenized`) and **step runners** to orchestrate distributed training without immediate execution until `StepRunner.run()` is invoked.

## Core Concepts and Architecture

Beyond tutorials, the **documentation for Marin** includes explanatory documents that detail the framework’s internal mechanics.

### Service Architecture Deep Dive

The [`docs/design/marin-service-architecture.md`](https://github.com/marin-community/marin/blob/main/docs/design/marin-service-architecture.md) file provides a comprehensive breakdown of Marin’s service model. It explains the resolution logic used for service discovery, detailing how the framework locates and binds distributed components. The "Resolution" section (lines 85–92) specifically describes the mechanism by which Marin resolves resource dependencies across cluster nodes.

### Language Model Pipeline

For understanding high-level workflows, [`docs/explanations/lm-pipeline.md`](https://github.com/marin-community/marin/blob/main/docs/explanations/lm-pipeline.md) outlines the standard patterns for data loading, tokenization, and model training. This document bridges the gap between the quick-start tutorials and the low-level API reference.

## Developer Resources

Contributors should consult `docs/dev-guide/` for instructions on building the documentation locally, running the test suite, and submitting pull requests. The developer guide index ([`docs/dev-guide/README.md`](https://github.com/marin-community/marin/blob/main/docs/dev-guide/README.md)) links to specific pages covering code style, commit conventions, and the Sphinx configuration used to generate the ReadTheDocs site.

## Summary

- The canonical **documentation for Marin** lives at https://marin.readthedocs.io/en/latest/ and is generated from the `docs/` folder in marin-community/marin.
- Tutorials in `docs/tutorials/` provide sequential learning paths, starting with [`installation.md`](https://github.com/marin-community/marin/blob/main/installation.md) and progressing to [`first-experiment.md`](https://github.com/marin-community/marin/blob/main/first-experiment.md).
- Architectural details are documented in `docs/design/`, particularly the service-resolution logic in [`marin-service-architecture.md`](https://github.com/marin-community/marin/blob/main/marin-service-architecture.md).
- The repository’s [`README.md`](https://github.com/marin-community/marin/blob/main/README.md) (lines 10–13) serves as the high-level entry point, linking to both the online docs and in-repo Markdown sources.

## Frequently Asked Questions

### Where is the official Marin documentation hosted?

The official **documentation for Marin** is hosted on ReadTheDocs at https://marin.readthedocs.io/en/latest/. This site is automatically generated from the Markdown files stored in the `docs/` directory of the marin-community/marin repository, ensuring that every commit to `main` updates the public reference.

### How do I install Marin for local development?

Follow the step-by-step instructions in [`docs/tutorials/installation.md`](https://github.com/marin-community/marin/blob/main/docs/tutorials/installation.md). This guide covers environment setup, dependency installation, and verification steps required before running your first training script.

### What is the fastest way to run a first experiment with Marin?

Run the minimal example in [`docs/tutorials/first-experiment.md`](https://github.com/marin-community/marin/blob/main/docs/tutorials/first-experiment.md). The script tokenizes 1,000 samples from TinyStories, configures a nano-sized Llama model, and executes 100 training steps using `StepRunner`, demonstrating Marin’s lazy-execution pattern in under five minutes.

### How is the Marin documentation site generated?

The ReadTheDocs site builds automatically from the `docs/` folder using Sphinx. When you push changes to Markdown files in marin-community/marin, the CI pipeline triggers a new build, rendering the updated tutorials and architecture guides within minutes.