这是最直接有效的方法。
llama.cpp(GGUF)AutoGPTQAWQ✅ 示例(4-bit Llama 3 8B):
pip install transformers accelerate bitsandbytesfrom transformers import AutoModelForCausalLM, BitsAndBytesConfig
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_compute_dtype="bfloat16"
)
model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Meta-Llama-3-8B",
quantization_config=bnb_config,
device_map="auto"
)适合消费级显卡(8G / 12G / 16G)
./llama-cli -m llama3-8b.Q4_K_M.gguf -ngl 35KV Cache 是长上下文显存爆炸主因。
方法:
max_seq_lenuse_cache=False(不推荐推理)✅ vLLM 示例:
pip install vllmfrom vllm import LLM
llm = LLM(model="meta-llama/Meta-Llama-3-8B", gpu_memory_utilization=0.8)device_map="auto"(HF)显存对比(8B):
from peft import LoraConfig
lora = LoraConfig(
r=8,
lora_alpha=16,
target_modules=["q_proj","v_proj"]
)model.gradient_checkpointing_enable()from bitsandbytes.optim import Adam8bit
optimizer = Adam8bit(model.parameters(), lr=2e-4)per_device_train_batch_size=1
gradient_accumulation_steps=8| 模型 | FP16 | INT8 | INT4 |
|---|---|---|---|
| 8B | ~16GB | ~8GB | ~4–5GB |
| 70B | ~140GB | ~70GB | ~35–40GB |
或
如果你能告诉我:
我可以直接给你一套可复制的配置方案。