Trackio documentation

Интеграция RapidFire AI

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Интеграция RapidFire AI

RapidFire AI позволяет быстро проводить эксперименты для более простой, быстрой и эффективной настройки ИИ. Платформа создана для агентного RAG, контекстной инженерии, дообучения и пост-обучения LLM и других моделей DL, обеспечивая повышение пропускной способности в 16–24 раза без дополнительных ресурсов. Поддерживаются два ключевых сценария использования:

  • Довыучивание и пост-обучение: сравнение скоростей обучения, конфигураций LoRA, размеров батчей и других гиперпараметров обучения
  • Оптимизация RAG: оцените стратегии разбиения на фрагменты, модели эмбеддингов, подходы к извлечению и настройки повторного ранжирования

При проведении экспериментов вы часто одновременно запускаете множество конфигураций. RapidFire AI обеспечивает нативную интеграцию с Trackio для отслеживания и визуализации всех этих запусков с минимальной настройкой.

Установка

Trackio входит в состав зависимостей RapidFire AI:

pip install rapidfireai

Конфигурация

Включите Trackio в качестве бэкенда отслеживания, задав переменные окружения перед импортом компонентов RapidFire:

import os

# Enable Trackio as the tracking backend
os.environ["RF_TRACKIO_ENABLED"] = "true"

# Optionally disable other tracking backends for standalone Trackio usage
os.environ["RF_MLFLOW_ENABLED"] = "false"
os.environ["RF_TENSORBOARD_ENABLED"] = "false"

Вы также можете задать имя проекта Trackio:

export TRACKIO_PROJECT_NAME="my-experiment"

Пример дообучения

Для полных рабочих примеров см. учебные ноутбуки:

Вот минимальный пример запуска эксперимента по дообучению с отслеживанием через Trackio:

import os
os.environ["RF_TRACKIO_ENABLED"] = "true"

from rapidfireai import Experiment
from rapidfireai.automl import RFGridSearch, RFModelConfig, RFLoraConfig, RFSFTConfig

experiment = Experiment(experiment_name="my-sft-experiment", mode="fit")

config = RFModelConfig(
    model_name="TinyLlama/TinyLlama-1.1B-Chat-v1.0",
    peft_config=RFLoraConfig(r=8, lora_alpha=16, target_modules=["q_proj", "v_proj"]),
    training_args=RFSFTConfig(
        learning_rate=1e-4,
        max_steps=128,
        logging_steps=2,
        eval_strategy="steps",
        eval_steps=4,
    ),
    model_type="causal_lm",
)

experiment.run_fit(
    RFGridSearch(configs=[config], trainer_type="SFT"),
    create_model_fn,
    train_dataset,
    eval_dataset,
    num_chunks=4
)

Пример оптимизации RAG

Для полных рабочих примеров см. учебные ноутбуки:

RapidFire AI также поддерживает оптимизацию RAG-конвейеров. Включите отслеживание Trackio тем же способом:

import os
os.environ["RF_TRACKIO_ENABLED"] = "true"

from rapidfireai import Experiment
from rapidfireai.evals.automl import List, RFGridSearch, RFLangChainRagSpec, RFvLLMModelConfig

experiment = Experiment(experiment_name="my-rag-experiment", mode="evals")

rag_spec = RFLangChainRagSpec(
    document_loader=your_document_loader,
    text_splitter=your_text_splitter,
    embedding_cls=your_embedding_class,
    search_kwargs={"k": List([5, 10])},  # 2 retrieval configs to compare
)

config_group = RFGridSearch({
    "vllm_config": RFvLLMModelConfig(rag=rag_spec, ...),
    "batch_size": 32,
    ...
})

experiment.run_evals(
    config_group=config_group,
    dataset=eval_dataset,
    num_actors=1,
    num_shards=4,
)

Что отслеживается

RapidFire AI автоматически записывает в Trackio следующие данные:

Метрики дообучения:

  • loss, learning_rate, epoch, step — прогресс обучения
  • eval_loss - Потери на валидации
  • Пользовательские метрики из вашей функции compute_metrics (например, rougeL, bleu)

Метрики оценки RAG:

  • Метрики поиска: Precision, Recall, F1 Score, NDCG@K, MRR
  • Метрики генерации: пользовательские метрики, которые вы определяете (например, Accuracy)

Конфигурация запуска:

  • Все гиперпараметры для каждого запуска
  • Настройки модели, конфигурации LoRA, стратегии разбиения на блоки и т. д.

Просмотр панели управления

Запустите панель Trackio для визуализации экспериментов:

trackio show --project "my-sft-experiment"

Или из Python:

import trackio
trackio.show(project="my-sft-experiment")

Панель управления отображает кривые обучения в реальном времени для всех ваших запусков, что позволяет легко сравнивать конфигурации бок о бок:

Trackio dashboard showing RapidFire AI fine-tuning metrics

Панель Trackio с сравнением четырёх прогонов дообучения с различными гиперпараметрами. Графики отображают потерю обучения, потерю валидации, расписания скорости обучения и метрики ROUGE-L, что позволяет легко определить, какая конфигурация (Run 4, оранжевым цветом) обеспечивает минимальную потерю и наилучшее качество генерации.

Документация:

Update on GitHub