库名称:transformers
许可证:其他
基础模型:Qwen2.5-Math-7B-Instruct
标签:
- llama-factory
- full
- generated_from_trainer
模型索引:
- 名称:SocraticLM
结果:[]
语言:
- 英文
- 中文
流水线标签:文本生成
模型描述
该模型是基于SocraTeach数据集对Qwen2.5-Math-7B-Instruct进行微调的版本。
它是SocraticLM的实现。
预期用途与限制
SocraticLM专为教育目的设计,旨在为学生在解决数学问题遇到困难时提供苏格拉底式的引导。
此外,SocraticLM也能独立解决数学问题。
该模型主要支持英文和中文。
使用方法
对于Huggingface transformers:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("CogBase-USTC/SocraticLM")
model = AutoModelForCausalLM.from_pretrained(
"CogBase-USTC/SocraticLM",
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True
)
messages = [
{"role": "system", "content" : "请逐步分析并解决以下问题。"},
{"role": "user", "content": "娜塔莉亚在四月向她的48位朋友出售了夹子,五月她卖出的夹子数量是四月的一半。娜塔莉亚在四月和五月总共卖出了多少个夹子?"},
]
prompt = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
inputs = tokenizer.encode(prompt, return_tensors="pt")
outputs = model.generate(input_ids=inputs.to(model.device), max_new_tokens=4096)
print(tokenizer.decode(outputs[0]))
对于vLLM:
from vllm import LLM, SamplingParams
llm = LLM(model=r'CogBase-USTC/SocraticLM',
tokenizer=r'CogBase-USTC/SocraticLM',
trust_remote_code=True,
tensor_parallel_size=1,
gpu_memory_utilization=0.99,
enable_chunked_prefill=True,
max_num_batched_tokens=512,
max_num_seqs=128)
sampling_params = SamplingParams(temperature=0, max_tokens=4096, seed=42)
def print_outputs(outputs):
for output in outputs:
prompt = output.prompt
generated_text = output.outputs[0].text
print(f"生成文本: {generated_text!r}")
print("-" * 80)
print("=" * 80)
conversation = [
{
"role": "system",
"content": "请逐步分析并解决以下问题。"
},
{
"role": "user",
"content": "娜塔莉亚在四月向她的48位朋友出售了夹子,五月她卖出的夹子数量是四月的一半。娜塔莉亚在四月和五月总共卖出了多少个夹子?"
},
]
outputs = llm.chat(conversation,
sampling_params=sampling_params,
use_tqdm=False,
)
print_outputs(outputs)
训练超参数
训练过程中使用了以下超参数:
- 学习率:1e-05
- 训练批次大小:8
- 随机种子:42
- 分布式类型:多GPU
- 设备数量:4
- 总训练批次大小:32
- 总评估批次大小:32
- 优化器:使用OptimizerNames.ADAMW_TORCH,betas=(0.9,0.999),epsilon=1e-08,无额外优化器参数
- 学习率调度器类型:余弦
- 学习率预热步数:20
框架版本
- Transformers 4.46.2
- Pytorch 2.5.1+cu124
- Datasets 3.1.0
- Tokenizers 0.20.3