گوگل بهتازگی نسخهی پایدار ابزار Magika 1.۰ را منتشر کرده است؛ سیستمی متنباز که با بهرهگیری از هوش مصنوعی (AI) میتواند نوع فایلها را با دقت بسیار بالا تشخیص دهد. این نسخهی جدید که بهطور کامل با زبان Rust بازنویسی شده، نسبت به نسخهی آزمایشی سال گذشته دو برابر فرمتهای بیشتری را پشتیبانی میکند و از نظر عملکرد نیز جهشی چشمگیر داشته است.
بازنویسی در Rust؛ سرعت و ایمنی بیشتر
یکی از مهمترین تغییرات در نسخهی ۱.۰، بازنویسی کامل Magika به زبان برنامهنویسی Rust است. گوگل اعلام کرده که این تصمیم با هدف بهبود سرعت، پایداری و امنیت گرفته شده است. طبق آزمایشهای انجامشده، این ابزار قادر است روی یک MacBook Pro با تراشهی M4 حدود ۱۰۰۰ فایل در ثانیه را پردازش کند.
Magika برای اجرای مدلهای یادگیری ماشین از ONNX Runtime بهره میبرد که یک موتور سبک و سریع برای استنتاج مدلهای هوش مصنوعی است. همچنین با استفاده از Tokio، پشتیبانی از پردازش موازی و ناهمگام فراهم شده است؛ به این معنا که ابزار میتواند چندین فایل را همزمان و بدون کاهش کارایی تحلیل کند.
پشتیبانی از بیش از ۲۰۰ نوع فایل
در نسخهی جدید، Magika اکنون بیش از ۲۰۰ نوع فایل مختلف را شناسایی میکند — دو برابر بیشتر از نسخهی آلفا در سال گذشته. این گسترهی وسیع شامل انواع فایلهای رایج و تخصصی در حوزههای مختلف فناوری است.
از جمله فرمتهای جدیدی که Magika پشتیبانی میکند میتوان به موارد زیر اشاره کرد:
- فایلهای مرتبط با علم داده (Data Science) مانند Jupyter Notebooks، NumPy arrays و PyTorch models
- زبانهای برنامهنویسی مدرن مانند Swift، Kotlin، TypeScript، Dart، Solidity و Zig
- فایلهای پیکربندی مخصوص DevOps مانند Dockerfiles، TOML و HashiCorp HCL
علاوه بر این، مدل جدید Magika میتواند میان فرمتهای مشابه تفاوتهای دقیقتری قائل شود؛ برای مثال، بهخوبی بین JSON و JSONL یا بین کدهای C و C++ تمایز میگذارد — قابلیتی که برای تحلیلگرهای امنیتی و توسعهدهندگان کد بسیار ارزشمند است.
استفاده از دادههای مصنوعی برای آموزش مدل
یکی از چالشهای مهم در توسعهی Magika، حجم عظیم دادههای آموزشی موردنیاز برای آموزش مدلهای هوش مصنوعی بود. به گفتهی گوگل، حجم دیتاست آموزشی این پروژه به بیش از ۳ ترابایت رسیده است. برای مدیریت و پردازش مؤثر این حجم داده، گوگل از کتابخانهی داخلی خود به نام SedPack استفاده کرده که امکان استریم دادهها بهصورت کارآمد و بدون بار اضافی روی حافظه را فراهم میکند.
اما مشکل اصلی، کمبود داده برای برخی از فرمتهای نادر یا تخصصی بود. برای حل این مسئله، گوگل از مدل زبانی Gemini بهره گرفت تا بهصورت تولید مصنوعی (synthetic data generation) نمونههایی از کدها و ساختارهای دادهای خاص را تولید کند. این روش، با ترجمه و بازتولید فایلها میان فرمتهای مختلف، توانست دادههای لازم برای آموزش مدل را تکمیل کند — روشی هوشمندانه که باعث بهبود چشمگیر دقت در شناسایی فایلهای خاص شد.
ابزار چندمنظوره برای توسعهدهندگان
Magika نهتنها بهعنوان یک ابزار مستقل قابل استفاده است، بلکه گوگل آن را بهصورت کتابخانه برای زبانهای مختلف نیز در دسترس قرار داده است. توسعهدهندگان میتوانند Magika را در پروژههای Python، TypeScript یا Rust ادغام کنند. همچنین یک کلاینت بومی (CLI) برای استفاده در خط فرمان نیز ارائه شده که نصب و کار با آن در سیستمعاملهای Linux، macOS و Windows امکانپذیر است.
این انعطافپذیری باعث شده Magika برای طیف گستردهای از کاربران مفید باشد — از پژوهشگران امنیت سایبری گرفته تا توسعهدهندگان نرمافزار و تیمهای DevOps که نیاز به تشخیص سریع و دقیق نوع فایلها دارند.
استقبال گسترده از پروژه
از زمان عرضهی نسخهی آلفا، پروژهی Magika رشد قابلتوجهی داشته و طبق اعلام گوگل، اکنون بیش از یک میلیون دانلود در ماه را ثبت میکند. این آمار نشاندهندهی استقبال بالای جامعهی متنباز از ابزاری است که میتواند با بهرهگیری از هوش مصنوعی، جایگزینی قدرتمند برای روشهای سنتی تشخیص فایل مانند MIME یا بررسی هدر باینری باشد.
با انتشار نسخهی Magika 1.0، گوگل گامی بزرگ در جهت بهکارگیری هوش مصنوعی در مدیریت و شناسایی دادهها برداشته است. بازنویسی در Rust، افزایش سرعت پردازش، پشتیبانی از صدها نوع فایل و استفاده از دادههای مصنوعی برای آموزش مدل، همه نشان میدهند که Magika تنها یک ابزار کوچک نیست، بلکه هستهای هوشمند برای نسل جدید سیستمهای تحلیل داده و امنیت فایل بهشمار میآید.
در آینده احتمالاً شاهد ادغام گستردهتر Magika در محصولات گوگل و ابزارهای توسعهی متنباز خواهیم بود — از پلتفرمهای ابری گرفته تا محیطهای برنامهنویسی و امنیت سایبری.

