AutoModelForCausalLM, AutoTokenizer简单理解
AutoModelForCausalLM 代表 "自动加载一个因果语言模型",它就是 LLaMA、Mistral、GPT-3 这类模型的载体。AutoModelForCausalLM 的作用加载预训练好的 LLM(比如 LLaMA-3-8B、Mistral-7B)根据输入文本,生成新的文本(进行对话、回答问题等)
·
AutoModelForCausalLM 和 AutoTokenizer 是 Hugging Face Transformers 库 里的工具,专门用来 加载大语言模型(LLM)并进行推理。
1. AutoTokenizer —— 负责把文本转换成模型能理解的格式
你输入的文本是 “你好,介绍一下你自己。”,但 LLaMA 或 Mistral 这种大模型 不能直接理解汉字或字母,它们只懂数字(token)。
AutoTokenizer 的作用:
- 把人能读的文字 → 转换成 LLM 能理解的数字(token)
- 再把 LLM 生成的数字 → 转换回人能读的文字
例子
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3-8B-Instruct")
text = "你好,介绍一下你自己。"
tokens = tokenizer(text, return_tensors="pt")
print(tokens) # 看看转换后的 token
可能输出:
{'input_ids': tensor([[1, 456, 789, 300, 1200, 2]]), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1]])}
👉 你能看到 每个汉字和标点都变成了一个 ID(数字),这是模型能理解的格式。
2. AutoModelForCausalLM —— 负责加载和运行大语言模型
AutoModelForCausalLM 代表 “自动加载一个因果语言模型”,它就是 LLaMA、Mistral、GPT-3 这类模型的载体。
AutoModelForCausalLM 的作用
- 加载预训练好的 LLM(比如 LLaMA-3-8B、Mistral-7B)
- 根据输入文本,生成新的文本(进行对话、回答问题等)
例子
from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载 LLaMA 3 预训练模型
model_name = "meta-llama/Meta-Llama-3-8B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# 让模型回答问题
text = "你好,介绍一下你自己。"
inputs = tokenizer(text, return_tensors="pt") # 把文本变成 tokens
outputs = model.generate(**inputs, max_length=100) # 让模型生成回答
# 把生成的 tokens 转换回文本
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response) # 输出模型的回答
3. 总结
| 工具 | 作用(说人话) |
|---|---|
AutoTokenizer |
把人类语言转换成模型理解的 token,并在模型生成后再转回文本 |
AutoModelForCausalLM |
加载 LLaMA/Mistral 等大模型,生成文本回答 |
如果你把整个过程比作 给机器人读一本书:
AutoTokenizer像是翻译官,把书(文本)翻译成 模型能读的格式(token)。AutoModelForCausalLM像是机器人,看懂了书的内容,然后给你回答。AutoTokenizer再把机器人的回答翻译回来,变成人能读的文字。
更多推荐



所有评论(0)