加密钱包与支付解决方案

Infera:在DuckDB中实现原生推理的Rust扩展,解放数据到模型的障碍

加密钱包与支付解决方案
在数据库内部直接运行机器学习模型的实践指南,介绍Infera的设计思路、功能亮点、部署与优化建议,以及与传统外部推理方案的比较,帮助工程师和数据分析师评估在DuckDB中做推理的可行性与最佳实践

在数据库内部直接运行机器学习模型的实践指南,介绍Infera的设计思路、功能亮点、部署与优化建议,以及与传统外部推理方案的比较,帮助工程师和数据分析师评估在DuckDB中做推理的可行性与最佳实践

在数据工程与机器学习的日常工作中,数据往往被存放在数据库中,而模型推理通常在数据库之外进行,这带来了数据搬移、重复存储和开发运维复杂度等问题。Infera是一个以Rust编写的DuckDB扩展,旨在将机器学习推理能力原生地带入数据库查询流程,从而让开发者可以直接在SQL语句中调用模型,极大简化数据到预测的路径。Infera使用Tract作为推理引擎,支持ONNX模型格式,并提供远程与本地加载、模型自动加载、列向量与张量输入等功能,这使得它成为面向分析场景的轻量级推理方案之一。核心设计与实现细节Infera以DuckDB扩展的形式工作,这意味着用户可以在DuckDB会话内通过SQL函数来加载、调用和卸载模型。核心推理引擎使用Tract,Tract是一个Rust生态中的轻量级ONNX推理库,专注于在CPU上高效运行并支持常见的神经网络操作。Infera将模型以名称注册在扩展的模型管理器中,支持从本地路径或远程URL加载ONNX文件。

加载后的模型在内存中驻留,并可以被多个查询线程安全访问,从而实现高并发推理。模型调用接口设计简洁直观。典型的操作流程包括:使用SQL函数 infera_load_model(name, url_or_path) 加载模型,使用 infera_predict(name, col1, col2, ...) 或 infera_predict_tensor(name, tensor_blob) 在查询中对表列或原始张量数据进行推理,最后通过 infera_unload_model(name) 卸载模型释放资源。扩展还提供 infera_get_version() 等管理函数,方便运维和调试。功能亮点与适用场景Infera能够把模型推理当作SQL查询的一等公民,这为若干场景带来明显价值。实时或近实时的分析场景能够直接在数据层进行评分与打分,避免了数据导出到外部服务或批处理系统的额外开销。

数据仓库与报表系统可在生成报表时嵌入模型预测结果,简化报表管线。小型在线服务或轻量推理管道可以在单机DuckDB实例中完成数据存储与模型推理一体化部署,减少运维复杂度。Infera支持本地和远程模型加载,便于团队采用集中化模型仓库或直接拉取公开模型库的资源。支持对表列进行逐行推理与对原始张量做批量预测,允许用户按需选择行级服务或批量处理,从而兼顾延迟与吞吐。部署与快速上手在DuckDB中使用Infera有两条主要路径。第一种是从DuckDB社区扩展仓库安装并加载扩展,适用于快速试验与生产环境中支持的预编译版本。

常用的SQL命令为:install infera from community;load infera;第二种是从源码构建,适合需要定制或在特定DuckDB版本上静态链接的场景。典型流程包括克隆仓库、递归拉取子模块、执行 make release 以编译扩展,然后在本地DuckDB二进制中通过 load 'path/to/infera.duckdb_extension'; 加载扩展。要注意构建出的扩展仅与其编译时所使用的DuckDB版本兼容。加载模型与推理示例可以非常简洁。以一个简单的线性模型为例,加载并预测的SQL如下:select infera_load_model('linear_model', 'https://github.com/CogitatorTech/infera/raw/refs/heads/main/test/models/linear.onnx');select infera_predict('linear_model', 1.0, 2.0, 3.0);select infera_unload_model('linear_model');性能与资源管理考量Infera基于Tract的运行时,优化点主要在模型结构、输入管道与批处理策略上。Tract擅长在CPU上执行许多常见操作,对于没有复杂自定义算子的ONNX模型,运行效率较高。

为了获得最佳性能,应当尽量选择适合CPU推理的模型架构,避免对GPU特性或专有算子有强依赖的模型。如果需要更高性能或GPU加速,可能需要使用诸如ONNX Runtime或TensorRT等工具,并通过外部服务方式来实现更复杂的部署。为了减小内存占用并提升吞吐,建议采用批量推理的方式。将多行数据打包为一个张量传入 infera_predict_tensor 可以减少模型初始化与调用开销。对于列到张量的转换,最好在SQL层面提前完成必要的类型转换与缺失值填充,保证模型输入张量的数据类型一致。Infera支持多输出模型,但调用时需明确模型输出的结构,后续SQL处理也应对应解析不同的输出维度。

模型兼容性与调试Infera依赖ONNX格式与Tract的算子支持,因此不是所有在ONNX生态中导出的模型都能直接运行。常见问题包括不受支持的自定义算子、较新opset版本的不兼容以及模型中包含稀有或未实现的图操作。调试时可以先在Tract本地运行模型,确认输入数据形状和类型后再在DuckDB中调用。将模型导出为较低opset版本并避免使用自定义或实验性算子通常能提高兼容性。模型量化与简化工具可以在不显著牺牲精度的前提下,减小模型体积并提高CPU推理效率。与外部推理服务的比较将推理嵌入数据库与使用外部推理服务各有优劣。

内置扩展如Infera的优势在于简单、低运维、数据在库内无需导出且延迟较低,特别适合小到中等规模的批量推理与分析场景。外部推理服务的优势在于能够调用更强大的推理后端、支持GPU加速、能够横向扩展以应对高并发在线请求。产品实践中可以根据需求混合使用:分析型查询与离线评分在DuckDB + Infera中运行;对高并发低延迟的在线推理仍然使用专用的推理服务。实践建议与最佳做法在使用Infera时,先从小规模原型入手,验证模型在Tract上的兼容性和对业务数据的预测质量。尽量在模型导出阶段关注ONNX opset版本和算子使用,必要时进行模型裁剪或替换不兼容的算子。对于批量推理任务,合并多行输入为张量形式有助于提高吞吐。

在SQL层面做好数据清洗和类型规范,避免在扩展内部做复杂的数据预处理,从而让推理逻辑更专注于模型调用。资源监控和模型卸载也非常重要。长期驻留的大模型会占用大量内存,合理设置模型生命周期与卸载策略,或者通过Infera的自动加载目录功能只加载必需模型,可以降低内存压力。对于多模型场景,评估并行加载和并发推理对CPU资源的影响,避免因过度并发导致的上下文切换和缓存抖动。生态整合与模型来源Infera推荐使用ONNX Model Zoo等公开资源快速试验模型。Hugging Face等平台也提供大量预训练ONNX模型,适合做功能验证或基线测试。

对于企业级部署,建议建立内部模型仓库并配套版本管理策略,结合标签用于在DuckDB中按需加载特定版本的模型。模型的权限管理、审计日志与可解释性分析仍需在上层系统设计中考虑,因为在数据库内部运行推理并不自动提供模型治理能力。适用场景示例定期批量特征工程和评分可以完全在DuckDB中完成,分析师可以写一个SQL查询在聚合后直接调用模型,输出带有预测列的结果表并持久化。实时报告场景可以在报表生成时动态计算预测值,从而在展示中提供最新的预测信息。小型数据产品可以将DuckDB作为数据与推理的单体部署,减少系统间通信并降低运维门槛。学术和研发团队可以利用Infera作为实验平台,快速验证不同模型在真实数据库数据上的效果。

局限与未来发展方向当前Infera处于早期开发阶段,因此在稳定性、算子覆盖和性能方面还有提升空间。Tract本身侧重于CPU执行,若对GPU加速有强需求,需要借助其他推理后端或外部服务。复杂模型和含有自定义算子的网络可能无法直接运行,需要开发者在模型导出或转换阶段做额外处理。未来可以期待更丰富的模型管理、运行时优化、更多后端支持以及更完善的监控与治理功能。贡献与许可Infera采用双重许可(MIT与Apache-2.0),便于在开源和商业项目中使用并进行二次开发。社区贡献对于扩展算子支持、增强文档和完善示例非常重要。

对于希望参与的人士,阅读仓库中的CONTRIBUTING.md和ROADMAP.md可以快速上手,提交问题和合并请求能够帮助项目更快迭代。总结与建议将机器学习推理嵌入数据库查询流程是一个能显著简化数据科学和工程流程的思路。Infera通过在DuckDB中提供原生推理能力,使数据从存储到预测的路径变得短而直接。对于以分析为主、在CPU环境中运行模型的场景,Infera是一个值得尝试的轻量级方案。在采用过程中,应重视模型兼容性、批处理策略和资源管理,并针对用例选择合适的部署方式。结合内部模型仓库与标准化导出流程,可以把Infera变成团队快速试验与生产化评分的重要工具。

尝试从一个简单的线性模型入手,逐步扩大到更复杂的网络,会是探索在数据库内部实现推理的稳妥路径。 。

飞 加密货币交易所的自动交易 以最优惠的价格买卖您的加密货币

下一步
深入解析Sora2-AI平台的核心功能、适用场景、操作流程与实战技巧,帮助内容创作者和企业用更低成本、更高效率生成专业级视频与同步音频,并理性看待其限制与合规要点。
2026年02月20号 20点05分44秒 Sora 2:用AI打造逼真视频与音频的下一代创作工具

深入解析Sora2-AI平台的核心功能、适用场景、操作流程与实战技巧,帮助内容创作者和企业用更低成本、更高效率生成专业级视频与同步音频,并理性看待其限制与合规要点。

探讨一种可以自我调谐、将环境振动高效转换为电能的装置原理、应用场景、设计要点与产业化前景,以及在物联网与无线传感器网络中替代电池的潜力与挑战
2026年02月20号 20点24分05秒 自调谐振动能量采集:把环境震动变成持续电力的下一代技术

探讨一种可以自我调谐、将环境振动高效转换为电能的装置原理、应用场景、设计要点与产业化前景,以及在物联网与无线传感器网络中替代电池的潜力与挑战

从福特CEO与年轻一线工人的对话出发,剖析Z世代在制造业中的生活压力、技工短缺的根源与影响,以及企业、政府与教育体系可行的长期解决路径与策略建议
2026年02月20号 20点32分15秒 蓝领新危机:福特CEO与Z世代工人的"顿悟"与产业应对之道

从福特CEO与年轻一线工人的对话出发,剖析Z世代在制造业中的生活压力、技工短缺的根源与影响,以及企业、政府与教育体系可行的长期解决路径与策略建议

深入解析Thatch如何借助ICHRA等政策工具与技术基础设施,重塑雇主与个人之间的保险关系,通过市场化选择与激励设计推动成本可控、覆盖更广、以健康为导向的医疗体系
2026年02月20号 20点42分30秒 Thatch:以激励与选择重塑美国医疗体系

深入解析Thatch如何借助ICHRA等政策工具与技术基础设施,重塑雇主与个人之间的保险关系,通过市场化选择与激励设计推动成本可控、覆盖更广、以健康为导向的医疗体系

介绍 OneTabMan 的设计理念、使用方法、源码与隐私考量,以及如何将单标签策略融入个人生产力和浏览习惯以减少干扰并提升专注度
2026年02月20号 20点48分07秒 OneTabMan:把标签页降到只剩一个,重建专注与高效的极简浏览工具

介绍 OneTabMan 的设计理念、使用方法、源码与隐私考量,以及如何将单标签策略融入个人生产力和浏览习惯以减少干扰并提升专注度

介绍如何从 Hacker News 的 Ask HN: Who wants to be hired?(2025年10月)帖子中高效寻找或吸引人才,覆盖发帖写法、筛选要点、沟通模板、面试与报酬谈判等实战建议,帮助求职者与招聘方提升命中率和效率。
2026年02月20号 20点51分45秒 利用 Ask HN: Who wants to be hired?(2025年10月)构建高效求职与招聘策略

介绍如何从 Hacker News 的 Ask HN: Who wants to be hired?(2025年10月)帖子中高效寻找或吸引人才,覆盖发帖写法、筛选要点、沟通模板、面试与报酬谈判等实战建议,帮助求职者与招聘方提升命中率和效率。

一篇深入讲解如何在旧金山附近构建和运行30PB级别存储集群的实操指南,覆盖成本比较、硬件选择、网络设计、数据中心要求、软件架构与部署流程,为需要大规模训练视频模型或海量冷存储的工程团队提供落地参考与注意事项。
2026年02月20号 20点54分14秒 在旧金山心脏地带自建30PB存储集群:成本、实施与实战经验

一篇深入讲解如何在旧金山附近构建和运行30PB级别存储集群的实操指南,覆盖成本比较、硬件选择、网络设计、数据中心要求、软件架构与部署流程,为需要大规模训练视频模型或海量冷存储的工程团队提供落地参考与注意事项。