|
|
--- |
|
|
description: Set up conda environment for LLM fine-tuning |
|
|
tags: [python, conda, llm, fine-tuning, ai, development, project, gitignored] |
|
|
--- |
|
|
|
|
|
You are helping the user set up a conda environment for LLM fine-tuning. |
|
|
|
|
|
## Process |
|
|
|
|
|
1. **Create base environment** |
|
|
```bash |
|
|
conda create -n llm-finetune python=3.11 -y |
|
|
conda activate llm-finetune |
|
|
``` |
|
|
|
|
|
2. **Install PyTorch with ROCm** |
|
|
```bash |
|
|
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.0 |
|
|
``` |
|
|
|
|
|
3. **Install core fine-tuning libraries** |
|
|
|
|
|
**Hugging Face ecosystem:** |
|
|
```bash |
|
|
pip install transformers |
|
|
pip install datasets |
|
|
pip install accelerate |
|
|
pip install evaluate |
|
|
pip install peft # Parameter-Efficient Fine-Tuning |
|
|
pip install bitsandbytes # Quantization (may need special build for ROCm) |
|
|
``` |
|
|
|
|
|
**Training frameworks:** |
|
|
```bash |
|
|
pip install trl # Transformer Reinforcement Learning |
|
|
pip install deepspeed # Distributed training (if needed) |
|
|
``` |
|
|
|
|
|
4. **Install quantization and optimization tools** |
|
|
```bash |
|
|
pip install optimum |
|
|
pip install auto-gptq # GPTQ quantization |
|
|
pip install autoawq # AWQ quantization |
|
|
``` |
|
|
|
|
|
5. **Install evaluation and monitoring tools** |
|
|
```bash |
|
|
pip install wandb # Weights & Biases for experiment tracking |
|
|
pip install tensorboard |
|
|
pip install rouge-score # Text evaluation |
|
|
pip install sacrebleu # Translation metrics |
|
|
``` |
|
|
|
|
|
6. **Install data processing tools** |
|
|
```bash |
|
|
pip install pandas |
|
|
pip install numpy |
|
|
pip install scipy |
|
|
pip install scikit-learn |
|
|
pip install nltk |
|
|
pip install spacy |
|
|
``` |
|
|
|
|
|
7. **Install specialized fine-tuning tools** |
|
|
```bash |
|
|
pip install axolotl # LLM fine-tuning framework |
|
|
pip install unsloth # Fast fine-tuning (if compatible with ROCm) |
|
|
pip install qlora # Quantized LoRA |
|
|
``` |
|
|
|
|
|
8. **Install Jupyter for interactive work** |
|
|
```bash |
|
|
conda install -c conda-forge jupyter jupyterlab ipywidgets -y |
|
|
``` |
|
|
|
|
|
9. **Create example fine-tuning script** |
|
|
- Offer to create `~/scripts/llm-finetune-example.py` with basic LoRA setup |
|
|
|
|
|
10. **Test installation** |
|
|
```python |
|
|
import torch |
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
from peft import LoraConfig, get_peft_model |
|
|
|
|
|
print(f"PyTorch: {torch.__version__}") |
|
|
print(f"GPU available: {torch.cuda.is_available()}") |
|
|
print("All libraries imported successfully!") |
|
|
``` |
|
|
|
|
|
11. **Create resource estimation script** |
|
|
- Offer to create script to estimate VRAM needs for different model sizes |
|
|
|
|
|
12. **Suggest popular models for fine-tuning** |
|
|
- Llama 3.2 (3B, 8B) |
|
|
- Mistral 7B |
|
|
- Qwen 2.5 (7B, 14B) |
|
|
- Phi-3 (3.8B) |
|
|
|
|
|
## Output |
|
|
|
|
|
Provide a summary showing: |
|
|
- Environment name and setup status |
|
|
- Installed libraries grouped by purpose |
|
|
- GPU detection status |
|
|
- VRAM available for training |
|
|
- Suggested model sizes for available hardware |
|
|
- Example command to start fine-tuning |
|
|
- Links to documentation/tutorials |
|
|
|