谷歌开源 AI 文件检测工具 Magika 1.0 发布:全面迁移至 Rust

11月7日,当地时间周四,谷歌宣布推出 Magika 1.0,这是该公司基于人工智能的文件类型检测系统的首个稳定版本,采用 Rust 语言进行重构以提升速度和内存安全性。据谷歌介绍,自去年初开放源代码以来,Magika 已被广泛应用于开源社区,每月下载量超过 100 万次。此次更新带来了全新的架构、性能提升以及对更多文件类型的支持。

谷歌开源 AI 文件检测工具 Magika 1.0 发布:全面迁移至 Rust

如前所述,Magika 1.0 最大的变化就在于其核心引擎已完全采用 Rust 重写,以实现更高的性能和内存安全性。另外,新版 Magika 还提供原生的 Rust 命令行工具,可在单核下每秒识别数百个文件,并能在多核 CPU 上扩展至每秒数千个。

据介绍,该系统使用 ONNX Runtime 进行模型推理,并借助 Tokio 框架实现异步并行处理。谷歌公布的测试数据显示,在 MacBook Pro(M4)上,Magika 每秒可处理约 1,000 个文件。在文件类型支持方面,Magika 1.0 的检测能力扩展至 200 多种文件格式,是初始版本的两倍。此次新增类别包括:

数据科学与机器学习:支持 Jupyter Notebooks(ipynb)、Numpy(npy, npz)、PyTorch(pytorch)、ONNX(onnx)、Apache Parquet(parquet)及 HDF5(h5)等文件;

现代编程与网页开发:新增 Swift、Kotlin、TypeScript、Dart、Solidity、WebAssembly(wasm)及 Zig;

DevOps 与配置文件:支持 Dockerfile、TOML、HashiCorp HCL、Bazel 构建文件及 YARA 规则等;

数据库与图形格式:新增 SQLite、AutoCAD(dwg, dxf)、Photoshop(psd)以及现代网页字体(woff, woff2)等。

Magika 1.0 还提升了区分相似格式的能力,例如可分别识别 JSONL 与 JSON、TSV 与 CSV、Apple 二进制 plist 与 XML plist,以及区分 C 与 C++、JavaScript 与 TypeScript 等语言文件。

在技术实现上,团队面临两大挑战:训练数据规模庞大与部分文件类型样本稀缺。未压缩的数据集超过 3TB,为此谷歌采用自研的 SedPack 数据集库,通过流式加载与解压技术实现高效训练。同时,针对样本不足的文件类型,研究团队使用生成式 AI 工具 Gemini 创建高质量的合成训练数据,将现有代码和结构化文件转换为其他格式,以增强模型的泛化能力。

新版 Magika 还同步更新了 Python 与 TypeScript 模块,简化了开发者在各语言中的集成过程。用户可通过简单命令在 Linux、macOS 或 Windows 上安装原生客户端,也可通过 pipx install magika 安装 Python 包使用 Rust 版命令行工具。谷歌表示,Magika 的未来发展将持续聚焦于性能优化与文件类型扩展。团队鼓励开发者社区参与贡献,包括测试、功能请求及代码提交。

原创文章,作者:Android,如若转载,请注明出处:https://www.kejixun.co/article/738052.html

Android的头像Android认证作者

相关推荐

发表回复

登录后才能评论