Нов подход може да ни избави от изчисленията с плаваща запетая

Автор на оригинала е Майкъл Фелдман (Michael Feldman), предизвикал много разгорещени полемики

Най-четени

Даниел Десподов
Даниел Десподов
Новинар. Увличам се от съвременни технологии, информационна безопасност, спорт, наука и изкуствен интелект.

През 1985 година Институтът на инженерите по електротехника и електроника (IEEE) прие стандарта IEEE 754, описващ форматите на числата с плаваща запетая, който стана образец за всичкия хардуер и софтуер през следващите 30 години.

Въпреки че повечето програмисти без проблеми използват плаваща запетая, когато се налага да се извършват математически операции с веществени числа, поради ограничения в машинното представяне на тези числа, бързодействието на тези операции и точността на изчисленията често пъти ни карат да се питаме, няма ли някакъв по-добър начин?

Нов подход може да ни избави от изчисленията с плаваща запетая

Този стандарт бе силно критикуван през годините от специалистите по информатика, запознати с тези проблеми. Сред тях най-много се откроява Джон Густавсон, който поведе самостоятелен кръстоносен поход с цел изчисленията с плаваща запетая да бъдат заменени с нещо по-подходящо. И по-конкретно, за по-подходящи варианти се считат posit или unum – третият вариант от неговото научно изследване за „универсалните числа“. Густавсон заяви, че числата с posit решават повечето основни проблеми на стандарта IEEE 754, дават много по-добра производителност, като в тях се използват по-малко битове. И което е направо великолепно, новият формат може в реално време да заменя стандартните числа с плаваща запетая, без да се налагат промени в сорс кода на приложенията.

Густавсон представи своята научна работа по време на конференцията ISC19. За присъстващите на това събитие специалисти по суперкомпютри, едно от главните преимущества на posit формата е, че се постига по-голяма точност и по-широк динамичен диапазон, като се използват по-малко битове в сравнение с IEEE 754 стандарта. Използваните битове не са само просто по-малко. Интересно е, че 32-битовият posit заменя 64 битовия float почти във всички случаи, а това може да има сериозни последствия за научните изчисления. Ако двойно се намали броя на битовете, може не само да се намали размера на кеша, паметта и хранилищата за тези числа, но и сериозно да се намали ширината на канала, необходим за тяхното прехвърляне към процесора и обратното. Това е главната причина поради която аритметиката базирана на posit ще ускори от два до четири пъти пресмятанията в сравнение с числата с плаваща запетая на IEEE 754 стандарта.

Ускорението се постига чрез уплътнение представянето на веществените числа. Вместо експонента и дробна част с фиксиран размер, както предвижда стандартът на IEEE, posit кодира експонентата с променлив брой битове и в повечето случаи има нужда от много по-малко битове. В крайна сметка за дробната част остават повече битове, което дава по-голяма точност. Използва се динамична експонента – нещо като променлив битрейт при кодирането на музика, за която в зависимост от числото са необходими по-малък или по-голям брой битове. Това означава, че числата с неголяма експонента могат да са с по-голяма точност, а много по-малко използваните много големи и много малки числа ще имат по-малка точност. Научната работа на Густавсон от 2017 година подробно описва posit формата и показва как се работи с него.

Нов подход може да ни избави от изчисленията с плаваща запетая

Друго важно преимущество на този формат е, че за разлика от обикновените числа с плаваща запетая, posit дава еднакви побитови резултати на всяка една компютърна система, нещо което не може да се гарантира с формата на IEEE, при който дори и еднаквите изчисления на една и съща компютърна система, могат леко да се различават. И още, новият формат решава проблема с грешките от закръглянето, препълването и изчезването на битове, които носят информация. Форматът posit без проблеми работи с денормализирани числа и множеството значения от типа not-a-number (NaN). Освен това, с използването на posit се избягва твърде странния ефект като несъвпадащите значения на 0 и -0. Вместо това в този формат се използват двоично допълване, както е при целите числа, което означава, че побитовите сравнения и други операции ще се извършват правилно.

В posit числата се използва нов подход, който получи името quire. Това е механизъм на натрупване, даващ възможност на програмистите да изпълняват възпроизводима линейна алгебра – нещо, което е недостъпно за числата с IEEE формат. Методът позволява извършването на паралелни съвместни операции на умножение и събиране, както и други подобни действия, позволяващи осъществяването на скаларни произведения без каквито и да било грешки при закръглянето или от препълване. Тестовете, направени в Калифорнийския университет в Бъркли показаха, че quire операциите се осъществяват от 3 до 6 пъти по-бързо в сравнение с последователното изпълнение на тези операции.

Въпреки че този числов формат съществува само от две години, в общността на специалистите по високопроизводителни изчисления (HPC) вече възникна огромен интерес по отношение използването на неговото използване. Засега се води само експериментална работа, при която се емулира posit аритметиката на обикновени процесори. Самият posit проект е изцяло завършен, но засега не е организирано производството на чипове с хардуерната поддръжка на posit числовия формат.

Нов подход може да ни избави от изчисленията с плаваща запетая

Предвижда се posit форматът да се използва в в изграждания в момента радиоинтерферометър Square Kilometer Array (SKA), който по принцип е проектиран за използване на posit числата като метод за кардинално намаляване ширината на канала и изчислителното натоварване при обработката на данните от радиотелескопа. Според изискванията, обслужващите този проект суперкомпютри, не трябва да консумират повече от 10 MW електричество. Според проектантите, единственият метод да се постигне това е използването на по-плътния формат posit, за двойно намаляване на широчината на канала (200 петабайта в секунда), каналът за обмен на данни да е с ширина на канала 10 TB/s, а на мрежовите връзки 1 TB/s. Освен това, използването на новия числов формат значително ще повиши изчислителната мощност.

Нов подход може да ни избави от изчисленията с плаваща запетая

Друга област на използването на posit е в съставянето на прогнози за времето и моделиране на климата. Британски екип от специалисти показа, че 16-битовите posit числа явно дават значително по-добри резултати от 16-битовите числа с плаваща запетая и те „имат прекрасен потенциал за използване в сложните математически модели“. В британските проекти 16-битовата емулация на posit работи еднакво добре като 64-битовите числа с плаваща запетая.

Нов подход може да ни избави от изчисленията с плаваща запетая

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

Но най-голяма полза от posit числата може да има в областта на машинното обучение, където 16-битовите числа могат да се използват за обучение, а 8-битовите – за проверка. Густафсон заяви, че в машинното обучение 32-битовите числа с плаваща точка са твърде пресилени и в редица случаи те изобщо не могат да достигнат 16-битовите posit. Ученият подчертава, че „IEEE 754 стандартът изобщо не е предназначен и не е подходящ за алгоритмите с елементи на изкуствен интелект“.

Ето защо, съвсем не е за учудване, че на posit формата обърна внимание и ИИ общността. Джеф Джонсън от Facebook създаде експериментална платформа с FGPA, в която се използват posit числата, демонстрираща много по-добра енергийна ефективност, както в сравнение с float16, така и с bfloat16 на IEEE при алгоритмите с машинно обучение. Той планира да използва хардуерна поддръжка на 16-битови posit числа в типичните задачи за машинно обучение и да сравни получения резултат с другите конкуриращи числови формати.

Нов подход може да ни избави от изчисленията с плаваща запетая

Да отбележим, че Facebook разботи съвместно с Intel върху процесора Nervana Neural Network (NNP), който би трябвало да ускори решаването на редица задачи на социалния гигант, в които масово се използват алгоритми с изкуствен интелект. Не се изключва варианта да бъдат използвани posit числата, но е по-вероятно Intel да остави в Nervana своя FlexPoint формат. Но си струва тази тема да бъде проследена.

Густавсон сподели, че вече е създаден ИИ чип, който по принцип е проектиран да използва posit числа. Това е направено от френската компания Kalray, подпомогната от инициативата European Processor Initiative (EPI), която използва posit формата в техния ускорител от следващо поколение Massively Parallel Processor Array (MPPA). Тоест, има голяма вероятност posit да се използва в европейските екзафлопсни суперкомпютри.

Нов подход може да ни избави от изчисленията с плаваща запетая

Интересното в проекта на Густавсон е, че хардуерната поддръжка на неговите универсални posit числя е съвсем лесна за реализиране. И като се има предвид яростната конкуренция в областта на изкуствения интелект, може да се очаква страхотен комерсиален успех на този продукт. Сред другите области, в които posit може да очаква блестящо бъдеще са цифровата обработка на сигналите, графичните процесори – за изобразяване на графиката и за различните изчисления, устройствата от концепцията „Интернет на нещата“, edge computing и други. Разбира се и в HPC.

Ако тази технология стане комерсиална, Густавсон едва ли ще спечели нещо от успеха на posit. Неговият проект е описан на 10 стандартни А4 страници е изцяло открит и достъпен за използване от всяка компания, която разработва съвременен хардуер и софтуер. С това може да се обясни големия интерес към тази нова технология от компании като IBM, Google, Intel, Micron, Qualcomm, Fujitsu, Huawei и още много други.

АбонаментВсичко важно от света на технологиите, директно в пощата ти.

С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!

7 Коментара
стари
нови оценка

Нови ревюта

Подобни новини