Google переписала свой инструмент определения типов файлов на Rust и выпустила стабильную версию Magika 1.0
Разработчики из Google переписали свой открытый инструмент определения типов файлов на Rust и выпустили первую мажорную и стабильную версию проекта Magika 1.0 (доступно веб-демо решения и документация). Исходный код Magika опубликован на GitHub под лицензией Apache License 2.0.
По заверению Google, Magika 1.0 стала работать быстрее после перехода на Rust. Проект был запущен в прошлом году как система на основе ИИ для идентификации типов файлов на основе содержимого, а не только имён файлов. С тех пор Magika незаметно стал популярным в сообществе открытого исходного кода, собрав более миллиона загрузок в месяц.
Новая Magika поддерживает более 200 типов файлов (предыдущая поддерживала 100 типов). Расширенная поддержка означает, что Magika может различать форматы файлов, которые на первый взгляд выглядят похожими. Если вы когда-либо работали с JSONL и JSON, TSV и CSV, C и C++ или JavaScript и TypeScript, вы знаете, как они могут сливаться воедино. Команда Magika утверждает, что проект может правильно различать типы файлов, даже если содержимое файла короткое.
Что особенно выделяется, так это то, как Google обучала ИИ-модель для Magika. В набор данных проекта вошла база примерно до 3 ТБ кода и примеров файлов. Чтобы обрабатывать это в масштабе, Google использовала свою систему наборов данных SedPack, которая потоково передаёт и распаковывает обучающие данные на лету, чтобы избежать узких мест ввода-вывода. В компании также использовали свою ИИ-модель Gemini для генерации синтетических обучающих данных там, где реальных образцов было слишком мало. Другими словами, разработчики Google заставили ИИ преобразовывать код из одного языка в другой, чтобы Magika могла изучить различия. Немного иронично, что ИИ обучает ИИ, чтобы ИИ мог
Читать на habr.com