Kithara - Easy Finetuning on TPUs
👋 Overview
Kithara is a lightweight library offering building blocks and recipes for tuning popular open source LLMs including Gemma2 and Llama3 on Google TPUs.
It provides:
- Frictionless scaling: Distributed training abstractions intentionally built with simplicity in mind.
- Multihost training support: Integration with Ray, GCE and GKE.
- Async, distributed checkpointing: Multi-host & Multi-device checkpointing via Orbax.
- Distributed, streamed dataloading: Per-process, streamed data loading via Ray.data.
- GPU/TPU fungibility: Same code works for both GPU and TPU out of the box.
- Native integration with HuggingFace: Tune and save models in HuggingFace format.
New to TPUs?
Using TPUs provides significant advantages in terms of performance, cost-effectiveness, and scalability, enabling faster training times and the ability to work with larger models and datasets. Check out our onboarding guide to getting TPUs.
🔗 Key links and resources
| 📚 Documentation | Read Our Docs |
| 💾 Installation | Quick Pip Install |
| ✏️ Get Started | Intro to Kithara |
| 🌟 Supported Models | List of Models |
| 🌐 Supported Datasets | List of Data Formats |
| ⌛️ Performance Optimizations | Our Memory and Throughput Optimizations |
| 📈 Scaling up | Guide for Tuning Large Models |
🌵 Examples
-
Quick Start Colab Notebook: SFT + LoRA with Gemma2-2b
-
SFT + LoRA: Step by Step Example
-
Continued Pretraining: Step by Step Example
Metadata
Release files for kithara 0.0.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kithara-0.0.10.tar.gz | 8.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kithara-0.0.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.4 MB
Release files / kithara-0.0.10.tar.gz
| Download URL | kithara-0.0.10.tar.gz |
|---|---|
| Size | 8.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a82c91d086994b85598c9933fe31ccc4243a1ecdb6bd61bc1a6e9db8f21d1ec
|
|
BLAKE2b-256 checksum How to use checksums |
2508788b68de8acc9c504ed0a2681bb88e4e5e38d71740a9af416b6a1036b0dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|
Release files / kithara-0.0.10-py3-none-any.whl
| Download URL | kithara-0.0.10-py3-none-any.whl |
|---|---|
| Size | 8.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b66fccf73853017e0dfcfe6c53a3318f2976669eed1e81ba9be34af1c3f869c2
|
|
BLAKE2b-256 checksum How to use checksums |
1edf77f4c3dbda0b4cc48a7220a361c2584b2255827be410e39037c1cd6a36af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|