Claude
Skills
Sign in
Back

fine-tuning

Included with Lifetime
$97 forever

Fine-tuning pre-trained machine learning models for specific tasks using transfer learning techniques.

Generalfine-tuningmlaimlops

What this skill does


# fine-tuning

## Purpose
This skill enables fine-tuning of pre-trained ML models using transfer learning, adapting them to specific tasks like text classification or image recognition. It leverages OpenClaw's AIMLOps framework to optimize training loops and resource usage.

## When to Use
Use this skill when you have a pre-trained model (e.g., BERT for NLP) and a custom dataset that requires adaptation, such as sentiment analysis on domain-specific text. Apply it for tasks where training from scratch is inefficient, like in production environments with limited data.

## Key Capabilities
- Fine-tune models with techniques like gradient checkpointing for memory efficiency.
- Support for popular frameworks: Hugging Face Transformers, TensorFlow, and PyTorch.
- Hyperparameter tuning via integrated tools, e.g., learning rate schedulers.
- Distributed training across GPUs or cloud instances.
- Model evaluation metrics like accuracy, F1-score, and loss tracking.

## Usage Patterns
Start by preparing your dataset and model. Load data into a compatible format (e.g., JSONL for text), then invoke the fine-tuning command. Monitor progress via logs or callbacks. For pipelines, integrate as a step in AIMLOps workflows, ensuring data preprocessing precedes fine-tuning.

## Common Commands/API
Use the OpenClaw CLI for quick execution or the REST API for programmatic access. Authentication requires setting `$OPENCLAW_API_KEY` as an environment variable.

- **CLI Command Example**: Fine-tune a BERT model on a dataset.
  ```
  openclaw fine-tune --model bert-base-uncased --data-path ./data.jsonl --epochs 3 --batch-size 16 --learning-rate 5e-5
  ```
  This command loads the model, trains for 3 epochs, and saves outputs to the current directory.

- **API Endpoint**: POST to `/api/v1/fine-tune` with a JSON body.
  Example request body:
  ```
  {
    "model_id": "bert-base-uncased",
    "dataset_url": "s3://my-bucket/data.jsonl",
    "epochs": 3,
    "hyperparameters": {"learning_rate": 5e-5, "batch_size": 16}
  }
  ```
  Send via curl: `curl -X POST -H "Authorization: Bearer $OPENCLAW_API_KEY" -d '{"model_id": "bert-base-uncased", ...}' https://api.openclaw.ai/api/v1/fine-tune`

- **Config Format**: Use YAML for configuration files.
  Example snippet:
  ```
  model: bert-base-uncased
  data:
    path: ./data.jsonl
    format: jsonl
  training:
    epochs: 3
    optimizer: adamw
  ```
  Pass to CLI: `openclaw fine-tune --config config.yaml`

## Integration Notes
Integrate with other OpenClaw skills by chaining outputs; for example, use the "data-preprocessing" skill to prepare datasets before fine-tuning. For cloud setups, specify providers like AWS in configs (e.g., add `"provider": "aws"` in JSON). Handle dependencies by installing required packages via `pip install transformers==4.28.0 torch==1.13.1`. Ensure compatibility with AIMLOps clusters by setting env vars like `$OPENCLAW_CLUSTER_ID`.

## Error Handling
Check for common errors like invalid model IDs or data format mismatches. Use try-catch in scripts:
```
try:
    response = requests.post('https://api.openclaw.ai/api/v1/fine-tune', headers={'Authorization': f'Bearer {os.environ["OPENCLAW_API_KEY"]}'}, json=payload)
    response.raise_for_status()
except requests.exceptions.HTTPError as e:
    print(f"Error: {e.response.status_code} - {e.response.text}")
```
Log detailed errors with `--verbose` flag in CLI (e.g., `openclaw fine-tune --verbose`). For GPU issues, verify availability with `nvidia-smi` before running.

## Concrete Usage Examples
1. **Fine-Tuning for Sentiment Analysis**: Adapt BERT for movie reviews.
   - Prepare data: Save reviews in JSONL format.
   - Run: `openclaw fine-tune --model bert-base-uncased --data-path reviews.jsonl --epochs 5 --output-dir ./models`
   - This trains the model and saves checkpoints; evaluate with `openclaw evaluate --model-path ./models/checkpoint-5`

2. **Fine-Tuning Image Classifier**: Use a pre-trained ResNet for custom images.
   - Dataset: Organize images in folders (e.g., train/class1/*.jpg).
   - Command: `openclaw fine-tune --model resnet50 --data-path ./image_dataset --epochs 10 --batch-size 32`
   - Integrate: Follow with deployment via OpenClaw's "model-serving" skill for inference.

## Graph Relationships
- Relates to: "data-preprocessing" (input dependency for dataset handling)
- Relates to: "model-evaluation" (output for performance metrics)
- Relates to: "aimlops-deployment" (for post-fine-tuning model serving)
- Clusters with: "aimlops" (shared ecosystem for ML operations)

Related in General