文本生成
大语言模型的官方推理入口是 PreTrainedModel.generate()(Pipeline 的 text-generation 底层也调用它)。生成配置集中在 GenerationConfig。务必显式设置 max_new_tokens,默认往往过短。
最小 generate()
device_map="auto" 与 dtype="auto" 是官方推荐的省心加载方式。
贪婪 vs 采样
聊天助手一般 开采样;抽题目、格式化 JSON 时用贪婪或低温度。
指令模型(Qwen)
中文场景优先 Qwen / DeepSeek 的 Instruct 权重,而不是英文 DistilGPT2:
切片 out[0][prompt.shape[-1]:] 只打印新生成的 token,避免把整段 prompt 回显。
0.5B 在 4–8GB 显存上通常能跑;纯 CPU 会慢。更大的 Qwen / DeepSeek 先看模型卡的显存表。
GenerationConfig 与常见旋钮
也可 model.generation_config.save_pretrained("./gen-cfg") 后随模型上传。
和 Ollama 怎么选
本站 Ollama 把量化、对话模板、HTTP API 打成一条命令,适合「本机聊天」。Transformers 的 generate() 适合对照论文、改采样、接自定义 logits 处理器、以及后面的 LoRA。两条链路可以并存:日常对话用 Ollama,实验用本课。