返回首页
最新
在树莓派 Pico 2 W 上实现了软件 10BASE-T 以太网(使用 PIO 进行 TX 和 RX 的位操作)和无线路由器。该系统在 RP2350 的 RISC-V 核心上运行 cyw43 和一个异步执行器,使用廉价且简约的外部硬件(仅需一个磁性插座和 ISL3177E RS-485 收发器)。我想看看在这个便宜的基于 MCU 的 Wi-Fi 路由器构思上能走多远,并进一步了解在 RP2350 和 RISC-V 上使用 Rust 的相关知识。虽然这绝对不是一个适合家庭使用的路由器选择,但对于低速率的物联网流量来说可能会有一些用处。
关于我如何构建批量嵌入引擎 IgniteMS 的简要说明。
整个系统作为一个进程运行,使用 Rust 语言,负责读取输入、分词、打包批次,并保持队列满载。推理由 TensorRT 处理,Python 仅作为包装层。
我之所以这样构建,是因为当使用超过几张 GPU 时,GPU 不再是瓶颈。CPU 不能够足够快地为它们提供数据。一张 A100 的处理速度快于 Python 的分词和数据输入速度,因此 GPU 往往处于空闲状态,等待工作。我的大部分时间都花在了优化这一点上。在 8 张 GPU 的情况下,这基本上就是整个挑战。
关于成本。我在一个临时的 p4d 实例(8 张 A100 40GB)上运行了一个 20 亿消息的大型任务。经过过滤和去重,我得到了 6.85 亿条原始文本。使用我的新引擎,整个生产过程大约在半小时内完成。之前我为这些任务使用的是按需实例,现在切换到了临时实例。如果 AWS 收回了实例,我只需重新运行。半小时的运行成本大约为 7 美元。而且至少目前来说,临时实例比按需实例更容易获取。
公开警告:它仅支持批处理,并且仅适用于 NVIDIA。你可以将其作为 Docker 镜像或本地运行。
我在生产运行中使用了一些优化。在默认设置下,如果你在你的 p4d 实例上运行基准测试脚本,可以预期看到约 25 万条消息/秒的处理速度。
[基准测试文档链接](https://github.com/Artain-AI/ignite-ms/blob/main/BENCHMARKING.md)
v1.1.0 版本增加了 TensorRT 11 和 60 个模型,其中 23 个在 1x 和 4x A100 上进行了测试。
很高兴分享更多细节。