Trackio documentation
تكامل RapidFire AI
تكامل 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"أو من بايثون:
import trackio
trackio.show(project="my-sft-experiment")يعرض لوحة التحكم منحنيات التدريب في الوقت الفعلي لجميع عمليات التشغيل الخاصة بك، مما يسهل مقارنة الإعدادات جنبًا إلى جنب:
لوحة تحكم Trackio لمقارنة أربع عمليات ضبط دقيق باستخدام معاملات فائقة مختلفة. تُظهر الرسوم البيانية خسارة التدريب، وخسارة التحقق، وجداول معدل التعلم، ودرجات ROUGE-L، مما يسهّل تحديد الإعداد (العملية 4، باللون البرتقالي) الذي يحقق أدنى خسارة وأفضل جودة توليد.
التوثيق:
- توثيق RapidFire AI - دليل البدء
- مستودع RapidFire AI على GitHub - الشيفرة المصدرية والدروس التعليمية