OpenELM在Linux上的最佳实践
一 环境准备与硬件建议
二 推荐部署方式与步骤
1) 拉取基础镜像并启动容器(示例含GPU映射与端口映射):
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) 容器内创建虚拟环境并安装依赖:
conda create -n openelm python=3.10 -y && conda activate openelm
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) 获取模型:
4) 运行推理或启动API服务(见下文示例)。
1) 创建虚拟环境:conda create -n openelm python=3.10 -y && conda activate openelm
2) 安装依赖(与上同);如需API服务,补充安装:pip install fastapi uvicorn
3) 模型获取与验证(见下文脚本)。
三 模型获取与快速验证
git clone https://gitcode.com/mirrors/apple/OpenELM-3B-Instruct
ls -lh | grep "model-.*.safetensors"
正常应见两个权重分片:如model-00001-of-00002.safetensors(约4.2GB)与model-00002-of-00002.safetensors(约1.8GB)。
python generate_openelm.py --model apple/OpenELM-3B-Instruct --hf_access_token [HF_ACCESS_TOKEN] --prompt 'Once upon a time there was' --generate_kwargs repetition_penalty=1.2
若输出了连贯文本,则环境可用。
四 性能优化与资源控制
五 服务化与运维安全