本地大语言模型部署及应用
01 模型
2024-07-24,Meta 正式发布新一代开源大模型 Llama 3.1 系列,该模型共有三个版本:
- 8B
- 70B
- 405B
meta评估了超过 150 个语言覆盖范围广的基准数据集。比较了 Llama 3.1 与竞争性模型在真实世界场景下的表现。实验评估表明,Llama 3.1 405B在一系列任务中与领先的基础模型相比具有竞争力,包括 GPT-4、GPT-4o 和 Claude 3.5 Sonnet。来源:Meta(https://ai.meta.com/blog/meta-llama-3-1/)
此外,8B本部和70B版本模型与参数数量相似且封闭或开放的模型相比也具有竞争力。
02 本地安装
1.本地电脑安装的硬件要求
Windows:3060以上显卡+8G以上显存+16G内存,硬盘空间至少20G(也可以在 CPU 上运行时基于内存 (RAM) 速度的模型 ,不过推理速度较慢)
Mac:M1或M2芯片 16G内存,20G以上硬盘空间
在开始之前,首先我们需要安装Ollama客户端,来进行本地部署Llama3.1大模型(Ollama 是一个便于本地部署和运行大型语言模型(Large Language Models, LLMs)的工具。)
官方下载:【https://ollama.com/】
在网站首页选择下载选项,请确保选择与你操作系统相匹配的版本。例如,我选择了适用于 Windows 的版本。如果你使用的是 Mac或 Linux,应选择相应的版本。
安装过程非常简单,基本上按照常规操作进行即可。接着打开CMD安装对应的模型。
安装命令:
安装llama3.1-8b,至少需要8G的显存,安装命令就是
ollama run llama3.1:8b
安装llama3.1-70b,至少需要大约 70-75 GB 显存,适合企业用户,安装命令就是
ollama run llama3.1:70b
安装llama3.1-405b,这是一个极其庞大的模型,安装和运行它在本地需要非常高的显存和硬件资源,至少需要大约 400-450 GB 显存,适合顶级大企业用户,安装命令就是
ollama run llama3.1:405b
以下是可以下载的示例模型:
模型加载完成之后,出现如下提示,就可以直接跟大模型对话了。
03 配置远程访问
Ollama 启动的默认地址为http://127.0.0.1:11434,我们通过设置环境变量 OLLAMA_HOST来修改默认监听地址和端口,这往往对我们需要远程调用API时非常有用。同时,如果要在一些其他工具客户端中调用 API ,需要为 Ollama 进行跨域配置后方可正常使用。
需要了解如下三个变量的用途
windows 修改环境变量如下:
1、首先停止ollama服务。(右下角任务栏退出)
2、设置变量环境:
右键"此电脑 > 属性 > 高级系统设置 > 环境变量 > Administrator 的用户变量 > 新建用户变量"。
3、添加变量
OLLAMA_HOST 为监听地址,设置值为:0.0.0.0或者想要监听的地址
OLLAMA_ORIGINS 为跨域访问,设置值为*
设置完毕环境变量,打开新的 powershell 或者 CMD 命令行终端, 重新启动 ollama 服务并加载模型。
04 API 调用
开启远程连接之后,就可以远程调用 API 了,示例如下:
生成一个回复
curl http://localhost:11434/api/generate -d '{ "model": "llama3.1", "prompt":"Why is the sky blue?"}'
与模型交谈
curl http://localhost:11434/api/chat -d '{ "model": "llama3.1", "messages": [ { "role": "user", "content": "why is the sky blue?" } ]}'
05 其他应用调用
Ollama 提供与OpenAI API 的部分兼容性,以帮助将现有应用程序连接到Ollama。
一切配置好之后就可以用其他一些客户端调用API去使用了
NextChat客户端
配置接口地址为:http://localhost:11434 ,自定义模型名称为:llama3.1,就可以开始使用了。(key可以空着也可以随便填任意内容)
可以正常使用了。类似的客户端还有Chatbox之类的,可以根据自己的喜好,选择使用。
浏览器沉浸式翻译(https://immersivetranslate.com/)
沉浸式翻译插件是一个比较好用的浏览器翻译插件,在日常的上网,工作中经常用到。可以设置自己的大模型来进行翻译服务。
安装好之后进行设置,翻译服务选择:OpenAI,模型自定义为:llama3.1,key可以随意填写。
点击展开更多自定义选项后,设置API地址为:http://localhost:11434/v1/chat/completions
下面就可以愉快的使用本地的翻译服务了。
作者:马云卓
2024年9月1日
洞源实验室