* feat: encourage py311 * fix: logging import on py310 * fix: do upper and simplify handling
171 lines
4.7 KiB
Plaintext
171 lines
4.7 KiB
Plaintext
---
|
|
title: "Installation"
|
|
format:
|
|
html:
|
|
toc: true
|
|
toc-depth: 3
|
|
number-sections: true
|
|
execute:
|
|
enabled: false
|
|
---
|
|
|
|
This guide covers all the ways you can install and set up Axolotl for your environment.
|
|
|
|
## Requirements {#sec-requirements}
|
|
|
|
- NVIDIA GPU (Ampere architecture or newer for `bf16` and Flash Attention) or AMD GPU
|
|
- Python ≥3.11
|
|
- PyTorch ≥2.5.1
|
|
|
|
## Installation Methods {#sec-installation-methods}
|
|
|
|
::: {.callout-important}
|
|
Please make sure to have Pytorch installed before installing Axolotl in your local environment.
|
|
|
|
Follow the instructions at: [https://pytorch.org/get-started/locally/](https://pytorch.org/get-started/locally/)
|
|
:::
|
|
|
|
::: {.callout-important}
|
|
For Blackwell GPUs, please use Pytorch 2.7.0 and CUDA 12.8.
|
|
:::
|
|
|
|
### PyPI Installation (Recommended) {#sec-pypi}
|
|
|
|
```{.bash}
|
|
pip3 install -U packaging setuptools wheel ninja
|
|
pip3 install --no-build-isolation axolotl[flash-attn,deepspeed]
|
|
```
|
|
|
|
We use `--no-build-isolation` in order to detect the installed PyTorch version (if
|
|
installed) in order not to clobber it, and so that we set the correct version of
|
|
dependencies that are specific to the PyTorch version or other installed
|
|
co-dependencies.
|
|
|
|
### uv Installation {#sec-uv}
|
|
|
|
uv is a fast, reliable Python package installer and resolver built in Rust. It offers significant performance improvements over pip and provides better dependency resolution, making it an excellent choice for complex environments.
|
|
|
|
Install uv if not already installed
|
|
```{.bash}
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
source $HOME/.local/bin/env
|
|
```
|
|
|
|
Choose your CUDA version to use with PyTorch; e.g. `cu124`, `cu126`, `cu128`,
|
|
then create the venv and activate
|
|
```{.bash}
|
|
export UV_TORCH_BACKEND=cu126
|
|
uv venv --no-project --relocatable
|
|
source .venv/bin/activate
|
|
```
|
|
|
|
Install PyTorch
|
|
- PyTorch 2.6.0 recommended
|
|
```{.bash}
|
|
uv pip install packaging setuptools wheel
|
|
uv pip install torch==2.6.0
|
|
uv pip install awscli pydantic
|
|
```
|
|
|
|
Install axolotl from PyPi
|
|
```{.bash}
|
|
uv pip install --no-build-isolation axolotl[deepspeed,flash-attn]
|
|
|
|
# optionally install with vLLM if you're using torch==2.6.0 and want to train w/ GRPO
|
|
uv pip install --no-build-isolation axolotl[deepspeed,flash-attn,vllm]
|
|
```
|
|
|
|
### Edge/Development Build {#sec-edge-build}
|
|
|
|
For the latest features between releases:
|
|
|
|
```{.bash}
|
|
git clone https://github.com/axolotl-ai-cloud/axolotl.git
|
|
cd axolotl
|
|
pip3 install -U packaging setuptools wheel ninja
|
|
pip3 install --no-build-isolation -e '.[flash-attn,deepspeed]'
|
|
```
|
|
|
|
### Docker {#sec-docker}
|
|
|
|
```{.bash}
|
|
docker run --gpus '"all"' --rm -it axolotlai/axolotl:main-latest
|
|
```
|
|
|
|
For development with Docker:
|
|
|
|
```{.bash}
|
|
docker compose up -d
|
|
```
|
|
|
|
::: {.callout-tip}
|
|
### Advanced Docker Configuration
|
|
```{.bash}
|
|
docker run --privileged --gpus '"all"' --shm-size 10g --rm -it \
|
|
--name axolotl --ipc=host \
|
|
--ulimit memlock=-1 --ulimit stack=67108864 \
|
|
--mount type=bind,src="${PWD}",target=/workspace/axolotl \
|
|
-v ${HOME}/.cache/huggingface:/root/.cache/huggingface \
|
|
axolotlai/axolotl:main-latest
|
|
```
|
|
:::
|
|
|
|
::: {.callout-important}
|
|
For Blackwell GPUs, please use `axolotlai/axolotl:main-py3.11-cu128-2.7.0` or the cloud variant `axolotlai/axolotl-cloud:main-py3.11-cu128-2.7.0`.
|
|
:::
|
|
|
|
Please refer to the [Docker documentation](docker.qmd) for more information on the different Docker images that are available.
|
|
|
|
## Cloud Environments {#sec-cloud}
|
|
|
|
### Cloud GPU Providers {#sec-cloud-gpu}
|
|
|
|
For providers supporting Docker:
|
|
|
|
- Use `axolotlai/axolotl-cloud:main-latest`
|
|
- Available on:
|
|
- [Latitude.sh](https://latitude.sh/blueprint/989e0e79-3bf6-41ea-a46b-1f246e309d5c)
|
|
- [JarvisLabs.ai](https://jarvislabs.ai/templates/axolotl)
|
|
- [RunPod](https://runpod.io/gsc?template=v2ickqhz9s&ref=6i7fkpdz)
|
|
- [Novita](https://novita.ai/gpus-console?templateId=311)
|
|
|
|
### Google Colab {#sec-colab}
|
|
|
|
Use our [example notebook](../examples/colab-notebooks/colab-axolotl-example.ipynb).
|
|
|
|
## Platform-Specific Instructions {#sec-platform-specific}
|
|
|
|
### macOS {#sec-macos}
|
|
|
|
```{.bash}
|
|
pip3 install --no-build-isolation -e '.'
|
|
```
|
|
|
|
See @sec-troubleshooting for Mac-specific issues.
|
|
|
|
### Windows {#sec-windows}
|
|
|
|
::: {.callout-important}
|
|
We recommend using WSL2 (Windows Subsystem for Linux) or Docker.
|
|
:::
|
|
|
|
## Environment Managers {#sec-env-managers}
|
|
|
|
### Conda/Pip venv {#sec-conda}
|
|
|
|
1. Install Python ≥3.11
|
|
2. Install PyTorch: https://pytorch.org/get-started/locally/
|
|
3. Install Axolotl:
|
|
```{.bash}
|
|
pip3 install -U packaging setuptools wheel ninja
|
|
pip3 install --no-build-isolation -e '.[flash-attn,deepspeed]'
|
|
```
|
|
4. (Optional) Login to Hugging Face:
|
|
```{.bash}
|
|
huggingface-cli login
|
|
```
|
|
|
|
## Troubleshooting {#sec-troubleshooting}
|
|
|
|
If you encounter installation issues, see our [FAQ](faq.qmd) and [Debugging Guide](debugging.qmd).
|