1MB의 마법같은 AI가 수백만 개의 파일을 99% 정확도로 감지합니다!

WBOY
풀어 주다: 2024-04-08 09:22:08
앞으로
1065명이 탐색했습니다.

웹 개발에서는 서버에 파일을 업로드하기 전에 파일 형식을 감지하는 것이 중요합니다. 이 단계는 서버와 사용자의 보안을 보장하고 악성 파일을 차단할 뿐만 아니라 업로드된 파일이 완전하고 기대치를 충족하는지 확인하여 데이터 규정 준수를 향상시킬 수 있습니다. 동시에 사용자에게 적시에 피드백과 지침을 제공함으로써 사용자 경험을 개선하고 불필요한 혼란을 피할 수도 있습니다.

아바오 형제님은 앞서 "JavaScript는 파일 형식을 어떻게 감지하나요?"라고 소개한 적이 있습니다. 이제 AI 시대에 접어들었으니 시대에 발맞춰야 합니다. 다음으로 Abao 형제는 Google의 오픈 소스 Magika[1] 도구를 사용하여 정확한 파일 형식 감지를 달성하는 방법을 소개합니다.

1MB의 마법같은 AI가 수백만 개의 파일을 99% 정확도로 감지합니다!Pictures

Magika 소개

Magika+는 최신 딥 러닝 기술을 사용하여 정확한 탐지를 제공하는 새로운 인공 지능 파일 분류 탐지 도구입니다. 무게가 약 1MB에 불과하고 단일 CPU에서 실행되는 경우에도 밀리초 내에 정확한 파일 식별이 가능한 고도로 최적화된 맞춤형 Keras 모델을 사용합니다.

백만 개 이상의 파일과 100개 이상의 콘텐츠 유형(바이너리 및 텍스트 파일 형식 포함)에 대한 평가에서 Magika는 99% 이상의 정밀도와 재현율을 달성했습니다. Magika는 Gmail, 드라이브, 세이프 브라우징 파일을 적절한 보안 및 콘텐츠 정책 스캐너로 라우팅하여 Google 사용자를 안전하게 보호하기 위해 대규모로 사용됩니다.

Magika의 기능

  • 100개 이상의 파일 형식 감지를 지원합니다.
  • Python 명령줄, Python API 및 실험적인 TFJS 버전과 같은 다양한 사용 방법을 지원합니다.
  • 모델이 로드된 후(일회성 오버헤드) 추론 시간은 파일당 ~5ms입니다.
  • 파일 크기에 관계없이 추론 시간이 거의 일정합니다. Magika는 파일 바이트의 제한된 하위 집합만 사용합니다.
  • 일괄 처리 지원: 동시에 여러 파일을 명령줄과 API로 보내는 것을 지원하며 Magika는 추론 시간을 단축하기 위해 일괄 처리를 사용합니다.
  • 100개 이상의 콘텐츠 유형에 걸쳐 2,500만 개가 넘는 파일로 구성된 데이터 세트를 학습했습니다.
  • 대규모 평가 후 Magika의 평균 정밀도와 재현율은 99% 이상에 도달하여 기존 방법을 능가했습니다.
  • Magika는 각 콘텐츠 유형에 대한 임계값 시스템을 사용하여 모델의 예측을 "신뢰"할지 또는 "일반 텍스트 문서" 또는 "알 수 없는 바이너리 데이터"와 같은 일반 레이블을 반환할지 여부를 결정합니다.
  • 오류 허용 범위를 조정하기 위해 높은 신뢰도, 중간 신뢰도, 최선의 추측이라는 세 가지 예측 모드를 지원합니다.

Magika의 성능

1MB의 마법같은 AI가 수백만 개의 파일을 99% 정확도로 감지합니다!Pictures

성능 측면에서 Magika는 AI 모델과 대규모 교육 데이터 세트 덕분에 100개 이상의 파일 형식을 사용하는 100만 개 파일 벤치마크에서 평가할 때 다른 최신 애플리케이션보다 성능이 뛰어납니다. 약 20% 더 높습니다. 파일 유형별로 분류하면 다른 도구에서 처리하는 데 문제가 있을 수 있는 코드 파일 및 구성 파일을 포함하여 텍스트 파일의 성능이 크게 향상되었습니다.

1MB의 마법같은 AI가 수백만 개의 파일을 99% 정확도로 감지합니다!Pictures

Magika 온라인 예제

Magika는 브라우저와 Node.js 환경을 지원하며, 웹 데모[2] 웹사이트를 방문하면 해당 기능을 체험해 볼 수 있습니다.

1MB의 마법같은 AI가 수백만 개의 파일을 99% 정확도로 감지합니다!Pictures

Magika 빠르게 시작하기

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);
로그인 후 복사

Mag 정보 ika 의 관련 콘텐츠인 경우 Magika에 대해 더 자세히 알고 싶으시면 Magika: AI로 구동되는 빠르고 효율적인 파일 형식 식별[3] 기사를 계속 읽어보세요.

References

[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-file-type-identification.html

위 내용은 1MB의 마법같은 AI가 수백만 개의 파일을 99% 정확도로 감지합니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿