最初是参考了大佬的介绍自己跑了一下:https://juejin.cn/post/7319541634122907699。然后发现自己实际运行时有些小问题和可以补充的。
Mixtral-8x7B介绍
2023年12月11日Mistral 发布了一个激动人心的大语言模型: Mixtral 8x7b。Mixtral 的架构与 Mistral 7B 类似,但有一点不同: 它实际上内含了 8 个“专家”模型,这要归功于一种称为“混合专家”(Mixture of Experts,MoE) 的技术。
本次发布的 Mixtral 模型的主要特点:
- 模型包括基础版和指令版
- 支持高达 32k 词元的上下文
- 性能优于 Llama 2 70B,在大多数基准测试上表现不逊于 GPT3.5
- 支持英语、法语、德语、西班牙语及意大利语(是的,官方没有声明支持中文,实测发现可以用中文提问,也可以要求他中文回答,但是回答的效果较差,经常会说到一半变成英文。但是这个问题可以通过参数-p baichuan-2运行baichuan-2模块进行中文对话,下面会介绍)
- 擅长编码,HumanEval 得分为 40.2%
- 可商用,Apache 2.0 许可证
借助 WasmEdge,你可以在任意设备上创建并运行该 LLM 的跨平台应用程序,包括自己的笔记本电脑、边缘设备和服务器。
接下来我会介绍如何在你的mac电脑或服务器上运行Mixtral 8x7b。
前期准备
- 一台电脑
- 科学上网工具
安装软件
步骤1:通过以下命令行安装 WasmEdge。
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | bash -s -- --plugin wasi_nn-ggml
如果你没有科学上网工具可以通过
https://raw.gitmirror.com/WasmEdge/WasmEdge/master/utils/install.sh
下载install.sh,并将下载的install.sh里的域名https://raw.githubusercontent.com一并修改为https://raw.gitmirror.com:
然后运行本地的install.sh进行安装
步骤2: 下载 Mixtral-8x7B-Instrcut-v0.1 GGUF 文件。
由于Q5_K_M模型的大小为32.2 GB,下载可能需要一定时间。
curl -LO https://huggingface.co/TheBloke/Mixtral-8x7B-Instruct-v0.1-GGUF/resolve/main/mixtral-8x7b-instruct-v0.1.Q5_K_M.gguf
当然你可以根据自己对生成质量和空间大小的要求选择合适的模型
https://huggingface.co/TheBloke/Mixtral-8x7B-Instruct-v0.1-GGUF#provided-files
Q5_K_M是大小与质量均衡的版本,被标记为推荐,所以我们下载这个。如果你无法下载模型可以联系我发你一份。
步骤3:下载用于聊天应用的跨平台可移植 Wasm 文件:llama-chat。
该应用程序让你能用命令行与模型聊天
curl -LO https://github.com/second-state/llama-utils/raw/main/chat/llama-chat.wasm
然后就可以通过输入以下命令在终端与模型进行聊天。
wasmedge --dir .:. --nn-preload default:GGML:AUTO:mixtral-8x7b-instruct-v0.1.Q5_K_M.gguf llama-chat.wasm -p baichuan-2
可移植 Wasm 应用程序会自动利用设备上的硬件加速器(如 GPU)。-p baichuan-2代表运行中文模型
然后就可以在终端里用命令行进行交流:
至于速度嘛,要看你的cpu了,mac跑了快一个小时🤡。
什么?命令行太丑了?
llama也提供了页面和api-server
步骤1:下载llama-api-server
curl -LO https://github.com/second-state/llama-utils/raw/main/api-server/llama-api-server.wasm
步骤2:下载前端代码
curl -LO https://github.com/second-state/chatbot-ui/releases/download/v0.1.0/chatbot-ui.tar.gz
tar xzf chatbot-ui.tar.gz
rm chatbot-ui.tar.gz
注意,这几个文件要在同一文件夹下
接下来,用以下命令行启动模型的 API 服务器。 然后,打开浏览器访问 http://localhost:8080 就能开始聊天了!
wasmedge --dir .:. --nn-preload default:GGML:AUTO:mixtral-8x7b-instruct-v0.1.Q5_0.gguf llama-api-server
llama的参数可以参考github文档
例如:-p参数可选择运行的模块
以下是对几个主要模块的简要介绍:
-
llama-2-chat:这是一个经过 fine-tuning 的 OpenAI GPT-3 模型,专门用于聊天交互。它被设计成能够进行自然语言文本的生成和回答问题。
-
codellama-instruct:这是一个基于 OpenAI GPT-3 的模型,旨在为程序员提供编程指导和建议。它可以回答关于编程问题、代码片段等方面的提问,并给出相应的建议和解决方案。
-
codellama-super-instruct:这个模型是 codellama-instruct 的增强版本,提供更强大和全面的编程指导。它可以更深入地理解编程上下文,并给出更详细和准确的建议。
-
mistral-instruct-v0.1 和 mistral-instruct:这两个模型都是基于 OpenAI GPT-3 的,旨在生成自然语言文本。它们可以用于各种任务,包括问答、翻译、摘要等。
-
mistrallite:这是一个轻量级的 Mistral Instruct 模型,专注于生成自然语言文本。它可以在资源受限的环境中运行,提供较快的响应速度。
-
openchat:这是一个用于聊天交互的模型,旨在与用户进行自然语言对话。它可以回答一般性问题、提供信息和娱乐等。
-
baichuan-2:这是一个面向中文的模型,用于生成自然语言文本。它可以用于问答、翻译、摘要等任务。
这些模型都是基于 OpenAI GPT-3 系列模型的变体,用于不同的自然语言处理任务和应用场景。它们的设计目标和特点可能有所不同,但都可以用于生成自然语言文本和回答相关问题。