最初是参考了大佬的介绍自己跑了一下:https://juejin.cn/post/7319541634122907699。然后发现自己实际运行时有些小问题和可以补充的。
Mixtral-8x7B介绍
2023年12月11日Mistral 发布了一个激动人心的大语言模型: Mixtral 8x7b。Mixtral 的架构与 Mistral 7B 类似,但有一点不同: 它实际上内含了 8 个“专家”模型,这要归功于一种称为“混合专家”(Mixture of Experts,MoE) 的技术。
本次发布的 Mixtral 模型的主要特点:
借助 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代表运行中文模型
然后就可以在终端里用命令行进行交流:
至于速度嘛,要看你的显卡了,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.gztar xzf chatbot-ui.tar.gzrm 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 系列模型的变体,用于不同的自然语言处理任务和应用场景。它们的设计目标和特点可能有所不同,但都可以用于生成自然语言文本和回答相关问题。