Vibeleaderboard
Index / tool
Category
AI Tools
Rank
No. 1427Tools index
Pricing
Open Source
Type
TOOL
GitHub
69 stars
Latest release
v0.2.0
Date

About

Multi-tenant fine-tuning framework for local LLMs with a Tinker-compatible API. Supports SFT and RL training.

What it does

TuFT runs a shared training service that accepts authenticated client requests, creates isolated sessions, performs LoRA updates, saves checkpoints, and serves generated samples. Users can connect to an existing server or start one inside a Python process from a model or YAML configuration.

Why it's ranked here

TuFT is compelling when several users need one programmable training service instead of separate scripts. Its strongest case is operational breadth: authenticated sessions, asynchronous jobs, checkpoint handling, optional Redis persistence, telemetry, embedded startup, container deployment, and cloud deployment helpers all share one client protocol.

What's good

The same client flow covers model discovery, training, optimizer updates, checkpoint saving, and sampling. API keys separate users, while configuration controls available models and storage. OpenTelemetry support covers traces, metrics, and logs. Optional Redis persistence records sessions and training metadata, with configuration checks guarding incompatible restored state.

Tradeoffs

The dependency stack is heavy and tightly constrained, including an exact PyTorch release, an exact vLLM release, and capped FastAPI and Tinker ranges. vLLM is installed only on Linux. Full backend setup adds GPU dependencies and FlashAttention, while the introductory example uses fake token IDs and leaves real tokenization to the user.

How to use it well

Choose TuFT for a team exposing shared GPU training through Tinker clients, especially when LoRA experiments must continue into checkpointed sampling. Start with the container or embedded mode, then add Redis and telemetry when operating a persistent service. It does not replace dataset preparation or tokenization, which remain client responsibilities.

Technical notes+

pyproject.toml packages TuFT with Hatchling, exposes tuft.cli:main, requires Python 3.11 through 3.14, pins Torch 2.11.0 and vLLM 0.24.0, and defines backend, persistence, examples, docs, and development extras. src/tuft/cli.py launches Uvicorn, loads YAML configuration, validates Redis configuration signatures, initializes telemetry, and exposes namespace-scoped persistence clearing. src/tuft/server.py builds the FastAPI application, applies API-key authentication, mounts an OpenAI-compatible router, queues model operations as futures, and manages service lifecycle resources. src/tuft/runtime/__init__.py discovers an existing service or starts an embedded server, then returns Tinker training and sampling clients. src/tuft/loss_fn/__init__.py registers cross-entropy, CISPO, DRO, importance-sampling, and PPO losses. src/tuft/console/console_server/main.py defines a separate FastAPI console server with configurable CORS.

Observed

Primary language
Python
Packaging
PyPI package built with Hatchling; source installation and a pre-built container image are documented
Interfaces
Typer CLI, Python library runtime, FastAPI HTTP service, Tinker-compatible API, and OpenAI-compatible router
Python support
Requires Python 3.11 or newer and earlier than Python 3.15
Platform constraint
The vLLM dependency is installed only on Linux; the one-command installer supports Unix platforms
Persistence and observability
Optional Redis persistence and OpenTelemetry traces, metrics, and logs

Read from README.md, pyproject.toml, src/tuft/cli.py, src/tuft/server.py, src/tuft/__init__.py, src/tuft/__main__.py, src/tuft/oai/__init__.py, src/tuft/loss_fn/__init__.py, src/tuft/runtime/__init__.py, src/tuft/backends/__init__.py, src/tuft/telemetry/__init__.py, src/tuft/persistence/__init__.py, src/tuft/console/console_server/main.py.

What it can do

  • Fine-tune local LLMs using supervised fine-tuning

    Local LLM model and training datasetFine-tuned LLM model

  • Fine-tune local LLMs using reinforcement learning training

    Local LLM model and RL training dataRL-trained LLM model

  • Manage multiple tenant fine-tuning jobs simultaneously

    Multiple fine-tuning requests from different tenantsIsolated fine-tuned models for each tenant

  • Provide Tinker-compatible API access for fine-tuning operations

    API requests in Tinker-compatible formatAPI responses with fine-tuning results

  • Process fine-tuning jobs on local infrastructure

    LLM models and training configurationsLocally fine-tuned models without external dependencies

Tags

fine-tuningllmtinkerlocal-llmsftrl

Tech Stack

Python

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.