赞
踩
官方网站:https://ollama.com/
官方Github Repo:https://github.com/ollama/ollama
官方自我介绍:Get up and running with Llama 2, Mistral, Gemma, and other large language models.
1、有模型仓库,一行命令拉取模型运行
2、llama.cpp加速,支持类llama的大量模型。
3、发布api,便于集成各种web ui
4、多模型并行,便于模型测评与切换
5、支持LLVA视觉模型
6、支持Nvidia、AMD显卡加速
7、adapt加载
1、必须使用gguf模型,经过量化
2、对于pt,safetensor模型需要进行转化
3、需要使用Modelfile配置chat模板,难以使用call tool
对于Linux平台,通过curl打开install.sh脚本下载。脚本的核心内容是下载ollama二进制文件。脚本文件自动下载bin包,注册ollama系统服务,创建ollama用户,检测显卡驱动。
命令执行完成后即可通过ollama指令操作服务。
$ ollama -h Large language model runner Usage: ollama [flags] ollama [command] Available Commands: serve Start ollama create Create a model from a Modelfile show Show information for a model run Run a model pull Pull a model from a registry push Push a model to a registry list List models cp Copy a model rm Remove a model help Help about any command Flags: -h, --help help for ollama -v, --version Show version information
服务控制:
sudo systemctl stop ollama # 停止服务
sudo systemctl start ollama # 启动服务
# 监听http服务,指定GPU
export OLLAMA_HOST="0.0.0.0:11434"
export CUDA_VISIBLE_DEVICES="0"
ollama serve # 启动
ollama serve后会自动启动一个http服务,可以通过http请求模型服务,但此时还没有注册模型和模型权重,会在后面介绍。
MacOS与Windows系统都是下载安装文件安装后即完成部署。
ollama通过nvidia-smi命令检测是否安装显卡驱动。Nvidia Jetson的Linux系统和JetPack包中不包含nvidia-smi,因此通过上述install.sh安装后无法实现显卡加速,推理全部使用Arm CPU实现。
1、安装后停止ollama服务
sudo systemctl stop ollama # 停止服务
2、安装tmux
sudo apt install tmux
3、使用tmux启动ollama
tmux has-session -t ollama_jetson 2>/dev/null || tmux new-session -d -s ollama_jetson 'LD_LIBRARY_PATH=/usr/local/cuda-11.4/targets/aarch64-linux/lib/stubs ollama serve'
ollama pull mistral # 拉模型
ollama run mistral # 运行模型
模型仓库:https://ollama.com/library
ollama的整体设置与指令风格类似于docker
从huggingface上下载gguf格式模型权重
新建Modelfile文件:
FROM {path/to/gguf} # required
PARAMETER # 模型参数
SYSTEM # 系统指令
TEMPLATE # 信息格式
ADAPTER # LORA权重路径,必须为GGML格式
modelfile教程:https://github.com/ollama/ollama/blob/main/docs/modelfile.md
ollama create {modelname} -f Modelfile
ollama run {modelname}
获取已有模型的Modelfile,基于原modelfile创建新模型(adapter)或调整参数
ollama show {modelname} --modelfile
更多操作请移步官方Github Repo学习
前提:使用lora方式sft后获得的独立lora权重文件:adapter_model.bin, adapter_config.json
使用llama.cpp转换adapter权重
git clone https://github.com/ggerganov/llama.cpp/tree/master
cd llama.cpp
pip install -r reqiurement.txt
python convert-lora-to-ggml.py [path to LORA adapter folder]/adapter_config.json
脚本执行的输出最后会有转换完成的ggml-adapter-model.bin文件的地址,在modelfile的ADAPTER参数后附上该文件地址即可加载lora
官方提供了多种模型使用方法,除了本地命令行、restful api以外还有各种语言的SDK可以使用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。