Web Analytics

s3

⭐ 731 stars Arabic by pat-jj

🌐 اللغة

s3 - تدريب وكيل البحث بكفاءة وفعالية عبر التعلم المعزز

لست بحاجة إلى الكثير من البيانات لتدريب وكيل بحث

arXiv

نظرة عامة على الأداء:

performance_overview

ما هو s3؟

framework

إطار عمل s3

s3 هو إطار عمل بسيط ولكنه قوي لتدريب وكلاء البحث في توليد المعلومات المدعومة بالاسترجاع (RAG). يعلم نماذج اللغة كيفية البحث بشكل أكثر فعالية - دون تغيير وحدة التوليد نفسها. من خلال التركيز فقط على عنصر البحث، يحقق s3 أداءً قويًا عبر مهام الأسئلة والأجوبة باستخدام جزء بسيط فقط من البيانات المستخدمة في الطرق السابقة. إنه معياري، فعال، ومصمم للعمل بسلاسة مع أي نموذج لغة كبير مغلق المصدر.

جدول المحتويات

📦 التثبيت

بيئة الباحث والمُولّد

conda create -n s3 python=3.9

install torch [or you can skip this step and let vllm to install the correct version for you]

pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu121

install vllm

pip3 install vllm==0.6.3 # or you can install 0.5.4, 0.4.2 and 0.3.1 pip3 install ray

verl

cd code

pip install -e .

flash attention 2

pip3 install flash-attn --no-build-isolation

we use pyserini for efficient retrieval and evaluation

pip install pyserini # the version we used is 0.22.1

quality of life

pip install wandb IPython matplotlib huggingface_hub
بيئة المسترجع

conda create -n ret python=3.10
conda activate ret

conda install pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=12.1 -c pytorch -c nvidia pip install transformers datasets pyserini conda install -c pytorch -c nvidia faiss-gpu=1.8.0 pip install uvicorn fastapi

💡 التحضير

تنزيل الفهرس والمجموعة

python scripts/download.py --save_path $save_path
cat $save_path/part_* > $save_path/e5_Flat.index
gzip -d $save_path/wiki-18.jsonl.gz

تهيئة RAG البسيطة مسبقة الحساب (أو يمكنك تنزيل بياناتنا المعالجة من هنا: huggingface)

# deploy retriever
bash scripts/deploy_retriever/retrieval_launch.sh # or scripts/deploy_retriever/retrieval_launch_mirage.sh for MedCorp corpus.

deploy generator

bash generator_llms/host.sh # modify tensor-parallel-size to the number of GPUs you use

run precompute

bash scripts/precompute.sh # this step will take a while, as it will precompute the naïve RAG Cache for training

🏋️ تشغيل التدريب

هذه الخطوة مخصصة لتدريب S3

# deploy retriever
bash scripts/deploy_retriever/retrieval_launch.sh 

deploy generator

bash generator_llms/host.sh

run training

bash scripts/train/train_s3.sh

🔍 تنفيذ البحث/الاسترجاع

هذه الخطوة مخصصة لجمع السياق لـ s3 / القيم الأساسية

s3

# deploy retriever
bash scripts/deploy_retriever/retrieval_launch.sh 

run s3 inference

bash scripts/s3_inference/evaluate-8-3-3.sh
خطوط الأساس

RAG

bash scripts/deploy_retriever/retrieval_launch.sh # or retrieval_launch_bm25.sh # deploy retriever
bash scripts/baselines/rag.sh # run RAG 
الاسترجاع العميق

bash retrieval_launch_bm25.sh # deploy BM25 Model
bash generator_llms/deepretrieval.sh # deploy DeepRetrieval Model
bash scripts/baselines/deepretrieval.sh # run DeepRetrieval Query Rewriting + Retrieval
بحث-R1

bash retrieval_launch.sh # deploy e5 retriever
bash scripts/baselines/search_r1.sh # run Search-R1
آي آر كوت (IRCoT)

bash retrieval_launch.sh # deploy e5 retriever
python scripts/baselines/ircot.py
بحث-o1

bash retrieval_launch.sh # deploy e5 retriever
bash scripts/baselines/search_o1.sh # run Search-o1

📈 تشغيل التقييم

هذه الخطوة مخصصة لتقييم s3 / الخطوط الأساسية

bash scripts/evaluation/run.sh

الأسئلة والأجوبة

بيانات مخصصة؟

إذا كنت ترغب في اختبار s3 على مجموعة البيانات/المحتوى الخاص بك، يمكنك الرجوع إلى هذا الالتزام لمعرفة ما يلزمك فعله لبناء خط الأنابيب الخاص بك: commit 8420538

إعادة إنتاج النتائج؟

تمكن العديد من المطورين بالفعل من إعادة إنتاج نتائجنا بنجاح. إذا كان لديك أي أسئلة أو واجهت مشكلات، لا تتردد في فتح قضية — يسعدنا تقديم إرشادات عملية (انظر هذا المثال).

على الرغم من أن إعادة إنتاج النموذج بنفسك أمر سهل — ونوصي فعلاً بالتدريب من البداية، لأن التقييم غالباً ما يستغرق وقتاً أطول بكثير من التدريب — فإننا نوفر أيضاً نقطة مرجعية: s3-8-3-3-20steps، تم تدريبها في حوالي ساعة واحدة.

الشكر والتقدير

نود أن نشكر المشاريع التالية: verl، RAGEN، Search-R1، DeepRetrieval، PySerini.

الاقتباس

@article{jiang2025s3,
  title={s3: You Don't Need That Much Data to Train a Search Agent via RL},
  author={Jiang, Pengcheng and Xu, Xueqiang and Lin, Jiacheng and Xiao, Jinfeng and Wang, Zifeng and Sun, Jimeng and Han, Jiawei},
  journal={arXiv preprint arXiv:2505.14146},
  year={2025}
}
شكرًا لاهتمامك بعملنا!

--- Tranlated By Open Ai Tx | Last indexed: 2025-10-06 ---