Google、AIでファイルの種類を高速正確に判別できる「Magika」をオープンソースで公開

2024年2月19日

Googleは、AIを用いることでファイルの種類を高速かつ正確に判別できるツール「Magika」をオープンソースで公開したと発表しました

fig

Magikaは、あるファイルの中味が何なのか、記述されたプログラミング言語の種類、動画や画像、音声などのフォーマットの種類、ExcelやWord、PDFなどのオフィス系ソフトウェアの種類、OSの実行形式バイナリなどの種類を瞬時に判別してくれます。

下記はコマンドラインとしてMagikaを実行した例で、フォルダ内のファイルの種類を出力しています。

fig

特別に最適化された1MBのモデルでを用いて推論を実行

Magikaはファイルの判別に、Kerasを用いて特別に最適化されたディープラーニングによる、わずか1MBのモデルを用いていると説明されています。

このモデルは推論エンジンのOnnx上で実行されています。実行速度はGPUを用いずCPU上で処理されたとしても数ミリ秒程度とのこと。

GoogleはこのMagikaを100以上のファイルタイプを網羅する1Mファイルベンチマークで評価し、他の既存ツールより高い精度で判別を実行し、なおかつ他を約20%上回る高速度を実現したことも発表しています

なぜファイルの中味を見て判別する必要があるのか?

一般にファイルの種類は拡張子によって示されますが、現実にはファイルの拡張子がつねに正しいとは限らないため、ファイルの内容を見て種類を判別する処理はさまざまなソフトウェアの内部で行われています。

例えば、コードエディタにおいてシンタックスハイライトの設定を行うためにプログラミング言語の種類を判別することや、業務アプリケーションが特定の種類のファイル以外は読み込まないような判別をすることなどが挙げられます。

特に重要とされているのはセキュリティの分野です。拡張子を偽ってユーザーにファイルを開かせようとするマルウェアに対処するために、拡張子ではなくファイルの内容から種類を適切に判断し、ファイルの種類に合わせて用意されたスキャナーによる安全性評価は欠かせません。

GoogleはMagikaをGmailやGoogle Driveなどの何百万ものファイル処理にすでに活用しており、これまで同社が利用していたルールによるファイル判別と比べて50%の精度向上を実現でき、より精度の高いスキャンが可能になったと説明しています。

あわせて読みたい

開発ツール Google




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本