Як вмістити великий штучний інтелект у маленький пристрій
Кожні кілька місяців з’являється новина про ще більшу й розумнішу модель штучного інтелекту. Але про зворотний бік цього зростання говорять не часто: що потужніша модель, то дорожче її утримувати й то важче запустити на звичайному пристрої — телефоні чи невеликому приладі. Найбільші системи сьогодні складаються з мільярдів внутрішніх налаштувань і потребують для роботи дуже потужних комп’ютерів.
Моя дисертація відповідає на просте на перший погляд запитання: чи можна зробити нейронну мережу помітно меншою, не зробивши її гіршою? Нейронну мережу зручно уявити як величезну схему з мільйонів з’єднань. Здавалося б, досить доручити комп’ютеру перебрати всі ці числа й підібрати найкращі — але їх надто багато, щоб такий перебір був реальним. Тому я застосував еволюційні алгоритми — методи, що пробують безліч варіантів і поступово відсіюють гірші, лишаючи вдаліші. Головний результат роботи саме в цьому: еволюцію не варто витрачати на підбір самих чисел, її сила — у виборі структури: що в мережі залишити, що прибрати, а що об’єднати.
На цій ідеї побудовано чотири методи. Два з них стискають уже готову мережу: перший акуратно прибирає зайві з’єднання, а другий перебудовує мережу у фізично меншу — у моїх дослідах вона ставала у 7,6 рази компактнішою і працювала приблизно в 1,4 рази швидше, не втрачаючи якості. Третій метод заощаджує час на підбір найкращих гіперпараметрів автоматизованим рішенням, перебираючи комбінації гіперпарметрів і тестуючи їх на сурогатних моделях і тільки найкращі проходять тестування в повному циклі навчання. Четвертий метод створений, щоб об’єднувати дві окремі мережі в одну так, щоб вона зберігала знання обох.

Розроблені методи вже працюють у київській компанії у сфері зв’язку: там вони зменшили робочі моделі вдвічі й прискорили обробку даних більш ніж на 40 % — щоб діагностувати стан обладнання за допомогою мобільного пристрою.
Найбільше мені подобається в цій темі те, що найкорисніші рішення часто зводяться до простої думки: систему можна поліпшити не додаванням, а розумним прибиранням зайвого. І таких рішень у комп’ютерних науках попереду ще багато — зокрема для тих, хто тільки збирається ними зайнятися.
Богдан Гірянський, аспірант НН «ІПСА» КПІ ім. Ігоря Сікорського
