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

相关推荐
许野平1 小时前
Rust: 利用 chrono 库实现日期和字符串互相转换
开发语言·后端·rust·字符串·转换·日期·chrono
水豚AI课代表1 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
真忒修斯之船3 小时前
大模型分布式训练并行技术(三)流水线并行
面试·llm·aigc
SpikeKing4 小时前
LLM - 使用 LLaMA-Factory 微调大模型 环境配置与训练推理 教程 (1)
人工智能·llm·大语言模型·llama·环境配置·llamafactory·训练框架
学习前端的小z5 小时前
【AIGC】如何通过ChatGPT轻松制作个性化GPTs应用
人工智能·chatgpt·aigc
DisonTangor5 小时前
苹果发布iOS 18.2首个公测版:Siri接入ChatGPT、iPhone 16拍照按钮有用了
ios·chatgpt·iphone
晨欣5 小时前
Elasticsearch和Lucene之间是什么关系?(ChatGPT回答)
elasticsearch·chatgpt·lucene
‍。。。11 小时前
使用Rust实现http/https正向代理
http·https·rust
Source.Liu11 小时前
【用Rust写CAD】第二章 第四节 函数
开发语言·rust
monkey_meng11 小时前
【Rust中的迭代器】
开发语言·后端·rust