ホームページ  >  記事  >  テクノロジー周辺機器  >  1MB の魔法の AI が数百万のファイルを 99% の精度で検出します。

1MB の魔法の AI が数百万のファイルを 99% の精度で検出します。

WBOY
WBOY転載
2024-04-08 09:22:081067ブラウズ

Web 開発では、ファイルをサーバーにアップロードする前のファイル タイプの検出が重要です。このステップにより、サーバーとユーザーのセキュリティを確保し、悪意のあるファイルの可能性を傍受できるだけでなく、アップロードされたファイルが完全で期待どおりであることを保証し、データ コンプライアンスを向上させることができます。同時に、ユーザーにタイムリーなフィードバックとガイダンスを提供することで、ユーザー エクスペリエンスを向上させ、不必要な混乱を回避することもできます。

以前、アバオ兄弟は「JavaScript はどのようにしてファイルの種類を検出するのでしょうか?」を紹介しましたが、AI 時代に入った今、私たちは時代に追いつく必要があります。次に、アバオ兄弟は、Google のオープンソース Magika[1] ツールを使用して正確なファイル タイプ検出を実現する方法を紹介します。

1MB の魔法の AI が数百万のファイルを 99% の精度で検出します。写真

Magika の紹介

Magika は、最新の深層学習テクノロジーに依存した新しい人工知能ファイル分類および検出ツールです。正確な検出を提供します。わずか約 1MB の高度に最適化されたカスタム Keras モデルを使用しており、単一の CPU で実行している場合でも、ミリ秒単位で正確なファイル識別を可能にします。

100 万を超えるファイルと 100 を超えるコンテンツ タイプ (バイナリ ファイル形式とテキスト ファイル形式を含む) の評価において、Magica は 99% 以上の精度と再現率を達成しました。 Magika は、Gmail、ドライブ、セーフ ブラウジング ファイルを適切なセキュリティ スキャナとコンテンツ ポリシー スキャナにルーティングすることで、Google ユーザーの安全を保つために大規模に使用されています。

Magica の機能

  • 100 を超えるファイル タイプの検出をサポートします。
  • Python コマンド ライン、Python API、実験的な TFJS バージョンなど、複数の使用方法をサポートします。
  • モデルがロードされた後 (これは 1 回限りのオーバーヘッドです)、推論時間はファイルあたり約 5 ミリ秒です。
  • ファイル サイズに関係なく、ほぼ一定の推論時間。 Magika は、ファイル バイトの限られたサブセットのみを使用します。
  • サポート バッチ処理: コマンド ラインと API への複数のファイルの同時送信をサポートします。Magica はバッチ処理を使用して推論時間を短縮します。
  • 100 を超えるコンテンツ タイプにわたる 2,500 万を超えるファイルのデータセットでトレーニングされました。
  • 大規模評価の後、Magika の平均精度と再現率は 99% 以上に達し、既存の手法を上回りました。
  • Magica は、コンテンツ タイプごとのしきい値システムを使用して、モデルの予測を「信頼する」かどうか、または「汎用テキスト ドキュメント」や「不明なバイナリ データ」などの汎用ラベルを返すかどうかを決定します。
  • エラーの許容範囲を調整するための 3 つの異なる予測モード (高信頼度、中信頼度、最良推測) をサポートします。

Magica のパフォーマンス

1MB の魔法の AI が数百万のファイルを 99% の精度で検出します。写真

パフォーマンスの面では、AI モデルと大規模なトレーニング データセットを備えた Magika 100 を超えるファイル タイプの 1M ファイル ベンチマークで評価した場合、そのパフォーマンスは他の既存のツールよりも約 20% 高くなります。ファイルの種類別に見ると、他のツールでは処理が難しいコード ファイルや構成ファイルなどのテキスト ファイルのパフォーマンスが大幅に向上しています。

1MB の魔法の AI が数百万のファイルを 99% の精度で検出します。写真

Magika オンラインの例

Magika はブラウザと Node.js 環境をサポートしており、Web デモ[2] Web サイトにアクセスして次のことを行うことができます。その機能を体験してください。

1MB の魔法の AI が数百万のファイルを 99% の精度で検出します。写真

Magica をすぐに始めましょう

magika をインストールします

npm install magikaorpnpm add magika

使用方法ブラウザ magika

import { Magika } from "magika";const file = new File(["# Hello I am a markdown file"], "hello.md");const fileBytes = new Uint8Array(await file.arrayBuffer());const magika = new Magika();await magika.load();const prediction = await magika.identifyBytes(fileBytes);console.log(prediction);

Node.js での magika の使用

import { readFile } from "fs/promises";import { MagikaNode as Magika } from "magika";const data = await readFile("some file");const magika = new Magika();await magika.load();const prediction = await magika.identifyBytes(data);console.log(prediction);

ここでは Magika に関する関連コンテンツが紹介されています。 Magika については、この記事を読み続けてください。 Magika: AI を活用した高速かつ効率的なファイル タイプの識別[3]。

参考資料

[1]Magika: https://github.com/google/magika

[2]ウェブデモ: https://google.github. io/magika/

[3]Magika: AI を活用した高速かつ効率的なファイル タイプ識別: https://opensource.googleblog.com/2024/02/magika-ai-powered-fast-and-efficient-ファイルタイプ識別.html

#

以上が1MB の魔法の AI が数百万のファイルを 99% の精度で検出します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。