🚀 AceMath:最先端の数学推論モデル
AceMathは、数学推論用に特別に設計された一連の最先端モデルです。AceMathファミリーのモデル、AceMath - 1.5B/7B/72B - InstructおよびAceMath - 7B/72B - RMは、Qwenをベースに改良されています。AceMath - 1.5B/7B/72B - Instructモデルは、思考連鎖(CoT)推論を用いて英語の数学問題を解くのに優れており、AceMath - 7B/72B - RMモデルは、数学的な解決策を評価して点数付けするための結果報酬モデルです。
🚀 クイックスタート
AceMathモデルは数学問題の解決に使用できます。他のタスクをサポートする必要がある場合、AceInstruct - 1.5B/7B/72Bシリーズの一般的な教師付き微調整(SFT)モデルも公開しています。これらのモデルは、コード、数学、一般知識のタスクを処理でき、Qwen2.5 - 1.5B/7B/72B - Baseをベースに構築されています。
✨ 主な機能
- 強力な数学推論能力:AceMath - 1.5B/7B/72B - Instructモデルは、様々な数学推論ベンチマークテストで優れた成績を収めています。例えば、AceMath - 7B - Instructは、平均合格率@1で、以前の同類最高のQwen2.5 - Math - 7B - Instruct(67.2対62.9)を大きく上回り、約10倍の規模のQwen2.5 - Math - 72B - Instruct(67.2対68.2)に近づいています。AceMath - 72B - Instructは、最先端のQwen2.5 - Math - 72B - Instruct(71.8対68.2)、GPT - 4o(67.4)、Claude 3.5 Sonnet(65.6)を上回っています。
- 専用の報酬モデル:AceMath - 7B/72B - RMは結果報酬モデルとして、数学的な解決策を評価して点数付けすることができます。そのAceMath - 72B - RMは、推論ベンチマークテストでrm@8正解率(8選択肢からの最良選択)の新記録を樹立しました。
- 多段階教師付き微調整:AceMath - 1.5B/7B/72B - Instructモデルは、Qwen2.5 - Math - 1.5B/7B/72B - Baseモデルをベースに開発され、多段階教師付き微調整(SFT)プロセスを採用しています。まず一般的なSFTデータを使用し、次に特定の数学SFTデータを使用します。
💻 使用例
基本的な使用法
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "nvidia/AceMath-72B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto")
prompt = "Jen enters a lottery by picking $4$ distinct numbers from $S=\\{1,2,3,\\cdots,9,10\\}.$ $4$ numbers are randomly chosen from $S.$ She wins a prize if at least two of her numbers were $2$ of the randomly chosen numbers, and wins the grand prize if all four of her numbers were the randomly chosen numbers. The probability of her winning the grand prize given that she won a prize is $\\tfrac{m}{n}$ where $m$ and $n$ are relatively prime positive integers. Find $m+n$."
messages = [{"role": "user", "content": prompt}]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to("cuda")
generated_ids = model.generate(
**model_inputs,
max_new_tokens=2048
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
📚 ドキュメント
すべてのリソース
AceMath指令モデル
AceMath報酬モデル
評価と訓練データ
一般的な指令モデル
ベンチマークテスト結果
私たちは、AceMathを主要な独占およびオープンアクセスの数学モデルと比較しました。様々な数学推論ベンチマークテストで、私たちのAceMath - 7B - Instructは、以前の同類最高のQwen2.5 - Math - 7B - Instruct(平均合格率@1:67.2対62.9)を大きく上回り、約10倍の規模のQwen2.5 - Math - 72B - Instruct(67.2対68.2)に近づいています。特に、私たちのAceMath - 72B - Instructは、最先端のQwen2.5 - Math - 72B - Instruct(71.8対68.2)、GPT - 4o(67.4)、Claude 3.5 Sonnet(65.6)を大きく上回っています。また、私たちの報酬モデルAceMath - 72B - RMが達成したrm@8正解率(8選択肢からの最良選択)を報告しています。これは、これらの推論ベンチマークテストで新記録を樹立しています。これには、大規模な推論計算に依存するOpenAIのo1モデルは含まれていません。
連絡先
Zihan Liu (zihanl@nvidia.com)
Yang Chen (yachen@nvidia.com)
Wei Ping (wping@nvidia.com)
引用
もし私たちの研究が役に立ったと思われる場合は、以下のように引用してください。
@article{acemath2024,
title={AceMath: Advancing Frontier Math Reasoning with Post-Training and Reward Modeling},
author={Liu, Zihan and Chen, Yang and Shoeybi, Mohammad and Catanzaro, Bryan and Ping, Wei},
journal={arXiv preprint},
year={2024}
}
📄 ライセンス
AceMathファミリーのすべてのモデルは非商用目的での使用に限定されており、OpenAIの生成データの使用規約に従う必要があります。私たちは、AceMathモデルをクリエイティブ・コモンズ 表示 - 非営利 4.0 国際ライセンスの下に置いています。