felafax
Project description
Felafax -- tune LLaMa3.1 on Google Cloud TPUs for 30% lower cost and scale seamlessly!
RoadRunnerX is a framework for continued-training and fine-tuning open source LLMs using XLA runtime. We take care of necessary runtime setup and provide a Jupyter notebook out-of-box to just get started.
- Easy to use.
- Easy to configure all aspects of training (designed for ML researchers and hackers).
- Easy to scale training from a single TPU VM with 8 cores to entire TPU Pod containing 6000 TPU cores (1000X)!
Goal
Our goal at felafax is to build infra to make it easier to run AI workloads on non-NVIDIA hardware (TPU, AWS Trainium, AMD GPU, and Intel GPU).
Currently supported models
-
LLaMa-3.1 JAX Implementation $${\color{red}New!}$$
- Converted from PyTorch to JAX for improved performance
- By default, runs 2-way data parallel and 2-way model parallel training (2 data parallel model copies and each model copy is sharded across two TPU chips).
- Compatible with NVIDIA GPUs and TPUs
- Full-precision training support
-
LLaMa-3/3.1 PyTorch XLA
- LoRA and full-precision training support
-
Gemma2 Models (2B, 9B, 27B)
- Optimized for Cloud TPUs
- Fast full-precision training
Setup
For a hosted version with a seamless workflow, please request access here. Here is a demo of our platform (demo) 🦊.
If you prefer a self-hosted training version, follow the instructions below. These steps will guide you through launching a TPU VM on your Google Cloud account and starting a Jupyter notebook. With just 3 simple steps, you'll be up and running in under 10 minutes. 🚀
-
Install gcloud command-line tool and authenticate your account (SKIP this STEP if you already have gcloud installed and have used TPUs before! 😎)
# Download gcloud CLI curl https://sdk.cloud.google.com | bash source ~/.bashrc # Authenticate gcloud CLI gcloud auth login # Create a new project for now gcloud projects create LLaMa3-tunerX --set-as-default # Config SSH and add gcloud compute config-ssh --quiet # Set up default credentials gcloud auth application-default login # Enable Cloud TPU API access gcloud services enable compute.googleapis.com tpu.googleapis.com storage-component.googleapis.com aiplatform.googleapis.com
-
Spin up a TPU v5-8 VM 🤠.
sh ./launch_tuner.shKeep an eye on the terminal -- you might be asked to input SSH key password and need to put in your HuggingFace token.
-
Clone the repo and install dependencies
git clone https://github.com/felafax/felafax.git cd felafax pip install -r requirements.txt
-
Open the Jupyter notebook at
https://localhost:888and start fine-tuning!
Credits:
- Google Deepmind's Gemma repo.
- EasyLM for great work on llama models in JAX
- PyTorch XLA FSDP and SPMD testing done by HeegyuKim.
- Examples from PyTorch-XLA repo.
Contact
If you have any questions, please contact us at founders@felafax.ai.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file felafax-1.0.9.tar.gz.
File metadata
- Download URL: felafax-1.0.9.tar.gz
- Upload date:
- Size: 34.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.9 Darwin/22.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad2d97289bbb668aa10069f97989dcf1e8823ae25c755dd2aa1b38d01e0775c3
|
|
| MD5 |
9978c1ba67d44f1d25db03f40b8bc9b5
|
|
| BLAKE2b-256 |
cb3822a2d8a0f6b569b0038c6bfd3a68be015649af909e674f61241ea2a908e3
|
File details
Details for the file felafax-1.0.9-py3-none-any.whl.
File metadata
- Download URL: felafax-1.0.9-py3-none-any.whl
- Upload date:
- Size: 40.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.9 Darwin/22.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
449365538f8a7e405bff3edf8f7ddfc26d0f5f9a359fa8022fc47a364ac9d154
|
|
| MD5 |
4e1d99e882e39331500f54cbf0943e86
|
|
| BLAKE2b-256 |
ca67c9cea47addae48b08160777f9e88f50432ed733689c491ee2645a2162885
|