问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Ollama本地部署大模型(纯CPU推理)实践

创作时间:
作者:
@小白创作中心

Ollama本地部署大模型(纯CPU推理)实践

引用
CSDN
1.
https://blog.csdn.net/yang2330648064/article/details/137185603

说明

本文旨在分享在Linux(CentOS 8)平台使用Docker部署轻量化大模型的实践,仅供学习和体验,无法适用于生产环境。运维面板使用飞致云的开源面板1Panel,使用Ollama Docker方案快速部署大模型,总共需要两个Docker环境:Ollama容器环境和Ollama WebUI容器环境。

Ollama和Ollama WebUI简介

  • Ollama:一个开源的大型语言模型服务,提供类似OpenAI的API接口和聊天界面,可以非常方便地部署最新版本的GPT模型并通过接口使用。支持热加载模型文件,无需重新启动即可切换不同的模型。
  • Open WebUI:针对LLM用户友好的WebUI,支持的LLM运行程序包括Ollama、OpenAI兼容的API。

Ollama模型硬件要求

Ollama支持ollama.com/library上提供的一系列模型。

内存要求

注意:运行7B型号至少需要8GB可用RAM(内存),运行13B型号至少需要16GB可用RAM(内存),运行33B型号至少需要32GB可用RAM(内存)。

示例模型:

Model
Parameters
Size
Download
Llama 2
7B
3.8GB
ollama run llama2
Mistral
7B
4.1GB
ollama run mistral
Dolphin Phi
2.7B
1.6GB
ollama run dolphin-phi
Phi-2
2.7B
1.7GB
ollama run phi
Neural Chat
7B
4.1GB
ollama run neural-chat
Starling
7B
4.1GB
ollama run starling-lm
Code Llama
7B
3.8GB
ollama run codellama
Llama 2 Uncensored
7B
3.8GB
ollama run llama2-uncensored
Llama 2 13B
13B
7.3GB
ollama run llama2:13b
Llama 2 70B
70B
39GB
ollama run llama2:70b
Orca Mini
3B
1.9GB
ollama run orca-mini
Vicuna
7B
3.8GB
ollama run vicuna
LLaVA
7B
4.5GB
ollama run llava
Gemma
2B
1.4GB
ollama run gemma:2b
Gemma
7B
4.8GB
ollama run gemma:7b

Ollama容器部署

  1. 在1Panel应用商店中选择Ollama进行安装
  2. 配置容器的启动配置:容器名称、端口,最后,点击启动即可

Ollama容器内模型下载和对话

  1. 根据机器内存和CPU性能可以进入容器,下载示例模型
Model
Parameters
Size
Download
Llama 2
7B
3.8GB
ollama run llama2
Mistral
7B
4.1GB
ollama run mistral
Dolphin Phi
2.7B
1.6GB
ollama run dolphin-phi
Phi-2
2.7B
1.7GB
ollama run phi
Neural Chat
7B
4.1GB
ollama run neural-chat
Starling
7B
4.1GB
ollama run starling-lm
Code Llama
7B
3.8GB
ollama run codellama
Llama 2 Uncensored
7B
3.8GB
ollama run llama2-uncensored
Llama 2 13B
13B
7.3GB
ollama run llama2:13b
Llama 2 70B
70B
39GB
ollama run llama2:70b
Orca Mini
3B
1.9GB
ollama run orca-mini
Vicuna
7B
3.8GB
ollama run vicuna
LLaVA
7B
4.5GB
ollama run llava
Gemma
2B
1.4GB
ollama run gemma:2b
Gemma
7B
4.8GB
ollama run gemma:7b
  1. 按照操作,进入容器终端
  2. 点击连接进入容器内部,输入
    ollama run qwen:0.5b
    
    下载模型,下载成功后,自动启动对话

存在的缺点:需要进入容器进行对话,只能在终端进行,不方便,不优雅

Ollama WebUI部署

有关Ollama WebUI镜像拉取缓慢的问题和部署的内容,请阅读以下两篇文章:

  • Docker配置GitHub仓库ghcr国内镜像加速
  • 使用1Panel部署Ollama WebUI(Docker版)浅谈

Ollama WebUI下载模型和对话

  1. 选择模型进行下载,然后刷新页面
  2. 然后,选择模型进行对话,这效果(只能图一乐)🤣😂🤣

轻量模型推荐

机器硬件信息概览

Linux系统内核和CPU信息如下(CPU确实垃圾)

[root@yang ~]# uname -a
Linux yang 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 22 13:25:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@yang ~]# cat /proc/cpuinfo
processor   : 0
vendor_id   : AuthenticAMD
cpu family  : 21
model       : 96
model name  : AMD A10-8780P Radeon R8, 12 Compute Cores 4C+8G
stepping    : 1
microcode   : 0x600610b
cpu MHz     : 2000.000
cache size  : 1024 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 16
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good acc_power nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb bpext ptsc mwaitx cpb hw_pstate ssbd vmmcall fsgsbase bmi1 avx2 smep bmi2 xsaveopt arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov
bugs        : fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass
bogomips    : 3992.38
TLB size    : 1536 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro acc_power [13]

如果你的机器CPU不同、也没有较好的显卡,这里推荐使用通义千问开源Qwen的轻量化模型,Ollama Qwen模型以来指导

# 推理的最低内存要求小于 2GB
ollama run qwen:0.5b
ollama run qwen:1.8b
ollama run qwen:4b
# 推理的最低内存要求8GB
ollama run qwen:7b

参数越大,回答普遍会越智能,当然对CPU和内存的要求也会越高,性能较低的机器体验也会很差

qwen:0.5b推理体验

对机器要求最低,推理很快,体验还算可以,先不说代码对不对,就这个速度还是可以的,简单的问题体验还可以,复杂的不想了

推理过程系统负载如下:

gemma:7b推理体验

参数越多的模型,对机器的运行要求较高,例如:gemma:7b (4.8GB)的推理下我的机器就无法承受了😭😭😭真就一个一个字算出来的

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号