原贴链接

嗨,r/LocalLLaMA社区!我想分享一个我正在做的有趣项目——在一个价格实惠的RK3588单板计算机上运行MiniCPM - V 2.6(一个80亿参数的多模态大型语言模型)。

快速规格:

  • 硬件:RK3588/RK3588s单板计算机(约130美元)
  • 模型:MiniCPM - V 2.6(80亿参数)
  • 内存使用:总共9.7GB(1.9GB视觉编码器 + 7.8GB大型语言模型)
  • 性能:
    • 视觉编码:4.8秒
    • 首个令牌延迟:2.2秒
    • 生成速度:约4个令牌/秒
    • 首次响应总延迟:约6.5秒

有趣之处:

  1. 完全本地推理 - 无需云端
  2. 经济实惠的硬件 - RK3588板广泛可用,价格约为130美元
  3. 考虑到价格点,性能不错
  4. 使用RKNN和RKLLM工具包进行NPU加速

这是与模型的一个示例交互(图像显示一个人打着伞过马路):

image

详细描述图像:{{测试.jpg}}

开始视觉推理… 视觉编码器推理时间:4.84秒 到首个令牌的时间:1.79秒 场景描绘了一个城市环境,有几个元素营造出活跃的氛围。可以看到一个人正走过人行横道,头上撑着一把蓝白相间的方格伞,可能是为了遮雨或遮阳。这个人看起来专注于过马路。

除了这个被关注的行人,还能看到多辆车:有黑色、银色、红色和灰色等各种颜色的汽车。这些车辆表明这个区域可能是一条交通繁忙的城市道路。不同颜色汽车的存在表明车主的多样性或者可能与特定的停车区域有关。

街道周围的环境包括道路两旁郁郁葱葱的绿树,提供阴凉并为城市景观增添了自然元素。这表明这个区域有维护良好的公共空间。此外,还能看到一个白色的金属栏杆,可能是作为人行横道或人行道的行人安全屏障。

交通标志也存在,包括杆子上的蓝色街道名称标志,有助于导航和交通管制。这些元素的存在表明在这个区域管理车辆行驶和行人活动有一套有组织的城市规划方法。

总体而言,这张图像捕捉了一个繁忙城市十字路口的瞬间,各种交通方式在一个为公众使用和安全而设计的结构化环境中共存。

(完成)


阶段 总时间(毫秒) 令牌数 每个令牌的时间(毫秒) 每秒令牌数

预填充 1762.20 94 18.75 53.34 生成 64962.49 261 249.89 4.00

该模型可以处理各种视觉 - 语言任务,如图像描述、视觉问答,甚至角色扮演(比如从猫的角度描述图像,非常有趣)。

技术细节:

  • 使用8位量化(尽管有一些精度损失)
  • 由于RKNN的一些限制,视觉编码器和大型语言模型在单独的进程中运行
  • 需要RKNPU2驱动版本≥0.9.6
  • 完整的源代码和转换脚本可在GitHub上获取

如果你有兴趣自己运行这个项目或者想了解更多信息,请查看[Huggingface仓库](https://huggingface.co/happyme531/MiniCPM - V - 2_6 - rkllm)。我已经记录了完整的设置过程并包含了所有必要的转换脚本。

这仍然是一个正在进行中的项目,存在一些已知问题,但我认为这是一个用经济实惠的边缘人工智能硬件展示可能性的很酷的演示。很乐意回答任何问题!该模型可以处理各种视觉 - 语言任务,如图像描述、视觉问答,甚至角色扮演(比如从猫的角度描述图像,非常有趣)。

瑞芯微大约8个月前为他们芯片的NPU基于llama.cpp制作了一个大型语言模型推理库,但它不是开源的,而且直到最近他们才让他们的库接受嵌入输入(一开始根本不起作用,他们将近一个月后才修复,摊手)

这个模型运行得相当好也相当快,然而,视觉编码器仍然有点慢,因为他们的NPU库一次只能在一个NPU核心(芯片有3个)上运行一个模型。

而且NPU的设计相当古老,它不支持混合精度矩阵乘法,所以只能使用w8a8(int8 x int8)或w16a16(fp16 x fp16)。并且w8a8有明显的精度损失。我们不知道他们是如何量化模型的。

如果你有兴趣在RK3588上运行大型语言模型,或者想深入了解它的NPU(它可能是最实惠且可用的NPU设备),你可以查看这个帖子获取更多信息。https://github.com/ggerganov/llama.cpp/issues/722

讨论总结

原帖主要介绍在低成本的RK3588单板计算机上运行8B参数的MiniCPM - V 2.6模型的项目成果,包括性能、技术细节等内容。评论者大多对项目持积极态度,有的表达赞赏和祝贺,有的正在进行类似工作且对原帖中的一些做法感兴趣。同时,也有评论者提出如Intel n100 boards性价比更高等观点,还有很多针对技术方面的疑问,例如模型扩展性、llama.cpp在微型计算机上的加速等。整体氛围积极且充满技术讨论氛围。

主要观点

  1. 👍 认可原帖项目有趣且成果显著
    • 支持理由:原帖展示了在低成本硬件上运行模型的成果,性能不错且技术创新。
    • 反对声音:无。
  2. 🔥 正在进行类似项目工作且对原帖部分做法感兴趣
    • 正方观点:原帖中的做法可能有助于自己的项目,如将视觉头部和LLM分开运行的想法。
    • 反方观点:无。
  3. 💡 Intel n100 boards性价比更高
    • 解释:没有给出详细对比依据,但直接表达该观点引发讨论。
  4. 🤔 关注rkllm团队对芯片3个核心的利用计划
    • 解释:从项目的技术扩展性角度提出问题。
  5. 👀 对中国公司封闭系统和保密协议文化表示不满
    • 解释:在表达对项目感兴趣的同时,对相关公司文化提出个人看法。

金句与有趣评论

  1. “🤩 An interesting project, well done!”
    • 亮点:简洁地表达了对项目的肯定。
  2. “😎 OMG YOU GOT IT ALL WORKING!”
    • 亮点:生动地表达出对原帖作者成功运行项目的惊叹。
  3. “🧐 Is it possible to use llama.cpp on any minicomputer with some acceleration?”
    • 亮点:提出关于技术应用范围的疑问,具有代表性。
  4. “😏 Intel n100 boards are more bang for the buck.”
    • 亮点:简洁直接地表达性价比比较的观点。
  5. “🤔 I wanted to buy orange pi 5 but I always disliked Chinese companies culture of making their systems closed and sometimes under NDA, they could really benefit from strong community I guess, I could see some rockstar fixing major issues in few days”
    • 亮点:在表达购买意向的同时,阐述对中国公司文化的看法并提出期望。

情感分析

总体情感倾向为积极。主要分歧点较少,部分可能的分歧点在于不同硬件性价比的比较,但没有形成激烈的争议。积极情感的原因是原帖展示了在低成本硬件上运行模型的创新成果,大部分评论者对此表示赞赏和肯定,并且很多人是从积极探索技术应用的角度进行评论。

趋势与预测

  • 新兴话题:不同硬件在运行模型方面性价比的深入比较,以及rkllm团队对芯片核心的利用计划。
  • 潜在影响:如果这些问题得到解决或者深入探讨,可能会影响相关硬件在运行类似模型时的市场选择,也可能推动rkllm团队进一步优化技术,提高硬件性能的利用效率。

详细内容:

标题:在廉价 RK3588 单板计算机上运行 8B VLM 的惊人探索

近日,Reddit 上一篇关于在价格约 130 美元的 RK3588 单板计算机上运行 8B 参数多模态语言模型(LLM)MiniCPM-V 2.6 的帖子引起了广泛关注。该帖获得了众多点赞和大量评论。

帖子主要介绍了该项目的详细规格,包括硬件配置、模型参数、内存使用、性能表现等方面。其亮点在于能在本地进行推理,无需依赖云服务,硬件价格实惠,性能在同价位中表现不错,还利用了 RKNN 和 RKLLM 工具包实现了 NPU 加速。

讨论焦点主要集中在以下几个方面: 有人表示正在为一些产品想法做类似的工作,原本已放弃在 NPU 上转换有意义大小的 VLLM 模型,打算仅使用 CPU 推理,对将视觉头和 LLM 分在不同进程运行的想法很感兴趣。 有人指出英特尔 n100 板性价比更高,但被反驳其没有 NPU。 有人好奇是否能在任何微型计算机上使用 llama.cpp 并加速,得到回复称每个加速器都需要特定的后端。 有人询问是否能运行其他 LLM 以及 RKLLM 团队是否有利用全部 3 个核心的计划。

共识在于大家都对这种在廉价硬件上实现高性能 LLM 运行的探索表示赞赏。特别有见地的观点如有人详细介绍了相关的转换脚本和存储配置等技术细节。

总之,这一话题展示了在低成本硬件上实现先进技术的可能性和挑战,激发了众多技术爱好者的深入探讨。