Google ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Magika 1.0, инструмСнтарий для опрСдСлСния Ρ‚ΠΈΠΏΠ° содСрТимого Ρ„Π°ΠΉΠ»ΠΎΠ²

Компания Google прСдставила Ρ€Π΅Π»ΠΈΠ· инструмСнтария Magika 1.0, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для опрСдСлСния Ρ‚ΠΈΠΏΠ° содСрТимого Π½Π° основС Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Magika ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π² содСрТимом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ языки программирования, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ сТатия, установочныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, исполняСмый ΠΊΠΎΠ΄, Π²ΠΈΠ΄Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π·Π²ΡƒΠΊΠ°, Π²ΠΈΠ΄Π΅ΠΎ, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Бвязанный с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ инструмСнтарий ΠΈ готовая модСль машинного обучСния Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. Обвязки ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для языков Rust, Python, JavaScript/TypeScript ΠΈ Go.

ΠžΡ‚ ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… MIME-Ρ‚ΠΈΠΏ ΠΏΠΎ содСрТимому, Magika отличаСтся ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² машинного обучСния, высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ опрСдСлСния. МодСль ΠΎΠ±ΡƒΡ‡Π΅Π½Π° с использованиСм Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Keras Π½Π° 100 ΠΌΠ»Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ² (Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… Π±ΠΎΠ»Π΅Π΅ 3 TB) ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ распознаваниС 200 Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 99%. МодСль скомпонована Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ONNX ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ всСго нСсколько ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚. ЗадСйствованиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ машинного обучСния ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π½Π° 50% ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ опрСдСлСния ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ²ΡˆΠ΅ΠΉΡΡ Π² Google систСмой Π½Π° основС Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ».

Π’ Google систСма ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для классификации Ρ„Π°ΠΉΠ»ΠΎΠ² Π² сСрвисах Gmail, Drive, Code Insight ΠΈ Safe Browsing ΠΏΡ€ΠΈ выполнСния ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ бСзопасности ΠΈ соотвСтствия ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ сСрвисов. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° интСграция Magika Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ VirusTotal ΠΈ abuse.ch Π² качСствС Π·Π²Π΅Π½Π° для ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ спСцифичных Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ². Развёрнутая Π² инфраструктурС Google конфигурация Magika обСспСчиваСт сканированиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ² Π² сСкунду ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сотСн ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ² Π² нСдСлю. ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ врСмя формирования Π²Ρ‹Π²ΠΎΠ΄Π° составляСт 5 мс ΠΏΡ€ΠΈ тСстировании Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ядрС CPU. ВрСмя опрСдСлСния ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π°.

Для задСйствования Magika Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для Python, Rust ΠΈ Go, Π° Ρ‚Π°ΠΊΠΆΠ΅ JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, способная Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈΠ»ΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π½Π° Π±Π°Π·Π΅ Node.js. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ API ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Ρ‚.Π΅. ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π° ΠΎΠ΄ΠΈΠ½ запрос. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Ρ€Π΅ΠΆΠΈΠΌ рСкурсивного сканирования всСго содСрТимого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ Ρ‚Ρ€ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° прогнозирования для настройки устойчивости ΠΊ ошибкам (высокая ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ, срСдняя ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ°Ρ Π΄ΠΎΠ³Π°Π΄ΠΊΠ°).

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ развивался Π½Π° языкС Python, Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Ρ€Π΅Π»ΠΈΠ·Π° 1.0 Π΄Π²ΠΈΠΆΠΎΠΊ для опрСдСлСния Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π±Ρ‹Π» пСрСписан Π½Π° языкС Rust, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, сохранив Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ защищённости ΠΊΠΎΠ΄Π°. Для выполнСния ΠΌΠΎΠ΄Π΅Π»ΠΈ машинного обучСния задСйствован Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ONNX Runtime, Π° для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ асинхронной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Tokio. На MacBook Pro (M4) ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π²ΠΈΠΆΠΊΠ° позволяСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠΊΠΎΠ»ΠΎ 1000 Ρ„Π°ΠΉΠ»ΠΎΠ² Π² сСкунду.

Помимо Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°, ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² выпускС 1.0 отмСчаСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ числа ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 100 Π΄ΠΎ 200; Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, написанного Π½Π° Rust; ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ точности опрСдСлСния тСкстовых Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΊΠΎΠ΄; ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для Python ΠΈ TypeScript для упрощСния ΠΈΡ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π‘Ρ€Π΅Π΄ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°: Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, примСняСмыС ΠΏΡ€ΠΈ машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΈ AI; языки программирования Swift, Kotlin, TypeScript, Dart, Solidity (solidity), Web Assembly ΠΈ Zig; DevOps-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ (Dockerfiles, TOML, HashiCorp, сборочныС Ρ„Π°ΠΉΠ»Ρ‹ Bazel ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° YARA); Π‘Π” SQLite; Ρ„Π°ΠΉΠ»Ρ‹ AutoCAD (dwg, dxf), Adobe Photoshop (psd) ΠΈ ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹ (woff, woff2). Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° C++ ΠΈ C, JavaScript ΠΈ TypeScript.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ