Тайната на успеха на Nvidia в областта на изкуствения интелект
През последните 10 години Nvidia успя да увеличи производителността на своите чипове в задачите с изкуствен интелект над хиляда пъти. Според слуховете H100, най-новият графичен процесор за генеративен изкуствен интелект, вече е много трудно да се намери. На симпозиума Hot Chips 2023 в Силициевата долина главният научен съветник на NVIDIA Бил Дали разказа за четирите ключови компонента, които са довели корпорацията до този успех.
Как Nvidia постига тези успехи
Законът на Мур е изиграл изненадващо малка роля за успеха на Nvidia, докато новите формати на числата бяха ключов елемент. Комбинирайки всички тези фактори, се получава това, което Дали нарича Закон на Хуанг (на името на главния изпълнителен директор на Nvidia Дженсън Хуанг).
„Като цяло най-големият прираст, който получихме, беше от подобреното представяне на числата“, споделя Дали със специалистите.
Следните числа са ключовите параметри на невронната мрежа:
- теглата, които определят силата на връзката между невроните в модела;
- активациите, които определят дали даден неврон се активира, като прехвърля информация към следващия слой.
Преди P100 графичните процесори на Nvidia представяха тези тегла с помощта на числа с плаваща запетая с единична точност. Те са дефинирани от стандарта IEEE 754 и се състоят от 32 бита, от които 23 бита представляват дробната част, 8 бита действат като експонента, приложена към дробната част, и 1 бит отговаря за знака на числото.

Представянето на числата: увеличение с коефициент 16
Изследователите в областта на машинното обучение много бързо осъзнаха, че при редица изчисления могат да използват по-малко точни числа и техните невронни мрежи пак ще дават отговори със същата точност. Очевидното предимство на този подход е, че логиката, която извършва ключовите изчисления при машинното обучение (умножение и натрупване), може да работи по-бързо, по-компактно и по-ефективно, когато се налага да се обработват по-малко битове.
Както обяснява Дали, енергията, необходима за едно умножение, е пропорционална на квадрата на броя на битовете. Така че с P100 компанията Nvidia е намалила наполовина това число, като е използвала FP16 изчисления. Google дори предложи своя собствена версия, наречена bfloat16. Разликата е в относителния брой на дробните битове (те осигуряват точността) и експонентните битове (те осигуряват обхвата). Bfloat16 има същия брой битове за обхвата като FP32, което улеснява превключването между двата формата.
Водещият графичен процесор H100 на Nvidia може да обработва определени части от огромните трансформиращи се невронни мрежи като ChatGPT, използвайки 8-битови числа. Въпреки това Nvidia е констатирала, че това не е универсално решение. Така например архитектурата Hopper всъщност използва два различни FP8 формата: единият е с по-голяма точност, а другият – с по-голям обхват. Специалитетът на Nvidia е да може да определи кой формат да използва във всяка една ситуация.
Дали и екипът му имат много интересни идеи за това как да получат повече изкуствен интелект от още по-малко битове. И става ясно, че системата с плаваща запетая не е съвършена. Един от основните проблеми е, че точността на числата с плаваща запетая е доста стабилна, без значение колко голямо или малко е числото. Но параметрите за невронните мрежи не използват големи числа, а са групирани около нулата. Така че основният фокус на Nvidia в областта на научноизследователската и развойната дейност е намирането на ефективни начини за представяне на числата, така че те да са по-точни около нулата.
Сложните инструкции: 12,5 пъти увеличение
„Разходите за извличане и декодиране на една инструкция са многократно по-големи от разходите за извършване на проста аритметична операция“, заявява Дали.
Той посочва един вид умножение, при което режийните разходи са 20 пъти повече от 1,5 пикоджаула, изразходвани за самото математическо действие.
Проектирайки своите графични процесори така, че да извършват големи изчисления с една инструкция, а не с поредица от инструкции, Nvidia е постигнала значителни резултати. Както посочва Дали, наднормените разходи все още съществуват, но благодарение на сложните инструкции те са разпределени върху по-голям брой математически операции. Така например една сложна инструкция за умножение и натрупване на целочислена матрица (IMMA) има режийни разходи, които са само 16% от енергийните разходи на една математическа операция.
Законът на Мур: увеличение от 2,5 пъти
Поддържането на развитието на закона на Мур струва милиарди долари инвестиции, изисква много сложни инженерни решения и поражда множество международни опасения. Това обаче засяга само малка част от повишаването на производителността на графичните процесори на Nvidia. Компанията последователно използва най-съвременните производствени техники. H100 се произвежда по процеса N5 (5 нанометра) на TSMC и едва в края на 2022 г. този производител на чипове започна първоначалното производство на следващото поколение N3.
Разреденост: увеличение с 2 пъти
Веднъж обучени в дадена невронна мрежа, много от невроните могат да се окажат ненужни по същество. При някои мрежи „можете да премахнете половината или дори повече неврони и да не загубите точността си“, смята Дали. Техните тегловни стойности са нула или близки до нея. По този начин те просто не допринасят за резултата и отчитането им в изчисленията е ненужна загуба на време и енергия.
Преобразуването на тези мрежи в „разредени“ мрежи, за да се намали изчислителното натоварване, е трудна задача. Въпреки това с A100, предшественика на H100, Nvidia въведе това, което нарича структурирана разреденост. Това е хардуер, който може да наложи инициирането на 2 от всеки 4 възможни събития за изрязване, което води до нова, по-малка изчислителна матрица.
„Все още не сме приключили с разредеността. Трябва да направим нещо за активациите и можем да получим по-голяма разреденост в мащабите“, добавя Дали.