不是 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 的跨平台应用程序,包括自己的笔记本电脑、边缘设备和服务器。
在自己的设备上运行 Mixtral-8x7B
步骤1:通过以下命令行安装 WasmEdge。
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,下载可能需要一定时间。
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 源代码在这里。
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_0.gguf llama-chat.wasm -p mistral-instruct
可移植 Wasm 应用程序会自动利用设备上的硬件加速器(如 GPU)。
以下在 Jetson Orin 64G 上运行的问答。
[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 源代码。
curl -LO https://github.com/second-state/llama-utils/raw/main/api-server/llama-api-server.wasm
然后,下载聊天机器人 Web UI,以通过聊天机器人 UI 与模型进行交互。
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.wasm -p mistral-instruct
还可以从另一个终端使用 curl 与 API 服务器交互。
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)是机器学习和人工智能中的一个概念,其中多个专业化的模型或组件(称为“专家”)相结合以提高整体性能。 每个专家都被设计来处理特定的数据子集或特定类型的任务。 会有一个门控网络评估每个输入并确定最适合它的专家。 然后专家的输出被组合起来,通常是相加的。 这种方法允许在单个模型框架专业化地对不同的数据或任务进行处理,从而提高效率和有效性。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
TDD、BDD、ATDD都是什么、有什么区别?(下)
在《TDD、BDD、ATDD都是什么、有什么区别?(上)》一文中,探讨了探讨TDD、BDD和ATDD的概念。虽然TDD、BDD和ATDD都是软件开发中使用的测试方法,但它们在方法和重点上有所不同。 TDD、BDD和ATDD之间的主要区别在于关注点、抽象层级和协作。 1、关注点 TDD侧重于测试代码并确保它满足需求。BDD关注软件的行为,并确保它满足业务需求。ATDD关注于验收标准,并确保软件满足业务需求。 2、抽象层级 TDD专注于代码级别,并使用单元测试来验证代码的功能。BDD专注于功能级别,并使用场景来描述所需的行为。ATDD专注于验收标准,并使用验收测试来验证软件是否满足要求。 3、协作 TDD主要是一个以开发人员为中心的过程,包括编写测试和代码。BDD和ATDD涉及开发人员、测试人员和涉众之间的协作,以确保软件满足业务需求。虽然这三种方法有一些相似之处,但它们在方法、范围和目的上有所不同。 1、范围 TDD专注于代码的开发和验证其行为的测试。这个过程从编写一个失败的测试用例开始,然后编写通过测试所需的最低数量的代码,然后重构代码。TDD确保代码在发布之前经过彻底测试并满足要求...
- 下一篇
MQTT 持久会话 vs. Clean Session内幕一网打尽
1 前言 不稳定的网络 有限的硬件资源 物联网应用两大难题,MQTT 客户端与服务器的连接可能随时因网络波动及资源限制而异常断开。为解决网络连接断开对通信造成的影响,MQTT 协议提供持久会话功能。 MQTT 客户端在发起到服务器的连接时,可设置是否创建一个持久会话。持久会话会保存一些重要数据,以使会话能在多个网络连接中继续。 2 作用 避免因网络中断导致需要反复订阅带来的额外开销 避免错过离线期间的消息 确保 QoS 1 和 QoS 2 的消息质量保证不被网络中断影响 3 持久会话需存储哪些数据? 通过上文我们知道持久会话需要存储一些重要的数据,以使会话能被恢复。这些数据有的存储在客户端,有的则存储在服务端。 客户端中存储的会话数据: 已发送给服务端,但是还没有完成确认的 QoS 1 与 QoS 2 消息 从服务端收到的,但是还没有完成确认的 QoS 2 消息 服务端中存储的会话数据: 会话是否存在,即使会话状态其余部分为空。 已发送给客户端,但是还没有完成确认的 QoS 1 与 QoS 2 消息。 等待传输给客户端的 QoS 0 消息(可选),QoS 1 与 QoS 2 消息。 从...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- CentOS关闭SELinux安全模块