ろぼいんブログ

Googleがファイル識別AI「Magika」をリリース 使い方を解説

Googleが2024年2月15日に発表した「Magika」は、AI技術を活用したファイルタイプの識別システムです。Googleのディープラーニングモデルを駆使し、バイナリやテキストファイルの種類を高速かつ高精度に判定します。

この記事では、Magikaの概要から使い方まで、詳しく解説します。

広告

Magikaの特徴とは?

Magikaの出力の例
Magikaの出力の例。画像はGitHubリポジトリーより

AIによる高精度なファイルタイプ識別

元々、Linuxに代表されるlibmagicやfileユーティリティがファイルタイプの判定に広く用いられてきました。

しかし、手作業によるヒューリスティックな方法では、テキストファイルやプログラミング言語ファイルなどの識別が難しい問題がありました。

Magikaは、この問題をAIの力で解決します。わずか1MBのカスタム深層学習モデルを使用し、その処理はCPU上でもミリ秒単位で行えるほど高速です。

高性能で広範なファイルタイプ対応

Magikaは、100を超えるファイルタイプを対象とした100万ファイルのベンチマークによる評価で、既存のツールに比べて約20%の性能向上を達成しています。

広告

とくに、テキストファイルやコードファイル、設定ファイルなどで大きな改善が見られます。

多様な利用環境での活用

Google内では、GmailやDrive、Safe Browsingなどにおけるユーザーの安全を高めるためにMagikaが広範に使用されています。

正確なファイルタイプの識別により、悪意のあるドキュメントをスキャンするシステムでスキャンできるファイル数を11%増やすなど、大きな効果を挙げています。

オープンソースでの提供

Magikaは、GitHub上でApache-2.0ライセンスにもとづきオープンソースとして公開されています。

Pythonライブラリやコマンドラインツールとして利用でき、GPUは不要です。研究者や他のソフトウェア開発者にとってもアクセスしやすいツールとなっています。

広告

Magikaの使い方

Webデモの利用

MagikaはWebデモを通じて、ブラウザー上で簡単にファイルタイプの識別を試せます。インストール不要で利用可能なため、気軽にMagikaの性能を体験できます。

また、速度は低下するものの、TensorFlow.jsを用いたnpmパッケージも提供されています。

インストール

MagikaはPythonパッケージとして提供されており、次のコマンドで簡単にインストールできます。

Terminal window
pip install magika

コマンドラインツールとしての使用

Magikaをコマンドラインツールとして使用する場合、ファイルやディレクトリーを指定して実行します。

Terminal window
$ magika -r ファイルやディレクトリのパス
tests_data/README.md: Markdown document (text)
tests_data/basic/code.asm: Assembly (code)
tests_data/basic/code.c: C source (code)
...

JSON形式での出力や、MIMEタイプのみを取得するオプションも用意されており、多彩なニーズに対応可能です。

Python APIとしての使用

MagikaはPythonライブラリーとしても提供されています。次の例のように、直接Pythonコード内からファイルタイプを識別できます。

from magika import Magika
m = Magika()
res = m.identify_bytes(b"ファイルの内容")
print(res.output.ct_label)

まとめ

Googleによって開発されたMagikaは、ファイルタイプ識別の精度とスピードを大きく向上させ、多くの分野での利用が期待されます。この画期的なツールを活用し、さまざまなアプリケーションや研究に役立ててみてはいかがでしょうか。

参考

記事をシェア

Xに共有するBlueskyに共有するMisskeyに共有するLINEに共有するThreadsに共有する

フォローして最新情報を入手

Googleの優先ソースに追加すると、このサイトの記事をGoogleで見つけやすくなります。また、ぜひXやRSSフィードもフォローしてください。

Googleの優先ソースとして追加するGoogleの優先ソースとして追加するXのロゴ
著者のアイコン画像

生まれた時から、母国語よりも先にJavaScriptを使っていました。ネットの海のどこにもいなくてどこにでもいます。

Webフロントエンドプログラマーとして、TypeScriptを用いたWebアプリやブラウザー拡張機能を制作。Xのシャドウバン検知ツール「Shadowban Scanner」やリンクカード復活ツール「Restore Link Card」を公開し、国内外のメディアで紹介されました。iGEM 2023ではJapan-UnitedチームのWikiを制作してGrand Prizeの獲得に貢献。ブログではXやSNSの最新ニュース、不具合の検証と対処法、フロントエンド開発の知見を発信しています。