Ubuntu如何快速安装OpenELM

AI技术
小华
2025-12-23

在 Ubuntu 上快速安装 OpenELM 的高效路线
一 安装前准备

  • 建议使用 Ubuntu 22.04/24.04,并准备 Python 3.10Git LFS、以及支持 CUDA 12.xNVIDIA GPU(可选,CPU 也可运行但速度较慢)。
  • 快速准备命令:
  • 更新系统并安装基础工具:sudo apt update && sudo apt install -y git git-lfs python3 python3-venv
  • 验证:python3 -Vgit lfs version
  • 说明:OpenELM 在 Linux 上的主流用法是作为 Apple 开源的高效语言模型家族进行本地推理,而非系统服务;下文提供两条“最快可用”的路径(Docker 与本地虚拟环境)。

二 方式一 Docker 快速部署(推荐)

  • 适合隔离环境、快速起停与迁移。
  • 步骤:

1) 拉取基础镜像并启动容器(示例映射端口 7860,便于后续用 WebUI 或 Gradio 演示):

docker pull nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu22.04
mkdir -p ~/openelm && cd ~/openelm
docker run -it --gpus all \
-v $PWD:/workspace \
-p 7860:7860 \
--name openelm-deploy \
nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu22.04 /bin/bash

2) 在容器内创建虚拟环境并安装依赖:

apt update && apt install -y python3-venv
python3 -m venv venv && . venv/bin/activate
pip install --upgrade pip
pip install torch==2.1.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install transformers==4.36.2 tokenizers==0.15.2 sentencepiece==0.2.0 accelerate==0.25.0

3) 获取模型(二选一):

  • 国内镜像(GitCode):
git clone https://gitcode.com/mirrors/apple/OpenELM-3B-Instruct.git
cd OpenELM-3B-Instruct
  • Hugging Face(需令牌):
pip install huggingface-hub
huggingface-cli login   # 输入你的 HF_TOKEN(需 read 权限)
git lfs install
git clone https://huggingface.co/apple/OpenELM-3B-Instruct

4) 运行推理(容器内):

python - <<'PY'
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_name = "apple/OpenELM-3B-Instruct"
tok = AutoTokenizer.from_pretrained(model_name)
m = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map="auto")
prompt = "Once upon a time there was"
inputs = tok(prompt, return_tensors="pt").to(m.device)
out = m.generate(**inputs, max_new_tokens=50, temperature=0.7, do_sample=True)
print(tok.decode(out[0], skip_special_tokens=True))
PY

5) 如需 Web 演示,可在容器内安装 Gradio 并暴露 7860 端口运行。

  • 说明:上述镜像、依赖与模型获取方式已在实操文章中验证可行,适合“开箱即用”的 GPU 推理。

三 方式二 本地虚拟环境部署(无 Docker)

  • 步骤:

1) 创建并激活虚拟环境:

python3 -m venv ~/venvs/openelm
source ~/venvs/openelm/bin/activate
pip install --upgrade pip

2) 安装依赖(CPU 或 CUDA 11.8/12.x 均可,示例为 CUDA 12.1):

pip install torch==2.1.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install transformers==4.36.2 tokenizers==0.15.2 sentencepiece==0.2.0 accelerate==0.25.0

3) 获取模型(同上,二选一):

  • GitCode 镜像:git clone https://gitcode.com/mirrors/apple/OpenELM-3B-Instruct.git
  • Hugging Face:git lfs install && git clone https://huggingface.co/apple/OpenELM-3B-Instruct

4) 运行最小推理脚本(与 Docker 容器内一致):

python - <<'PY'
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_name = "apple/OpenELM-3B-Instruct"
tok = AutoTokenizer.from_pretrained(model_name)
m = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map="auto")
prompt = "Once upon a time there was"
inputs = tok(prompt, return_tensors="pt").to(m.device)
out = m.generate(**inputs, max_new_tokens=50, temperature=0.7, do_sample=True)
print(tok.decode(out[0], skip_special_tokens=True))
PY
  • 说明:此路线便于本地开发调试,依赖与脚本与 Docker 方案保持一致,便于迁移。

四 常见问题与优化

  • 模型获取与权限:从 Hugging Face 拉取需创建 HF_ACCESS_TOKEN(read 权限);国内可使用 GitCode 镜像加速。
  • 显存与速度:
  • 使用 float16device_map="auto" 可显著降低显存占用并提升速度;
  • 资源紧张时可尝试量化(如 bitsandbytes),或改用 CPU 推理(速度会明显下降)。
  • 苹果芯片:在 macOS 上可使用 MPS 后端;在 Ubuntu 上建议使用 NVIDIA GPU
  • 依赖冲突:建议使用全新虚拟环境,固定版本组合(如 transformers==4.36.2、accelerate==0.25.0、torch==2.1.1)以减少不兼容。
  • 服务化需求:若需对外提供 API/Web 服务,可在上述环境上增加 FastAPI/Gradio 并配合 systemdDocker 部署。
亿速云提供售前/售后服务

售前业务咨询

售后技术保障

400-100-2938

7*24小时售后电话

官方微信小程序