不是 GPT4 用不起,而是本地运行 Mixtral-8x7B 更有性价比

当 GPT4 刚问世时,社区猜测它用了"多少亿个参数"才实现的如此惊人的性能。 但事实证明,GPT4 的创新不仅仅是"更多参数"。 它本质上是 8 个 GPT 3.5 模型一起工作。 这些模型中的每一个都针对不同的任务(即"专家")进行了调整。 这称为"专家组合"(Mixture of Experts,缩写为 MoE)。

输入文本根据内容和所需任务会被分派给 8 个专家模型中的一个。 然后,小组中的其他专家模型会评估结果,从而改进未来的问题的分配。

Mistral AI 的 Mixtral 8x7B 是基于 8 个 Mistral-7B 模型的开源 MoE LLM。 借助 WasmEdge,你可以在任意设备上创建并运行该 LLM 的跨平台应用程序,包括自己的笔记本电脑、边缘设备和服务器。

点击这里查看运行视频。我用视频里的问题问了 GPT 4 和其他开源大模型,目前回答正确的只有 GPT4 和 Mixtral-8x7B.

在自己的设备上运行 Mixtral-8x7B

步骤1:通过以下命令行安装 WasmEdge

bash 复制代码
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | bash -s -- --plugin wasi_nn-ggml

步骤2: 下载 Mixtral-8x7B-Instrcut-v0.1 GGUF 文件。由于模型的大小为32.2 GB,下载可能需要一定时间。

bash 复制代码
curl -LO https://huggingface.co/TheBloke/Mixtral-8x7B-Instruct-v0.1-GGUF/resolve/main/mixtral-8x7b-instruct-v0.1.Q5_K_M.gguf

步骤3:下载用于聊天应用的跨平台可移植 Wasm 文件。该应用程序让你能用命令行与模型聊天,它的 Rust 源代码在这里

perl 复制代码
curl -LO https://github.com/second-state/llama-utils/raw/main/chat/llama-chat.wasm

就是这样。可以通过输入以下命令在终端与模型进行聊天。

ruby 复制代码
wasmedge --dir .:. --nn-preload default:GGML:AUTO:mixtral-8x7b-instruct-v0.1.Q5_0.gguf llama-chat.wasm -p mistral-instruct

可移植 Wasm 应用程序会自动利用设备上的硬件加速器(如 GPU)。

以下在 Jetson Orin 64G 上运行的问答。

vbnet 复制代码
[You]:
What is the best place to watch the new year ball drop in New York City?

[Bot]
The most famous place to watch the New Year Ball Drop is in Times Square, New York City. However, it's important to note that this area is extremely crowded, so if you prefer a less chaotic environment, there are other options. You can watch the ball drop from nearby hotels like the Marriott Marquis or the Embassy Suites, which have rooms and restaurants with views of Times Square. You can also watch it from surrounding bars and restaurants or from special viewing parties. If you're not in New York City, the event is broadcasted live on television and online platforms.

为 Mixtral-8x7B 模型创建与 OpenAI 兼容的 API 服务

与 OpenAI 兼容的 Web API 能让该模型与各种不同的 LLM 工具和代理框架(如 flows.network、LangChain 和 LlamaIndex)适配。

下载一个 API 服务器应用。它也是一个跨平台可移植的 Wasm 应用程序,可以在各种不同 CPU 和 GPU 设备上运行。 查看该应用的 Rust 源代码。

perl 复制代码
curl -LO https://github.com/second-state/llama-utils/raw/main/api-server/llama-api-server.wasm

然后,下载聊天机器人 Web UI,以通过聊天机器人 UI 与模型进行交互。

bash 复制代码
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 就能开始聊天了!

ruby 复制代码
wasmedge --dir .:. --nn-preload default:GGML:AUTO:mixtral-8x7b-instruct-v0.1.Q5_0.gguf llama-api-server.wasm -p mistral-instruct

还可以从另一个终端使用 curl 与 API 服务器交互。

rust 复制代码
curl -X POST http://localhost:8080/v1/chat/completions \ 

-H 'accept:application/json' \
-H 'Content-Type: application/json' \
-d '{"messages":[{"role":"user", "content": "What is the capital of France?"}], "model":"Mixtral-8x7B-Instruct-v0.1"}'

就这样。WasmEdge 是运行 LLM 应用程序最简单、最快速、最安全的方式。尝试一下吧!

什么是"专家组合"(MoE)?

"专家组合"(MoE)是机器学习和人工智能中的一个概念,其中多个专业化的模型或组件(称为"专家")相结合以提高整体性能。 每个专家都被设计来处理特定的数据子集或特定类型的任务。 会有一个门控网络评估每个输入并确定最适合它的专家。 然后专家的输出被组合起来,通常是相加的。 这种方法允许在单个模型框架专业化地对不同的数据或任务进行处理,从而提高效率和有效性。

相关推荐
AINative软件工程1 小时前
LLM 应用的熔断降级工程实践:Circuit Breaker 不只是重试的升级版
后端·llm·ai编程
程序员爱钓鱼1 小时前
Rust String 与 &str 详解:字符串所有权、借用与转换
前端·后端·rust
wangruofeng11 小时前
opencodex 解锁 Codex 任意模型,一个本地代理打通 Claude/Kimi/GLM/DeepSeek
llm·github·openai
wangruofeng11 小时前
姚顺雨长谈:在 Anthropic 和 Gemini 训练模型,英雄主义已经过时
llm·aigc
AH_HH13 小时前
Codex 几个入口,我全用了一遍,给你打个分
chatgpt·codex
段一凡-华北理工大学14 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
赵康16 小时前
AI 写代码之后,Code Review 会议怎么开
ai·llm·skill
莫逸风16 小时前
【AgentScope 2.0】 0. 学习指南
java·llm·agent·agentscope
大卫小东(Sheldon)19 小时前
小鹤音形词典:一个用 Rust 写的离线编码查询桌面工具
ai·rust
就业发动机20 小时前
我用 Tauri 做了一个约 1.5 MB 的开源屏幕标注工具:MarkerOn
vue.js·rust