开源大模型更新迭代太快,今年刚推出的模型可能过几个月就过时了。关于这个问题,我想更多的不是思考现在能部署哪些大模型,而是要思考三个方面:
前排提示,文末有大模型AGI-CSDN独家资料包哦!
一是如何找到最新的大模型,二是如何判断本地硬件资源是否满足大模型的需求,三是如何快速部署大模型。
一、如何找到最新的大模型?
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())
}
)
采用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)
所以回到主题上,如果追求极致本地部署。
在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
启动服务
如果你装好了ollama,启动模型服务只需执行如下命令:
Model | Parameters | Size | Download |
---|---|---|---|
Llama 3 | 8B | 4.7GB | ollama run llama3 |
Llama 3 | 70B | 40GB | ollama run llama3:70b |
Phi-3 | 3.8B | 2.3GB | ollama run phi3 |
Mistral | 7B | 4.1GB | ollama run mistral |
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 |
LLaVA | 7B | 4.5GB | ollama run llava |
Gemma | 2B | 1.4GB | ollama run gemma:2b |
Gemma | 7B | 4.8GB | ollama run gemma:7b |
Solar | 10.7B | 6.1GB | ollama run solar |
四、最后
综上所述,通过huggingface或者modelscope快速了解最新的大模型,并通过公式计算硬件要求,最后可通过ollama快速部署大模型。
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓