🚀 GLM-Z1-9B-0414
GLM-Z1-9B-0414是基於GLM系列開發的推理模型,具有出色的數學推理和通用任務處理能力。在資源受限場景下,該模型能在效率和效果之間取得良好平衡,為用戶提供了輕量級部署的有力選擇。
✨ 主要特性
- 高性能表現:GLM-4-32B-0414系列性能可與OpenAI的GPT系列和DeepSeek的V3/R1系列相媲美,在工程代碼、Artifact生成、函數調用、搜索式問答和報告生成等領域取得了良好成果。
- 深度思考能力:GLM-Z1-32B-0414是具有深度思考能力的推理模型,相比基礎模型,顯著提高了數學能力和解決複雜任務的能力。
- 反思能力:GLM-Z1-Rumination-32B-0414是具有反思能力的深度推理模型,能通過更長時間的深度思考解決更開放和複雜的問題。
- 輕量級部署:GLM-Z1-9B-0414雖規模較小,但在數學推理和通用任務中仍表現出色,在資源受限場景下實現了效率和效果的良好平衡。
📦 安裝指南
使用該模型需確保 transformers>=4.51.3
。
💻 使用示例
基礎用法
from transformers import AutoModelForCausalLM, AutoTokenizer
MODEL_PATH = "THUDM/GLM-4-Z1-9B-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.'}
}