大模型入门
目标:用初学者能听懂的口水话,把"大模型是什么、好在哪、怎么搭环境、怎么跑起来"一次性讲清楚。下面直接开唠。
大模型入门:从概念到动手跑通 Qwen3-4B
目标:用初学者能听懂的口水话,把"大模型是什么、好在哪、怎么搭环境、怎么跑起来"一次性讲清楚。下面直接开唠。
一、大模型到底"大"在哪?
1. 参数爆炸
-
70 亿起步,千亿、万亿不稀奇
-
每一条参数都像大脑里的突触,越多越"聪明"
2. 数据管饱
-
整个互联网高质量文本当教材
-
训练目标简单粗暴——"给上句猜下句", technically 叫 Next Token Prediction
3. 通用 VS 专用
-
传统小模型:一个任务就得训一个专科生
-
大模型:直接招了个全科博士,写 Prompt 就能让它换岗,无需"岗前培训"(Fine-tune)
4. 与 BERT 的直观对比
表格
复制
| 维度 | BERT-base | Qwen3-235B |
|---|---|---|
| 参数量 | 1.1 亿 | 2350 亿 |
| 用法 | 预训练→微调 | 预训练→提示 |
| 任务切换 | 重新训练 | 改提示词 |
| 硬件要求 | 2080 可跑 | 多卡 A100 才玩得转 |
一句话总结:BERT 像刚毕业的本科生,得按岗位再培训;大模型则是从业十年的老专家,嘴炮安排就能干活。
二、传统 NLP 任务速览(了解即可)
-
文本分类:垃圾邮件、情感极性
-
命名实体识别:抠人名、地名、机构名
-
机器翻译:中英互吹
-
问答系统:给定材料秒回答案
以前做上面任何一件事,都得单独整数据、整模型、调参数,繁琐到劝退。
三、环境配置:30 分钟搞定 GPU+框架+下载
假设你手里已有 Linux+NV 显卡,且 CUDA≥11.8,Pytorch≥2.0
1. 确认驱动
bash
复制
nvcc --version # 看 CUDA
python -c "import torch, torch.cuda; print(torch.__version__, torch.cuda.is_available())"
# 输出 True 代表 GPU 可用
2. 换国内 pip 镜像
bash
复制
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
3. 安装依赖
bash
复制
pip install -U huggingface_hub transformers modelscope accelerate
4. 选平台下模型
-
Hugging Face(全球仓库,需科学网络或镜像)
-
ModelScope(阿里出品,中文友好,教学推荐)
两条命令任选其一,断点续传不用怕掉线:
Python
复制
# HF 版
import os, subprocess
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
subprocess.run(
"huggingface-cli download --resume-download Qwen/Qwen3-4B-Instruct-2507 "
"--local-dir /root/autodl-tmp/model/Qwen3-4B".split()
)
# ModelScope 版
from modelscope import snapshot_download
snapshot_download('Qwen/Qwen3-4B-Instruct-2507',
cache_dir='/root/autodl-tmp/model',
revision='master')
四、上代码:让模型说出"你好"
Python
复制
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_path = '/root/autodl-tmp/model/Qwen/Qwen3-4B-Instruct-2507'
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype="auto",
device_map="cuda:0",
trust_remote_code=True
)
prompt = "你好,请介绍一下自己"
text = tokenizer.apply_chat_template(
[{"role": "user", "content": prompt}],
tokenize=False,
add_generation_prompt=True,
enable_thinking=True # 开启深度推理模式
)
inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated = model.generate(**inputs, max_new_tokens=2048)
output_ids = generated[0][len(inputs.input_ids[0]):].tolist()
# 把思考内容</think>和最终回答拆开
try:
split = len(output_ids) - output_ids[::-1].index(151668) # </think> 的 token_id
except ValueError:
split = 0
thinking = tokenizer.decode(output_ids[:split], skip_special_tokens=True)
answer = tokenizer.decode(output_ids[split:], skip_special_tokens=True)
print("思考过程:", thinking)
print("最终回答:", answer)
第一次跑会见到进度条疯狂刷屏,显卡显存 8G 左右即可hold住 4B 半精度。等看到模型自我介绍打印出来,环境就算全线打通。
五、常见坑 & 小贴士
-
显存不足 → 改
torch_dtype=torch.float16或 8-bit / 4-bit 量化 -
下载太慢 → 用 ModelScope;或者用
aria2c多线程 -
找不到
</think>→ 模型版本差异,可关闭enable_thinking再试 -
中文乱码 → 检查
tokenizer.json是否完整下载 -
权限报错 → 别用 root 跑?(其实 root 也能跑,只是 pip 会警告)
更多推荐



所有评论(0)