maximum_timeflow_3.0_release版本
maximum_timeflow
maximum_timeflow 是面向边缘智能的轻量级 AI 推理子系统,具备双引擎架构、统一API设计、全链路安全验证与多后端扩展四大核心能力,全面支持资源受限的LiteOS-M轻量设备与功能完整的宿主机环境。
🌐 双引擎架构,一次开发多端部署
maximum_timeflow 内置两套独立的推理引擎,分别服务于开发与部署场景:
- 原生引擎:运行于Linux,支持.htf签名加密模型、FP32+INT8双精度路径、Arena内存池管理,适用于开发与测试阶段
- LiteOS-M 引擎:运行于轻量系统(RISC-V)采用静态 BSS 缓冲区零堆分配、仅依赖 libc + LOS 内核 API,极致优化内存占用,真正实现"智能无处不在"
两套引擎共享相同的数学逻辑(Dense 层前向传播),但实现路径完全独立,确保开发效率与部署轻量化的兼顾。
🧠 统一 API 设计,简洁易用的推理接口
- 引擎创建与销毁:htf_engine_create() / htf_engine_destroy() 管理引擎上下文
- 模型加载:htf_engine_load_model() 支持从文件加载 .htf 容器模型
- 推理执行:htf_engine_run()(FP32)与 htf_engine_run_int8()(INT8 量化)双路径
- 元数据查询:htf_engine_get_model_info() / htf_engine_describe() 获取模型信息与引擎描述
关键设计决策:
- 不透明句柄:htf_engine_t 为不完整结构体类型,编译器可执行类型检查
- ABI 兼容:结构体带 struct_size 字段,枚举只追加不重编号
- 线程安全:单引擎实例必须串行调用(共享 Arena),不同实例可并发
📦 .htf 模型容器格式,安全可靠的模型管理
项目自定义了 .htf 二进制模型容器格式,包含严格的元数据与安全机制:
- 文件布局:Header(204B)+ Layer Descriptors(106B×N)+ Weight Blob + Extension Blob
- 魔法标识:“HTF1” 四字节标识,字节序无关的逐字节比较
- 元数据声明:输入/输出维度、量化标志(QUANTIZED/PER_CHANNEL/COMPRESSED/ENCRYPTED)
- 完整性保护:SHA-256 摘要覆盖全部载荷,Ed25519 数字签名防篡改
- 安全读取:所有多字节字段通过memcpy安全读取,避免strict aliasing与对齐陷阱;每个offset+size使用前做边界校验;未知flag位直接拒绝
🔒 全链路安全验证,从加载到执行的可信保障
模型加载采用严格的三步验证链:
- 结构验证:检查magic、版本、offset/size不越界、层间维度一致性。
- 摘要验证:SHA-256重算 vs 存储值,捕获意外损坏与截断。
- 签名验证:Ed25519验证,真正防篡改——攻击者无法伪造签名。
验证策略由调用者选择:HTF_VERIFY_STRICT(默认,三步全做)、HTF_VERIFY_DIGEST(仅摘要)、HTF_VERIFY_NONE(仅开发用)。
密码学能力集成:
- AES-256-GCM 加密/解密(OpenSSL 3.x EVP 高级接口),失败即关闭策略。
- Ed25519 签名/验签(比 RSA-2048 小 4 倍,验签快 3 倍)。
- 敏感缓冲区释放前清零(htf_crypto_wipe_free),抵御内存提取攻击。
- 旧版全零密钥默认值已移除,加密模型无密钥直接报错。
⚙️ 高性能推理内核,FP32/INT8 双路径 SIMD 优化
系统内置高性能计算核函数,根据 CPU 特性自动选择最优执行路径:
- FP32 Dense 核:融合matmul+bias+activation为一次遍历避免多次读写输出。
- AVX2 向量化路径:输出维度并行化(8路 SIMD),归约维度保持标量顺序,数值差异控制在 1-2 ULP 内。
- INT8 量化路径:权重对称量化+激活非对称量化,支持行和修正(row-sum correction)消除量化偏移。
- 运行时派发:CPU 特性检测( __builtin_cpu_supports() ),非x86平台回落到标量基线,热路径仅一次间接调用开销。
🧠 Transformer 解码器,支持 Llama 族大模型推理
系统集成了完整的 decoder-only Transformer 解码器(Llama 族),支持大语言模型的端侧推理:
- RMSNorm:使用 double 累加平方和,避免大维度下的精度丢失
- RoPE:旋转位置嵌入,cos/sin 表在创建时预计算
- KV Cache:支持预填充与逐 token 解码共享同一缓存,提升生成效率
- SwiGLU FFN:down(silu(gate(x)) ⊙ up(x)) 前馈网络
- 采样器:支持 temperature / top-k / top-p 采样策略,xorshift64* PRNG 保证确定性可复现
- 字节级Tokenizer:256 词表,每字节一个 token,无 OOV 问题
多后端灵活扩展,MindSpore Lite / llama.cpp
系统通过后端抽象层实现灵活的后端切换:
- MindSpore Lite 后端:运行MindIR(.ms)模型,适用于需要高性能高精度的场景。
- llama.cpp 后端:运行GGUF语言模型,采样器复用HTF统一实现确保切换后端不改变采样语义。
- 原生推理引擎:零依赖、超轻量,适用于无NN库支持的裸机环境。
后端工厂机制动态绑定不同执行路径,实现同一接口、多种执行方式。
📱 OpenHarmony_liteos-m平台深度集成,面向轻量设备的极致优化
系统在LiteOS-M平台上实现了深度集成:
- 任务调度:通过LOS_TaskCreate创建推理任务,LOS_SwtmrCreate软件定时器周期调度。
- 中断安全:定时器回调运行在中断上下文,仅递增计数器,不做浮点运算或打印。
- 零分配推理:静态BSS缓冲区实现推理全程零malloc,避免微控制器上malloc失败导致不可恢复状态。
- 内置异常检测模型:Dense128→32→16→1网络,输入128维传感器数据,输出异常概率值。
基于硬件设备的测试
极致轻量,嵌入式友好
| 指标 | 数值 |
|---|---|
| LiteOS-M ROM 占用 | ~23 KB(其中权重表 18.8 KB) |
| LiteOS-M 静态 RAM | ~1 KB + 2 KB 任务栈 |
| 推理 Arena 开销 | 1152 B(仅占 128 KB 预算的 0.88%) |
INT8 量化,资源大幅缩减
- 模型权重体积 缩小 4 倍(FP32: 18496 B → INT8: 4624 B)
- 推理 RAM 占用 降低 75%(2560 B → 640 B)
- 纯整数 MAC 在 Cortex-M(CMSIS-NN)上走快路径,无需 FPU
硬件跑分,数据可复现
已在 6 款 STM32 开发板 和 WS63(RISC-V)实体板 上完成基准测试:
| 平台 | 最快推理耗时 | 精度验证 |
|---|---|---|
| STM32H735G-DK(FP32) | 0.031 ms(17,314 cycles) | 通过 |
| STM32H735G-DK(INT8) | 0.053 ms(29,065 cycles) | 通过 |
| WS63 LiteOS-M(FP32) | 533 μs 平均 / 1.0 ms p95 | 误差 2.98e-08 |
所有测试数据均来源于实体硬件,模型权重 100% 来自仓库源码,未引入任何外部预训练模型。
零堆分配,运行时绝对安全
- 完整生命周期(init + 2000 次推理 + deinit)堆分配次数为 0
- 经 GNU ld
--wrap=malloc精确审计确认,非"未检测到"伪装 - 核心改用静态 BSS 缓冲,杜绝堆碎片风险
CPU 向量加速,宿主机性能强劲
- AVX2+FMA 路径较标量路径加速 3.98 倍(255×129 矩阵乘法)
- FP32 端到端引擎推理:398 ns mean(251 万 ops/sec)
- INT8 端到端引擎推理:502 ns mean(199 万 ops/sec)
全链路安全与质量保障
- 模型容器支持 SHA-256 + Ed25519 签名验证 + AES-256-GCM 加密
- 数值正确性经 numpy 独立参考实现校验(误差 < 1e-6)
- 测试套件 26/26 全通过,含 valgrind 内存检查(0 泄漏 0 非法访问)
🌱 maximum_timeflow 正在成长
🧠 专注于人工智能在嵌入式设备中的实现与应用
🧩 深度集成于系统架构之中
🔓 精简,为未来的演进预留了充足空间
🤝 我们诚邀您与我们一同定义轻量智能的未来
本仓库已加入 OpenHarmony AI Model SIG 共建
openKylin已创建HTF SIG
本项目于世界人工智能大会(WAIC)大会上进行技术报告
这个项目非常适合:
💻 开发者 🔬 AI 研究者 🏫 教师 🌐 开源贡献者
您的参与是 maximum_timeflow 成长的关键一步
✨ 关注、讨论、改进 —— 智能的未来由我们共同定义
🌍 加入 maximum_timeflow 的协作之旅,让每一行代码都为嵌入式设备的智能化贡献力量
- 点赞
- 收藏
- 关注作者
评论(0)