Use this skill when working with Hugging Face Transformers library. Covers model loading, fine-tuning, LoRA/QLoRA adaptation, tokenizer usage, datasets processing, and Trainer API.
View on GitHubyxbian23/ai-research-claude-code
everything-claude-code
skills/transformers-workflow/SKILL.md
January 25, 2026
Select agents to install to:
npx add-skill https://github.com/yxbian23/ai-research-claude-code/blob/main/skills/transformers-workflow/SKILL.md -a claude-code --skill transformers-workflowInstallation paths:
.claude/skills/transformers-workflow/# Hugging Face Transformers Workflow
This skill provides comprehensive guidance for using the Hugging Face ecosystem for NLP and multimodal tasks.
## When to Activate
- Loading and using pretrained models
- Fine-tuning language models
- Applying LoRA/QLoRA for efficient training
- Processing datasets with the datasets library
- Using the Trainer API
## Model Loading Patterns
### Basic Model Loading
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
# Load model and tokenizer
model_name = "meta-llama/Llama-2-7b-hf"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto",
)
```
### Loading with Quantization
```python
from transformers import BitsAndBytesConfig
# 4-bit quantization config
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_use_double_quant=True,
)
model = AutoModelForCausalLM.from_pretrained(
model_name,
quantization_config=bnb_config,
device_map="auto",
)
```
### Loading for Vision-Language Models
```python
from transformers import LlavaForConditionalGeneration, AutoProcessor
model = LlavaForConditionalGeneration.from_pretrained(
"llava-hf/llava-1.5-7b-hf",
torch_dtype=torch.float16,
device_map="auto",
)
processor = AutoProcessor.from_pretrained("llava-hf/llava-1.5-7b-hf")
```
## LoRA Fine-tuning
```python
from peft import LoraConfig, get_peft_model, prepare_model_for_kbit_training
# Prepare model for training
model = prepare_model_for_kbit_training(model)
# LoRA configuration
lora_config = LoraConfig(
r=16, # Rank
lora_alpha=32, # Alpha scaling
target_modules=["q_proj", "k_proj", "v_proj", "o_proj"],
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM",
)
# Apply LoRA
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
# Output: traina