编程开发2026-08-26
用 Transformers 跑通第一个大模型
文 / 老陈
Transformer编程实战Hugging Face
用 Transformers 跑通第一个大模型:下载模型 → 加载管线 → AI 开口回答
跑通大模型三步:下载 → 组装 → 对话
老陈打码
上一篇我们认识了这个工具库。今天真刀真枪——把一个大模型下载到电脑上,让它开口和你说话。不用联网 API,就在你本地跑。只要你的电脑有显卡(哪怕普通的游戏显卡也行),下面这段代码就能让你拥有一个自己的 AI 助手。
用 Transformers 跑通第一个大模型:下载模型 → 加载管线 → AI 开口回答
我们用一个既小又强的开源模型做演示:Qwen2.5-1.5B-Instruct(通义千问系列的小模型,约 15 亿参数,中英文都懂,普通显卡带得动)。看完全程,你就能把它换成任何别的模型。
第一步:安装依赖
除了 transformers 和 torch,还要装 accelerate(加速推理)。如果你的机器有 NVIDIA 显卡并装好了 CUDA,torch 会自动用 GPU。
pip install transformers torch accelerate
第二步:完整可运行代码
新建一个叫 chat.py 的文件,直接抄下面的代码。每行我都加了注释。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
# 1. 指定模型名(Hugging Face Hub 上的公开模型)
model_id = "Qwen/Qwen2.5-1.5B-Instruct"
# 2. 加载分词器(把文字转成模型能读的数字 + 反着转回来)
tokenizer = AutoTokenizer.from_pretrained(model_id)
# 3. 加载模型本体(自动识别 GPU 就用 GPU)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16, # 半精度,省显存
device_map="auto" # 自动分配设备
)
# 4. 把一句话包装成「对话格式」
messages = [
{"role": "user", "content": "请用一句话介绍什么是 Transformer"}
]
text = tokenizer.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
# 5. 转成模型能读的输入
inputs = tokenizer(text, return_tensors="pt").to(model.device)
# 6. 让模型生成回答(控制长度,避免生成太多)
with torch.no_grad():
outputs = model.generate(**inputs, max_new_tokens=150)
# 7. 解码成文字并打印
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
第三步:运行
python chat.py
如果一切正常,模型会先下载(首次约 1~2GB,之后会用缓存),然后打印出类似这样的回答:
Transformer 是一种基于注意力机制的深度学习模型架构,
它能并行处理文本中的各个词,从而显著提升理解和生成语言的能力。
几个容易踩的坑
| 问题 | 原因 / 解决办法 |
|---|---|
| 模型下载很慢或失败 | Hugging Face 服务器在国外。国内可以把模型镜像换成国内源:设置环境变量 HF_ENDPOINT=https://hf-mirror.com |
| 显存不足不够 | 换更小的模型,比如 Qwen2.5-0.5B-Instruct;已经把 dtype 设成 float16 了,最省显存 |
| 没有 GPU 也能跑吗 | 能。去掉 device_map="auto" 或改成 CPU 即可,只是慢一些 |
| 内容格式乱 | 一定要用 apply_chat_template,不同模型要求的对话格式不同 |
想换模型怎么办?
只需改 model_id 这一行。比如换成 DeepSeek 或 Llama:
model_id = "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B"
注意不同模型的对话模板可能不同,用对应的 apply_chat_template 或按官方示例即可。大部分开源模型在 Hugging Face Hub 上搜得到。
老陈点评:看到这里,你已经跑通了人生第一个本地大模型。这个「下载-加载-生成」的流程,就是所有基于 transformers 的大模型应用的基本盘。不管是写个聊天机器人、做一个内容工具,还是后面要讲的微调,地基都是这个。现在你已经不是「用别人的 AI」,而是「运行自己的 AI」了。
下一篇预告
跑通模型只是「拿来用」。如果你想让它学会你的专属任务——比如专门帮你判断评论是好评还是差评——就要动手「微调」它了。下一篇《用 Transformers 微调专属小模型》带你把数据、训练、评估走一遍,让它真正为你所用。
老陈打码