⚡教程:使用 GRPO 训练您自己的推理模型
初学者指南:使用 Unsloth 和 GRPO 将类似 Llama 3.1 (8B) 的模型转变为推理模型。
快速入门
4
数据准备

# 定义指示模型使用特定格式的系统提示
SYSTEM_PROMPT = """
以以下格式回复:
<reasoning>
...
</reasoning>
<answer>
...
</answer>
"""
XML_COT_FORMAT = """\
<reasoning>
{reasoning}
</reasoning>
<answer>
{answer}
</answer>
"""import re
from datasets import load_dataset, Dataset
# 从不同格式中提取答案的辅助函数
def extract_xml_answer(text: str) -> str:
answer = text.split("<answer>")[-1]
answer = answer.split("</answer>")[0]
return answer.strip()
def extract_hash_answer(text: str) -> str | None:
if "####" not in text:
return None
return text.split("####")[1].strip()
# 准备 GSM8K 数据集的函数
def get_gsm8k_questions(split="train") -> Dataset:
data = load_dataset("openai/gsm8k", "main")[split]
data = data.map(
lambda x: {
"prompt": [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": x["question"]},
],
"answer": extract_hash_answer(x["answer"]),
}
)
return data
dataset = get_gsm8k_questions()6
或在其他推理引擎中轻松部署于轻量级环境中。
最后更新于
这有帮助吗?








