Allgemeine Einführung
TinyZero ist ein veRL-basiertes Modell für verstärkendes Lernen, das entwickelt wurde, um die DeepSeeK-R1 Zeros Leistung bei Countdown- und Multiplikationsaufgaben. Erstaunlicherweise erreicht das Projekt die gleichen Erkenntnisse wie DeepSeeK-R1 Zero bei laufenden Kosten von nur 30 $ (weniger als 5 Stunden mit 2xH200 zu 6,4 $ pro Stunde). Durch Reinforcement Learning (RL) ist das 3B Base Language Model (LM) in der Lage, selbstständig Selbstvalidierungs- und Suchfunktionen zu entwickeln. Die Benutzer können die Leistungsfähigkeit und Innovation von TinyZero durch einen einfachen Einrichtungs- und Trainingsprozess erleben.
Funktionsliste
- Countdown-AufgabeUnterstützung von Datenaufbereitungs- und Trainingsprozessen, damit die Modelle bei Countdown-Aufgaben lernen können.
- MultiplikationsaufgabenUnterstützung von Datenaufbereitung und Trainingsprozessen, damit die Modelle bei Multiplikationsaufgaben lernen können.
- Unterstützung für einzelne GPUsFür Modellparameter, die kleiner oder gleich 1,5B sind.
- Multi-GPU-UnterstützungModelle, die auf größere Parameter anwendbar sind, sind in der Lage, ausgefeilte Argumentationsfähigkeiten zu entwickeln.
- Ablation anweisenExperimente zur Unterstützung des QWen-2.5-3B Instruct-Modells.
- Tools zur QualitätsverbesserungZu den Werkzeugen gehören flash-attn, wandb, IPython und matplotlib, um das Modelltraining und die Nutzung zu verbessern.
Hilfe verwenden
Ablauf der Installation
- Erstellen Sie eine virtuelle Umgebung:
conda create -n zero python=3.9
- Installieren Sie PyTorch (optional):
pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu121
- Installieren Sie vllm:
pip3 install vllm==0.6.3
- Strahl installieren:
pip3 installieren ray
- Installieren Sie verl:
pip install -e .
- Installieren Sie flash-attn:
pip3 install flash-attn --no-build-isolation
- Installation von Tools zur Qualitätsverbesserung:
pip install wandb IPython matplotlib
Funktion Betriebsablauf
Countdown-Aufgabe
- Aufbereitung der Daten:
conda null aktivieren python . /examples/data_preprocess/countdown.py --local_dir {pfad_zu_ihrem_datensatz}
- Ausbildungsprozess:
conda null aktivieren exportieren N_GPUS=1 export BASE_MODEL={Pfad_zu_Ihrem_Modell} export DATA_DIR={Pfad_zu_Ihrem_Datensatz} export ROLLOUT_TP_SIZE=1 export EXPERIMENT_NAME=countdown-qwen2.5-0.5b export VLLM_ATTENTION_BACKEND=XFORMERS bash . /scripts/train_tiny_zero.sh
3B+ Modellschulung
- Aufbereitung der Daten:
conda null aktivieren python examples/data_preprocess/countdown.py --template_type=qwen-instruct --local_dir={path_to_your_dataset}
- Ausbildungsprozess:
conda null aktivieren exportieren N_GPUS=2 export BASE_MODEL={Pfad_zu_Ihrem_Modell} export DATA_DIR={Pfad_zu_Ihrem_Datensatz} export ROLLOUT_TP_SIZE=2 export EXPERIMENT_NAME=countdown-qwen2.5-3b-instruct export VLLM_ATTENTION_BACKEND=XFORMERS bash . /scripts/train_tiny_zero.sh