🚀 GLM-4-Z1-32B-0414
GLM-4-Z1-32B-0414系列模型属于GLM家族新一代开源模型,拥有320亿参数。其性能可与OpenAI的GPT系列以及DeepSeek的V3/R1系列相媲美,并且支持非常便捷的本地部署。
✨ 主要特性
- GLM-4-32B-0414:在15T高质量数据上进行预训练,包含大量推理型合成数据,为后续强化学习扩展奠定基础。在后续训练阶段,除了针对对话场景进行人类偏好对齐,还使用拒绝采样和强化学习等技术增强了模型在指令遵循、工程代码和函数调用方面的性能。在工程代码、工件生成、函数调用、基于搜索的问答和报告生成等领域取得了良好的效果。
- GLM-Z1-32B-0414:具有深度思考能力的推理模型。基于GLM-4-32B-0414通过冷启动和扩展强化学习开发,并在涉及数学、代码和逻辑的任务上进一步训练模型。与基础模型相比,显著提高了数学能力和解决复杂任务的能力。
- GLM-Z1-Rumination-32B-0414:具有沉思能力的深度推理模型。与典型的深度思考模型不同,该模型采用更长时间的深度思考来解决更开放和复杂的问题。在深度思考过程中集成了搜索工具以处理复杂任务,并通过利用多种基于规则的奖励来指导和扩展端到端强化学习进行训练。在研究型写作和复杂检索任务方面有显著改进。
- GLM-Z1-9B-0414:一个惊喜之作。采用上述一系列技术训练的90亿小尺寸模型,保持了开源传统。尽管规模较小,但在数学推理和一般任务中仍表现出出色的能力,在同尺寸的开源模型中整体性能已处于领先水平。
📦 安装指南
使用本模型需确保 transforemrs>=4.51.3
。
💻 使用示例
基础用法
from transformers import AutoModelForCausalLM, AutoTokenizer
MODEL_PATH = "THUDM/GLM-4-Z1-32B-0414"
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
model = AutoModelForCausalLM.from_pretrained(MODEL_PATH, device_map="auto")
message = [{"role": "user", "content": "Let a, b be positive real numbers such that ab = a + b + 3. Determine the range of possible values for a + b."}]
inputs = tokenizer.apply_chat_template(
message,
return_tensors="pt",
add_generation_prompt=True,
return_dict=True,
).to(model.device)
generate_kwargs = {
"input_ids": inputs["input_ids"],
"attention_mask": inputs["attention_mask"],
"max_new_tokens": 4096,
"do_sample": False,
}
out = model.generate(**generate_kwargs)
print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
📚 详细文档
采样参数
属性 |
详情 |
temperature |
0.6,平衡创造性和稳定性 |
top_p |
0.95,采样的累积概率阈值 |
top_k |
40,过滤稀有标记,同时保持多样性 |
max_new_tokens |
30000,为思考留出足够的标记 |
强制思考
- 在第一行添加
<think>\n
:确保模型在回复前进行思考。
- 使用
chat_template.jinja
时,会自动注入提示以强制执行此行为。
对话历史修剪
- 仅保留最终用户可见的回复。
- 隐藏的思考内容不应保存到历史记录中,以减少干扰,这在
chat_template.jinja
中已经实现。
处理长上下文(YaRN)
- 当输入长度超过 8,192 个标记时,考虑启用 YaRN(Rope Scaling)。
- 在支持的框架中,将以下代码段添加到
config.json
中:
"rope_scaling": {
"type": "yarn",
"factor": 4.0,
"original_max_position_embeddings": 32768
}
- 静态 YaRN 适用于所有文本。它可能会略微降低短文本的性能,因此按需启用。
📄 许可证
本项目采用MIT许可证。
🔗 引用
如果您觉得我们的工作有用,请考虑引用以下论文:
@misc{glm2024chatglm,
title={ChatGLM: A Family of Large Language Models from GLM-130B to GLM-4 All Tools},
author={Team GLM and Aohan Zeng and Bin Xu and Bowen Wang and Chenhui Zhang and Da Yin and Diego Rojas and Guanyu Feng and Hanlin Zhao and Hanyu Lai and Hao Yu and Hongning Wang and Jiadai Sun and Jiajie Zhang and Jiale Cheng and Jiayi Gui and Jie Tang and Jing Zhang and Juanzi Li and Lei Zhao and Lindong Wu and Lucen Zhong and Mingdao Liu and Minlie Huang and Peng Zhang and Qinkai Zheng and Rui Lu and Shuaiqi Duan and Shudan Zhang and Shulin Cao and Shuxun Yang and Weng Lam Tam and Wenyi Zhao and Xiao Liu and Xiao Xia and Xiaohan Zhang and Xiaotao Gu and Xin Lv and Xinghan Liu and Xinyi Liu and Xinyue Yang and Xixuan Song and Xunkai Zhang and Yifan An and Yifan Xu and Yilin Niu and Yuantao Yang and Yueyan Li and Yushi Bai and Yuxiao Dong and Zehan Qi and Zhaoyu Wang and Zhen Yang and Zhengxiao Du and Zhenyu Hou and Zihan Wang},
year={2024},
eprint={2406.12793},
archivePrefix={arXiv},
primaryClass={id='cs.CL' full_name='Computation and Language' is_active=True alt_name='cmp-lg' in_archive='cs' is_general=False description='Covers natural language processing. Roughly includes material in ACM Subject Class I.2.7. Note that work on artificial languages (programming languages, logics, formal systems) that does not explicitly address natural-language issues broadly construed (natural-language processing, computational linguistics, speech, text retrieval, etc.) is not appropriate for this area.'}
}