Downloads · 30 days
0
xingy555888/CancriV2-0.5B-Chat
CancriV2-0.5B-Chat is a machine learning model from xingy555888. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
一个自定义 PyTorch 语言模型(Cancri 500M 系列,DPO 第 6 版),基于黑板分段注意力架构。
Downloads · 30 days
0
Access
Public
Updated Jul 22, 2026
Repo size
881 MB
Likes
1
Public
Click a slice to open those files.
.ckpt879 MB · 100%
From the Hugging Face model README
一个自定义 PyTorch 语言模型(Cancri 500M 系列,DPO 第 6 版),基于黑板分段注意力架构。
cancri_500m_dpo6.ckpt — 模型权重(PyTorch state_dict + cfg)。tokenizer.json — 32k BPE tokenizer,训练时使用。model.py — CancriGPT 模型定义、load_model、generate_board 等推理函数。run.py — 命令行推理脚本。requirements.txt — 运行依赖。pip install -r requirements.txt
使用 ChatML 模板(推荐,DPO 底座在该模板下才进入“助手”模式):
python run.py --prompt "你好" --chatml --device cpu
关闭 ChatML,只做续写:
python run.py --prompt "一元二次方程 ax²+bx+c=0 的求根公式是" --no-chatml --max-new 128
调整采样参数:
python run.py --prompt "用三句话解释光合作用" \
--temperature 0.7 --top-p 0.9 --repetition-penalty 1.1 \
--max-new 256 --device cuda
<|pad|> — id 2<|end_of_text|> — id 1<|im_start|> — id 3<|im_end|> — id 4(ChatML 停止符)import torch
from tokenizers import Tokenizer
from model import load_model, generate_board, PAD_ID
model, ck = load_model("cancri_500m_dpo6.ckpt", "cpu")
tok = Tokenizer.from_file("tokenizer.json")
prompt = (
"<|im_start|>system\n你是一个乐于助人的中文助手。<|im_end|>\n"
"<|im_start|>user\n你好<|im_end|>\n"
"<|im_start|>assistant\n"
)
ids = torch.tensor(tok.encode(prompt).ids, dtype=torch.long)
im_end_id = tok.token_to_id("<|im_end|>")
out = generate_board(
model, ids,
max_new_tokens=256,
seg_len=512,
temperature=0.7,
top_p=0.9,
repetition_penalty=1.1,
pad_id=PAD_ID,
device="cpu",
eos_id=im_end_id,
)
reply = tok.decode(out[len(ids):]).strip()
print(reply)
load_model() 加载。seg_len=512,prompt + max_new_tokens 应小于该长度。requirements.txt 未包含 Gradio / ZeroGPU 依赖;如需部署为 Hugging Face Space,请参考 cancri-500m-space/ 目录下的 app.py、README.md。