Trackio documentation

Tích hợp RapidFire AI

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Tích hợp RapidFire AI

RapidFire AI cho phép thử nghiệm nhanh để tùy chỉnh AI dễ dàng, nhanh chóng và hiệu quả hơn. Nó được xây dựng cho agentic RAG, kỹ thuật ngữ cảnh, fine-tuning và post-training của LLMs cùng các mô hình DL khác, mang lại thông lượng cao hơn 16-24 lần mà không cần thêm tài nguyên. Nó hỗ trợ hai trường hợp sử dụng chính:

  • Chỉnh huấn luyện và huấn luyện hậu kỳ: So sánh tốc độ học, cấu hình LoRA, kích thước lô và các siêu tham số huấn luyện khác
  • Tối ưu hóa RAG: Đánh giá các chiến lược phân mảnh, mô hình nhúng, phương pháp truy xuất và cài đặt xếp hạng lại

Khi chạy các thí nghiệm, bạn thường có nhiều cấu hình được thực thi đồng thời. RapidFire AI cung cấp tích hợp Trackio bản địa để theo dõi và trực quan hóa tất cả các lần chạy này với cấu hình tối thiểu.

Cài đặt

Trackio được bao gồm như một phụ thuộc của RapidFire AI:

pip install rapidfireai

Cấu hình

Bật Trackio làm backend theo dõi bằng cách đặt các biến môi trường trước khi import các thành phần của 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"

Bạn cũng có thể đặt tên dự án Trackio:

export TRACKIO_PROJECT_NAME="my-experiment"

Ví dụ về Fine-Tuning

Để xem các ví dụ hoạt động hoàn chỉnh, hãy xem các notebook hướng dẫn:

Dưới đây là một ví dụ tối giản về việc chạy một thí nghiệm tinh chỉnh với theo dõi 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
)

Ví dụ Tối ưu hóa RAG

Để xem các ví dụ hoạt động hoàn chỉnh, hãy xem các notebook hướng dẫn:

RapidFire AI cũng hỗ trợ tối ưu hóa pipeline RAG. Bật theo dõi Trackio theo cách tương tự:

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,
)

Những gì được theo dõi

RapidFire AI tự động ghi log các mục sau vào Trackio:

Chỉ số tinh chỉnh:

  • loss, learning_rate, epoch, step - Tiến độ huấn luyện
  • eval_loss - Loss kiểm định
  • Các chỉ số tùy chỉnh từ hàm compute_metrics của bạn (ví dụ: rougeL, bleu)

Các chỉ số đánh giá RAG:

  • Các chỉ số truy xuất: Precision, Recall, F1 Score, NDCG@K, MRR
  • Chỉ số tạo: Các chỉ số tùy chỉnh do bạn định nghĩa (ví dụ: Accuracy)

Cấu hình chạy:

  • Tất cả các siêu tham số cho mỗi lần chạy
  • Cài đặt mô hình, cấu hình LoRA, chiến lược chia nhỏ, v.v.

Xem Bảng điều khiển

Mở bảng điều khiển Trackio để trực quan hóa các thí nghiệm của bạn:

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

Hoặc từ Python:

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

Bảng điều khiển hiển thị các đường cong huấn luyện theo thời gian thực cho tất cả các lần chạy của bạn, giúp dễ dàng so sánh các cấu hình cạnh nhau:

Trackio dashboard showing RapidFire AI fine-tuning metrics

Bảng điều khiển Trackio so sánh 4 lần chạy fine-tuning với các siêu tham số khác nhau. Các biểu đồ hiển thị loss huấn luyện, loss kiểm định, lịch trình learning rate và điểm ROUGE-L—giúp dễ dàng xác định cấu hình nào (Run 4, màu cam) đạt loss thấp nhất và chất lượng sinh tốt nhất.

Tài liệu:

Update on GitHub