
[웹 사이트] • [종이] • [? HF 모델] • [? github]
[? 트위터] • [Reddit] • [? 비공식 블로그]
"Tora : 수학적 문제 해결을위한 도구 통합 추론 에이전트"에 대한 리포지토리 "[ICLR'2024]

그림 1 : LLAMA-2베이스 모델의 기준선과 TORA를 7B에서 70B의 비교.
Tora는 도구, 계산 라이브러리 및 상징적 솔버와 상호 작용하여 도전적인 수학적 추론 문제를 해결하도록 설계된 일련의 도구 통합 추론 에이전트입니다. Tora Series는 자연어 추론을 외부 도구의 활용과 완벽하게 통합하여 언어의 분석 능력과 외부 도구의 계산 효율성을 합병합니다.
| 모델 | 크기 | GSM8K | 수학 | AVG@10 수학 작업 † |
|---|---|---|---|---|
| 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는 현재 수학 데이터 세트에서 50% 이상의 정확도 (Pass@1)를 달성 한 최초이자 유일한 오픈 소스 모델이며, 이는 GPT-4의 COT 결과 (51.0 vs. 42.5)를 훨씬 능가하며 프로그램의 문제 해결 문제와 경쟁하고 있습니다. 코드와 모델을 오픈 소싱함으로써 우리는 더 많은 혁신이 오기를 희망합니다!
† 10 수학 작업에는 GSM8K, 수학, GSM-HARD, SVAMP, TABMWP, ASDIV, SILEEQ, SILEOP, ADDSUB 및 Multiarith가 포함됩니다.

그림 2 : 단일 라운드 툴 상호 작용의 기본 예는 프로그램 기반 도구 사용과 이론적으로 연결됩니다.

그림 3 : 교육 Tora에는 ① 모방 학습과 ② 출력 공간 형성이 포함됩니다.
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 추론을위한 스크립트를 제공하고 간단히 MODEL_NAME_OR_PATH 와 SRC/SCRIPTS/LELS.SH의 DATA 구성하고 다음 명령을 실행하십시오.
bash scritps/infer.sh 또한 src/outputs/ 폴더에서 최상의 모델 (Tora-Code-34B 및 Tora-70B)의 모델 출력을 오픈 소스합니다.
SRC/Eval/Grader.py 파일에는 기본 진실과 비교하여 예측 답변의 정확성을 평가하는 등급 논리가 포함되어 있습니다. 이 논리는 Hendryck의 수학 등급 시스템을 기반으로 개발되었으며, 수학 데이터 세트에서 수동으로 확인하여 잘못된 양성 및 잘못된 부정을 최소화합니다.
예측 된 답변을 평가하려면 다음 명령을 실행하십시오.
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를 Open-Source에 대한 내부 검토를 받고 있습니다. 우리는 또한 커뮤니티를위한 전체 교육 스크립트를 오픈 소스이며 교육을 위해 자신의 데이터 세트를 구성 할 수 있습니다. 데이터/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]에 문의하십시오.