
[ウェブサイト] • [紙] • [? HFモデル] • [? github]
[? Twitter] • [Reddit] •[?非公式のブログ]
「Tora:数学的問題解決のためのツール統合推論エージェント」のレポ

図1:7bから70bのLlama-2ベースモデルのベースラインとToraを比較します。
Toraは、ツールとの相互作用により、計算ライブラリやシンボリックソルバーなどと相互作用することにより、挑戦的な数学的推論の問題を解決するために設計された一連のツール統合推論エージェントです。 Toraシリーズは、自然言語の推論を外部ツールの利用とシームレスに統合し、それにより、言語の分析的能力と外部ツールの計算効率を和らげます。
| モデル | サイズ | GSM8K | 数学 | AVG@10 Math Tasks † |
|---|---|---|---|---|
| GPT-4 | - | 92.0 | 42.5 | 78.3 |
| GPT-4(PAL) | - | 94.2 | 51.8 | 86.4 |
| 7b | 68.8 | 40.1 | 62.4 | |
| 7b | 72.6 | 44.6 | 66.5 | |
| Tora-Code-7B +自己整合性(k = 50) | 7b | 76.8 | 52.5 | - |
| 13b | 72.7 | 43.0 | 65.9 | |
| 13b | 75.8 | 48.1 | 71.3 | |
| tora-code-13b +自己整合性(k = 50) | 13b | 80.4 | 55.1 | - |
| 34b | 80.7 | 51.0 | 74.8 | |
| tora-code-34b +自己整合性(k = 50) | 34b | 85.1 | 60.0 | - |
| 70b | 84.3 | 49.7 | 76.9 | |
| TORA-70B +自己整合性(k = 50) | 70b | 88.3 | 56.9 | - |
* Tora-Code-34Bは現在、Math Datasetの50%以上の精度(パス@1)を達成する最初で唯一のオープンソースモデルであり、GPT-4のCOT結果(51.0対42.5)を大幅に上回り、GPT-4がプログラムで問題を解決することで競合しています。コードとモデルをオープンソーシングすることで、より多くのブレークスルーが来ることを願っています!
† 10の数学タスクには、GSM8K、MATH、GSM-HARD、SVAMP、TABMWP、ASDIV、Singleeq、AddSub、およびMultiarithが含まれます。

図2:プログラムベースのツールの使用と合理的な根拠を挿入する単一ラウンドツール相互作用の基本的な例。

図3:トレーニングTORAには、Imitation Learning、および出力スペースの形成が含まれています。
Condaを使用して環境を管理することをお勧めします。 VLLM(0.1.4)を使用して推論を加速します。次のコマンドを実行して環境をセットアップします。
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推論のためのスクリプトを提供し、SRC/Scripts/dect.shでMODEL_NAME_OR_PATHとDATAを構成するだけで、次のコマンドを実行します。
bash scritps/infer.shまた、 src/outputs/フォルダーの最高のモデル(TORA-Code-34BおよびTORA-70B)からモデル出力をオープンソースします。
SRC/eval/grader.pyファイルには、それをグラウンドトゥルースと比較することにより、予測される答えの精度を評価するグレーディングロジックが含まれています。このロジックは、Hendrycksの数学グレーディングシステムに基づいて開発されています。これは、数学データセットで手動で検証され、偽の陽性と偽陰性を最小限に抑えました。
予測された答えを評価するには、次のコマンドを実行します。
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 "
--executeその後、あなたは得るでしょう:
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}
現在、Tora-Corpus-16Kをオープンソースするために内部レビューを受けています。また、コミュニティ向けの完全なトレーニングスクリプトをオープンソーシングし、トレーニング用の独自のデータセットを作成することができます。データ/TORA/のデータの例を提供します。
モデルをトレーニングするには、次のコマンドを実行します。
bash scripts/train.sh codellama 7bこのリポジトリが役立つ場合は、私たちの論文を引用することを検討してください。
@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}
}
このプロジェクトは、貢献と提案を歓迎します。ほとんどの貢献では、貢献者ライセンス契約(CLA)に同意する必要があります。詳細については、https://cla.opensource.microsoft.comをご覧ください。
このプロジェクトは、Microsoftのオープンソース行動規範を採用しています。詳細については、FAQのコードを参照するか、追加の質問やコメントについては[email protected]にお問い合わせください。