conda create -n openelm python=3.10 -y
conda activate openelm或:
python3 -m venv openelm
source openelm/bin/activatepip install --upgrade pip
pip install torch torchvision torchaudio
pip install transformers accelerate如果 有 GPU:
pip install torch --index-url https://download.pytorch.org/whl/cu118OpenELM 模型托管在 Hugging Face:
https://huggingface.co/apple/OpenELM
常用模型:
apple/OpenELM-270Mapple/OpenELM-450Mapple/OpenELM-1_1Bapple/OpenELM-3Btransformers 自动下载from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "apple/OpenELM-450M"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)git lfs install
git clone https://huggingface.co/apple/OpenELM-450Mfrom transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "apple/OpenELM-450M" # 本地或 HuggingFace 名称
device = "cuda" if __import__("torch").cuda.is_available() else "cpu"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path).to(device)
prompt = "Once upon a time"
inputs = tokenizer(prompt, return_tensors="pt").to(device)
outputs = model.generate(
**inputs,
max_new_tokens=100,
do_sample=True,
temperature=0.8
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))运行:
python test_openelm.pypip install bitsandbytesfrom transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_compute_dtype="float16"
)
model = AutoModelForCausalLM.from_pretrained(
"apple/OpenELM-450M",
quantization_config=bnb_config,
device_map="auto"
)pip install vllmfrom vllm import LLM, SamplingParams
llm = LLM(model="apple/OpenELM-450M")
params = SamplingParams(temperature=0.7, max_tokens=128)
outputs = llm.generate(["Hello, who are you?"], params)
for o in outputs:
print(o.outputs[0].text)✅ 解决:
torch.compiletokenizer.pad_token = tokenizer.eos_tokenHF_HUB_OFFLINE=1 python test_openelm.py| 场景 | 推荐方案 |
|---|---|
| 本地测试 | transformers + CPU |
| 单卡推理 | transformers + GPU |
| 低显存 | 4-bit 量化 |
| 高并发 | vLLM |
如果你愿意,我可以:
只要告诉我你的 GPU 型号 / 使用场景 即可。