Невронните мрежи, които захранват днешния изкуствен интелект (AI) са изключително мощни. Проблемът е, че тренирането им може да изисква цели ферми от сървъри и огромни количества енергия.

От IBM разглеждат решението на този проблем в свое ново изследване

Идеята е изисквания ресурс да се намали драматично, като за целта ще се намали броя от битове, чрез които се извършват изчисленията.  Битовете се използват за съхранение на информация на най-ниско ниво. Те съществуват в две състояния – 1 или 0. Компютрите обаче трябва да боравят с информация, която не попада в тази рамка. Заради това групират битове, които да представят нужните стойности. Именно от там идва описанието на софтуера – дали е 32 или 64-битов. Това ни казва колко битове се използват, за да се кодира една порция от информация.

Колкото повече битове използваш, толкова по-прецизен можеш да бъдеш. При група от 32 бита в едно от двете състояния, ти имаш 1024 степени на свобода. Това е броят на начините, по които информацията може да се изобразява, без да нарушава ограниченията, които са ѝ наложени. При 64 бита имаме 4096 такива степени.

За да добием по-ясна представа, нека приемем, че искаме да кодираме стойността на числото Пи. Ако използваме 64-битова архитектура, ние можем да го представим с 4 пъти повече знаци след десетичната запетая, в сравнение с 32-битов компютър, при използването на един пакет от данни.

Повишените възможности за прецизност са много полезни за програмите, които моделират неща свързани с климата или квантовата физика и други подобни

Там се работи с много големи или много малки числа. Дори в потребителските компютри има нужда от такава прецизност, при задачи като редактиране на видео и гейминг. Не при всичко обаче трябва да разполагаме с толкова висока точност. Това включва и невронните мрежи.

Към момента стандартния размер на данните за дълбоко обучение е 32 бита. Все по-често обаче виждаме невронни мрежи, които работят на 16 бита. Редица изследвания доказват, че с внимателен дизайн можем да слезем и по-надолу, без да губим значителна част от точността.

Колкото по-ниско слезем, толкова по-малко памет и трафик ще се изискват. Това ще ускори изчисленията и ще намали консумацията на енергия. Това може да обърне тенденцията развитието на индустрията да се свежда просто до пускането на все по-големи и все по-гладни за електричество модели.

И сега за трудът на IBM

На престижната AI конференция NeurIPS, изследователите показват, че могат да тренират AI да се бори с различни езикови и изобразителни задачи, използвайки само 4 бита. Това ускорява процеса по обучение над седем пъти.

Основното предизвикателство е, че различните части на невронната мрежа работят с числа, които се различават изключително много. Обикновено невроните боравят с десетични стойности на числата между -1 и 1. В някои части обаче, числата се променят нагоре до 1000 или надолу до 0.001.

Трябва да можеш да изобразяваш всички тези различни числа, използвайки само 16 степени на свобода, които ти предоставят 4-те бита. А една система, която може да покрие широк диапазон, като такъв от 1000 до 0.001, неминуемо ще загуби всякаква точност при работа със стойности между -1 и 1.

Решението е да се използва логаритмична скала. Това е добре познат математически инструмент за представяне на стойности в голям диапазон. Числата по скалата не се увеличават с равни интервали. Увеличават се чрез умножение по определен коефициент, най-често 10. Ако е една стандартна линеарна скала върви като „1, 2, 3“, то една логаритмична ще изглежда като „1, 10, 100“.

Тук се използва коефициент от четири

Другият по-тънък момент е използването на техника за адаптивно скалиране. Така логаритмичната скала може да се изменя за различните части от мрежата, на база на стойностите, с които се оперира.

Това води до масивно ускоряване, което значи по-малко консумация на ток, по-малко нужен системен ресурс и по-малко нужно време за обучението на една невронна мрежа. Това може да направи възможно за академичните институции с ограничени ресурси да създават различни гигантски модели, като тези излизащи от компании като Google и OpenMind. Или дори да обучават невронни мрежи на потребителски устройства – като смартфоните например.

Както винаги, има едно голямо „НО“ и в този случай

Изследването е извършено в симулация, а не чрез използването на реални чипове. Истината е, че в момента не съществуват 4-битови чипове за AI. Ръководителят на изследването Кайлаш Гопалакришнан казва пред MIT Tech Review, че все пак тe са на път и IBM трябва да има готов 4-битов хардуер след три до четири години.

От IBM не са единствените, които работят по решаването на този проблем. Повечето компании, изграждащи специализиран хардуер за изкуствен интелект, са заети да увеличат ниско прецизните възможности на своите чипове. Изглежда, че бъдещето на AI изглежда не особено ясно.

Настоящата концепция за компенсиране на недостига на технически възможности с изграждането на по-големи и по-големи системи е неустойчива. Рано или късно ще доведе до добре познатите на всички хардуер ентусиасти явления като ботълнек и тротлинг. В единия случай ще имаме компоненти, които ще са принудени да работят с по-ниска ефективност, заради по-слабата производителност на други компоненти. В други случай производителността ще е ограничена заради проблеми с консумацията, температурите или нещо друго в този ред на мисли.

0 0 глас
Оценете статията
Абонирай се
Извести ме за
guest
5 Коментара
стари
нови оценка
Отзиви
Всички коментари