OpenELM 是 Apple 开源的小型语言模型系列,特点:
✅ 推荐:
sudo apt update
sudo apt install -y python3 python3-venv python3-pip git
python3 -m venv openelm-env
source openelm-env/bin/activategit clone https://github.com/apple/OpenELM.git
cd OpenELMpip install --upgrade pip
pip install -r requirements.txt常见依赖包括:
torchtransformerstokenizersnumpy如果你有 NVIDIA GPU:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121查看是否成功:
python -c "import torch; print(torch.cuda.is_available())"True 表示 GPU 可用OpenELM 模型托管在 Hugging Face:
https://huggingface.co/apple/OpenELM
常用模型:
apple/OpenELM-270Mapple/OpenELM-450Mapple/OpenELM-1_1Bapple/OpenELM-3Bpip install huggingface_hub
huggingface-cli loginhuggingface-cli download apple/OpenELM-1_1B --local-dir openelm-1_1binference.py
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "./openelm-1_1b"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(
model_path,
device_map="auto",
torch_dtype="auto"
)
prompt = "Once upon a time"
inputs = tokenizer(prompt, return_tensors="pt").to(model.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 inference.pymodel = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype="float16",
device_map="auto"
)pip install fastapi uvicornfrom fastapi import FastAPI
from transformers import AutoModelForCausalLM, AutoTokenizer
app = FastAPI()
model = AutoModelForCausalLM.from_pretrained("./openelm-1_1b", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("./openelm-1_1b")
@app.post("/generate")
def generate(prompt: str):
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=100)
return {"result": tokenizer.decode(outputs[0], skip_special_tokens=True)}运行:
uvicorn api:app --host 0.0.0.0 --port 8000✅ 使用更小模型(270M / 450M)
✅ 使用 float16
✅ Linux 部署 OpenELM 核心步骤:
transformers 加载并推理如果你需要:
可以直接告诉我你的 硬件 & 使用场景,我可以给你定制方案。