当前位置:   article > 正文

目前有什么可以本地部署的大模型推荐?_本地大模型有哪些

本地大模型有哪些

开源大模型更新迭代太快,今年刚推出的模型可能过几个月就过时了。关于这个问题,我想更多的不是思考现在能部署哪些大模型,而是要思考三个方面:

一是如何找到最新的大模型,二是如何判断本地硬件资源是否满足大模型的需求,三是如何快速部署大模型。

一、如何找到最新的大模型?

1.huggingface

huggingface可以理解为对于AI开发者的GitHub,提供了模型、数据集(文本|图像|音频|视频)、类库(比如transformers|peft|accelerate)、教程等。

几乎所有最新开源的大模型都会上传到huggingface,涵盖多模态、CV、NLP、Audio、Tabular、Reinforcement Learning等模型。

上图红框处就是meta最新开源的Llama3,参数量为8B(80亿参数)。

2.modelscope

huggingface有时存在网络不稳定的问题

这里推荐国内比较好的平台modelscope

由上图可看到,通过modelscope也可以几乎下载所有开源大模型,包括零一万物、百川、通义千问等等。

比如chatglm2-6b,代表它的模型名称为chatglm2,参数量为60亿。

二、如何判断本地硬件资源是否满足大模型的需求?

首先要搞清楚,本地可以部署什么大模型,取决于你的硬件配置(尤其关注你GPU的显存)。

一般来说,只要你本地机器GPU的显存能够满足大模型的要求,那基本上都可以本地部署。

那么大模型类别这么多,有7B、13B、70B等等,我的GPU显存如何准备呢?

在没有考虑任何模型量化技术的前提下:

公式:模型显存占用(GB) = 大模型参数(B)X 2

我之前为了探索千亿级大模型到底需要多少计算资源,用云计算资源部署了Qwen1.5-110B-Chat,看看部署它到底需要多少存储资源,并且测试在不量化、8bit量化、4bit量化下的显存消耗。

实验数据如下:

下载Qwen1.5-110B-Chat共占用硬盘空间208G

本地部署Qwen1.5-110B-Chat没有考虑任何量化技术,占用显存215GB

采用8bit量化部署Qwen1.5-110B-Chat,占用显存113GB。在 Transformers 中使用 LLM.int8() 只需提前安装pip install bitsandbytes即可,使用 LLM.int8() 方法量化transformer模型具体示例如下:

from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
  'qwen/Qwen1___5-110B-Chat',
  device_map='auto',
  load_in_8bit=True,
  max_memory={
    i: f'{int(torch.cuda.mem_get_info(i)[0]/1024**3)-2}GB'
    for i in range(torch.cuda.device_count())
  }
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

采用4bit量化部署Qwen1.5-110B,占用显存62GB,预计1块80GB显存显卡即可部署。

from transformers import BitsAndBytesConfig
import torch
nf4_config = BitsAndBytesConfig(
   load_in_4bit=True,
   bnb_4bit_quant_type="nf4",
   bnb_4bit_use_double_quant=True,
   bnb_4bit_compute_dtype=torch.bfloat16
)

model_nf4 = AutoModelForCausalLM.from_pretrained('qwen/Qwen1___5-110B-Chat', quantization_config=nf4_config)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

所以回到主题上,如果追求极致本地部署。

在4bit量化的情况,满足本地机器GPU显存(GB) >= 大模型参数(B)/2,可以尝试本地部署。

举个例子:

如果你有一块T4显卡,显存为16GB。可以支持部署6B、7B参数量级的大模型,如果采用4bit量化,可以尝试32B的大模型(不一定保证部署成功)。

参考论文:

  • LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

  • GPTQ: ACCURATE POST-TRAINING QUANTIZATION FOR GENERATIVE PRE-TRAINED TRANSFORMERS

三、如何快速部署

推荐使用ollama,像启动镜像一样本地下载运行大型语言模型。

下载模型

Ollama 支持的模型列表见:https://ollama.com/library

ollama pull llama3
  • 1

启动服务

如果你装好了ollama,启动模型服务只需执行如下命令:

ModelParametersSizeDownload
Llama 38B4.7GBollama run llama3
Llama 370B40GBollama run llama3:70b
Phi-33.8B2.3GBollama run phi3
Mistral7B4.1GBollama run mistral
Neural Chat7B4.1GBollama run neural-chat
Starling7B4.1GBollama run starling-lm
Code Llama7B3.8GBollama run codellama
Llama 2 Uncensored7B3.8GBollama run llama2-uncensored
LLaVA7B4.5GBollama run llava
Gemma2B1.4GBollama run gemma:2b
Gemma7B4.8GBollama run gemma:7b
Solar10.7B6.1GBollama run solar

四、最后

综上所述,通过huggingface或者modelscope快速了解最新的大模型,并通过公式计算硬件要求,最后可通过ollama快速部署大模型。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号