
[Website] • [Papier] • [? HF -Modelle] • [? Github]
[? Twitter] • [Reddit] • [? Inoffizieller Blog]
Repo für "Tora: Ein mit Werkzeug integriertes Argumentationsmittel für die mathematische Problemlösung" [ICLR'2024]

Abbildung 1: Vergleichen Sie Tora mit Baselines auf Lama-2-Basismodellen von 7b bis 70b.
Tora ist eine Reihe von Werkzeugen, die mit Werkzeugen integriert wurden, um herausfordernde Probleme mit mathematischen Argumentation durch Interaktion mit Tools, z. B. Berechnungsbibliotheken und symbolischen Löser zu lösen. Die TORA -Serie integrieren nahtlos das Argumentieren der natürlichen Sprache in die Verwendung externer Werkzeuge, wodurch die analytische Fähigkeiten der Sprache und die Recheneffizienz externer Werkzeuge zusammengefasst werden.
| Modell | Größe | GSM8K | MATHE | AVG@10 Mathe -Aufgaben † † |
|---|---|---|---|---|
| GPT-4 | - - | 92.0 | 42,5 | 78,3 |
| GPT-4 (KAL) | - - | 94.2 | 51.8 | 86,4 |
| 7b | 68,8 | 40.1 | 62.4 | |
| 7b | 72.6 | 44,6 | 66,5 | |
| Tora-Code-7b + Selbstkonsistenz (K = 50) | 7b | 76,8 | 52,5 | - - |
| 13b | 72.7 | 43.0 | 65,9 | |
| 13b | 75,8 | 48.1 | 71.3 | |
| Tora-Code-13b + Selbstkonsistenz (K = 50) | 13b | 80.4 | 55.1 | - - |
| 34b | 80.7 | 51.0 | 74,8 | |
| Tora-Code-34b + Selbstkonsistenz (K = 50) | 34b | 85.1 | 60.0 | - - |
| 70b | 84.3 | 49,7 | 76,9 | |
| Tora-70b + Selbstkonsistenz (K = 50) | 70b | 88.3 | 56,9 | - - |
* Tora-Code-34b ist derzeit das erste und einzige Open-Source-Modell, das über 50% Genauigkeit (Pass@1) im Mathematikdatensatz erreicht wird, das das COT-Ergebnis von GPT-4 (51,0 gegenüber 42,5) erheblich übertrifft und mit GPT-4-Lösungsproblemen mit Programmen wettbewerbsfähig ist. Indem wir unsere Codes und Modelle Open-Sourcing haben, hoffen wir, dass weitere Durchbrüche kommen werden!
† 10 Math-Aufgaben umfassen GSM8K, Math, GSM-Hard, SVAMP, TABMWP, ASDIV, SingleEQ, SingleOP, AddSub und Multiarith.

Abbildung 2: Ein grundlegendes Beispiel für die Interaktion mit einer Rund-Tool, die Rationale mit programmbasiertem Tool-Gebrauch verringert.

Abbildung 3: Das Training Tora enthält ① Imitationslernen und ② Ausgangsraumformung.
Wir empfehlen, Conda zu verwenden, um Ihre Umgebung zu verwalten. Wir verwenden VLLM (0,1,4), um die Inferenz zu beschleunigen. Führen Sie die folgenden Befehle aus, um Ihre Umgebung einzurichten:
git clone https://github.com/microsoft/ToRA.git && cd ToRA/src
conda create -n tora python=3.10
conda activate tora
pip install packaging==22.0
pip install torch==2.0.1 --index-url https://download.pytorch.org/whl/cu118 # CUDA 11.8 for example
pip install -r requirements.txt Wir bieten ein Skript für Inferenz, konfigurieren Sie einfach die MODEL_NAME_OR_PATH und DATA in SRC/Skripten/infer.sh und führen Sie den folgenden Befehl aus:
bash scritps/infer.sh Wir haben auch die Modellausgänge aus unseren besten Modellen (Tora-Code-34b und Tora-70b) im src/outputs/ Ordner offen.
Die Datei src/eval/grader.py enthält die Bewertungslogik, die die Genauigkeit der vorhergesagten Antwort bewertet, indem sie sie mit der Grundwahrheit verglichen. Diese Logik wird basierend auf dem Math -Bewertungssystem der Hendrycks entwickelt, das wir im Mathematikdatensatz manuell verifiziert haben, um falsch -positive und falsche Negative zu minimieren.
Um die vorhergesagte Antwort zu bewerten, führen Sie den folgenden Befehl aus:
python -m eval.evaluate
--data_name " math "
--prompt_type " tora "
--file_path " outputs/llm-agents/tora-code-34b-v1.0/math/test_tora_-1_seed0_t0.0_s0_e5000.jsonl "
--executedann wirst du bekommen:
Num samples: 5000
Num scores: 5000
Timeout samples: 0
Empty samples: 2
Mean score: [51.0]
Type scores: {'Algebra': 67.3, 'Counting & Probability': 42.2, 'Geometry': 26.1, 'Intermediate Algebra': 40.0, 'Number Theory': 59.3, 'Prealgebra': 63.8, 'Precalculus': 34.2}
Wir werden derzeit eine interne Überprüfung durch Open-Source The Tora-Corpus-16K unterlegen, bleiben Sie dran! Wir haben auch unsere vollständigen Schulungsskripte für die Community offen und Sie können Ihren eigenen Datensatz für das Training erstellen. Wir geben einige Beispieldaten in Daten/Tora/an.
Führen Sie den folgenden Befehl aus, um ein Modell zu trainieren:
bash scripts/train.sh codellama 7bWenn Sie dieses Repository hilfreich finden, sollten Sie in unserem Papier zitieren:
@inproceedings{
gou2024tora,
title={To{RA}: A Tool-Integrated Reasoning Agent for Mathematical Problem Solving},
author={Zhibin Gou and Zhihong Shao and Yeyun Gong and yelong shen and Yujiu Yang and Minlie Huang and Nan Duan and Weizhu Chen},
booktitle={The Twelfth International Conference on Learning Representations},
year={2024},
url={https://openreview.net/forum?id=Ep0TtjVoap}
}
Dieses Projekt begrüßt Beiträge und Vorschläge. In den meisten Beiträgen müssen Sie einer Mitarbeiters Lizenzvereinbarung (CLA) zustimmen, in der Sie erklären, dass Sie das Recht haben und uns tatsächlich tun, um uns die Rechte zu gewähren, Ihren Beitrag zu verwenden. Weitere Informationen finden Sie unter https://cla.opensource.microsoft.com.
Dieses Projekt hat den Microsoft Open Source -Verhaltenscode übernommen. Weitere Informationen finden Sie im FAQ oder wenden Sie sich an [email protected] mit zusätzlichen Fragen oder Kommentaren.