
国内大模型排名详解
在选择一个适合本地运行的大模型时,我们需要考虑模型的参数量和硬件资源的匹配度。通常来说,模型参数的大小直接影响了所需的计算能力和显存。因此,在选择模型时,我们需要根据自己的硬件资源来决定。例如,8B(80亿参数)和70B(700亿参数)的模型分别适用于不同配置的GPU。
一般来说,模型显存需求可以通过一个简单的公式来估算:模型显存占用(GB) = 大模型参数(B)X 2。例如,如果您选择了一个70B的模型,那么大约需要140GB的显存,这对于普通的消费级显卡来说是一个挑战。因此,选择合适的模型非常重要。
在没有考虑量化技术的情况下,显存是最大的限制因素。为了解决这一问题,我们可以使用量化技术来减少显存需求。4-bit量化可以显著降低显存需求,使得在普通消费级显卡上也可以运行大模型。
Ollama是一个简便的本地大模型运行框架,它的安装非常简单。对于macOS用户,直接下载安装包即可。而Windows用户可以通过WSL2或者Docker进行安装。
ollama --version
来确认安装成功。对于熟悉Docker的用户,可以直接使用Ollama的官方镜像进行安装。这种方法同样方便,适合在Linux环境下运行。
在Ollama中下载和运行模型非常简单。用户可以通过ollama pull
命令下载需要的模型,然后通过ollama run
命令运行模型。
Ollama提供了一个丰富的模型库,用户可以根据需要选择合适的模型进行下载。以Llama2-Chinese 7B为例,下载命令如下:
ollama pull llama2-chinese
下载完成后,可以通过以下命令运行模型:
ollama run llama2-chinese "天空为什么是蓝色的?"
运行后,用户可以在命令行中与模型进行交互,体验本地大模型的强大功能。
量化技术可以大幅度减少模型运行时的显存需求,使得大模型在普通的硬件上也能顺利运行。常见的量化方式包括8-bit和4-bit量化。
8-bit量化是一种常用的量化技术,通过将模型的权重转换为8-bit表示,从而减少显存占用。以下是一个使用8-bit量化的代码示例:
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())
}
)
相比8-bit量化,4-bit量化可以进一步减少显存需求,使得在显存较小的显卡上也可以运行更大的模型。以下是一个4-bit量化的代码示例:
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)
虽然命令行交互足够强大,但对于大多数用户来说,通过Web界面进行交互更加直观和便捷。Open WebUI是一个开源的浏览器访问界面,用户可以通过它与模型交互。
Open WebUI可以通过Docker快速部署。以下是安装和运行的步骤:
docker run -p 8080:8080 -e OLLAMA_BASE_URL=http://host.docker.internal:11434 --name open-webui --restart always -v open-webui-data:/app/backend/data ghcr.io/open-webui/open-webui:main
http://127.0.0.1:8080
,注册并登录即可使用。在与大模型交互时,系统提示词可以帮助定制模型的回答风格。通过API可以轻松设置系统提示词。
以下是一个通过API设置系统提示词的示例:
curl http://localhost:11434/api/chat -d '{
"model": "llama2-chinese:13b",
"messages": [
{
"role": "system",
"content": "以海盗的口吻简单作答。"
},
{
"role": "user",
"content": "天空为什么是蓝色的?"
}
],
"stream": false
}'
通过合理选择模型、优化硬件配置以及使用量化技术,用户可以在本地顺利运行大模型。借助Ollama和Open WebUI等工具,用户可以方便地体验本地大模型的强大功能。
问:本地运行大模型需要什么硬件配置?
问:如何选择合适的量化技术?
问:Ollama有哪些前端工具可以使用?