我如何仅用24GB内存运行193B参数模型

Reddit r/ArtificialInteligence 工具

摘要

介绍 Iris Ai,一个在消费级硬件上将查询路由至8个专用LLM的系统,通过每次仅激活一个模型和动态模型交换,以低内存实现大模型性能。

过去一年里,我一直坚信行业在解决错误的问题。我们不需要更大的模型,我们需要更聪明的部署。我想把模型命名为 "Iris Ai"。Iris 在一台消费级机器上运行 8 个专用 LLM(Triage、Router、Control、Math、Code、Reasoning、General、Vision),并有一个硬约束:在任何执行时间戳上 M\_active ≤ 1。峰值内存占用由单个最大的活动模型决定,而不是整个集群的总和。 路由机制如下: - 阶段 1:零成本正则扫描器捕获明确输入(AST 模式、数学操作数、文件路径)并直接路由——亚毫秒级,无需神经推理 - 阶段 2:一个小型分诊模型(T=0.2,Top-P=0.1)处理模糊输入,并从封闭词汇表中输出单个结构化路由 token 在模型交换时,我们执行显式的三阶段清理:释放 KV 缓存 → gc.collect() + cuda.empty\_cache() / mlx.metal.clear\_cache() → 加载新的 GGUF。在 Apple Silicon 上跳过 Metal 缓存清理会导致新模型加载与保留的 Metal 分配冲突。 我们 Medium 档位的基准测试(总计 66B,活跃 ≤14B,16GB RAM): - HumanEval 92.0%(pass@1,贪心解码) Large 档位(总计 193B,活跃 ≤32B,24GB VRAM): - HumanEval 95.0%,MATH 94.0% 另外,一个 40B 的数学专家在数学上击败了 200B 的通用模型。一个 14B 的代码专家在 MacBook Air 上达到 HumanEval 92%。我们的主张不是"越大越好",而是"专业化 + 动态加载"在消费级硬件上胜过"单体扩展"。 专家模型使用 LoRA(r=16/32,alpha=2r)训练,目标为 W\_q/W\_k/W\_v/W\_o,随后将 delta 矩阵合并回基础权重——推理时零适配器开销。数学和推理专家使用 GRPO 而非 RLHF,奖励信号包括格式合规(<think> 标签)、编译器验证的语法和冗长惩罚。 几点需要说明的上下文:所有基准分数都是在启用动态输出 harness 的情况下测得的(AST 截断修复、自动导入注入、LaTeX 归一化器)。该 harness 是系统的一部分——不是后处理技巧——但为了透明起见,值得说明。 当前路线图: - 将模型加载与前序 token 流重叠(消除感知到的交换延迟) - 基于运行时内存压力的在线量化热补丁 - 将 GRPO 训练扩展到 Vision 和 Control 专家 这里是源代码,包含训练代码和数据、路由机制以及基准测试脚本:https://www.github.com/ahmedbarakat207/Iris-Ai MIT 许可。一切都在 llama.cpp / GGUF 上运行。
查看原文

相似文章