Урок 1 із 7
Що насправді робить GPU
7 хв читання
Головний чип твого ноутбука — геній. То чому запуск моделі потребує геть іншого чипа — зібраного з тисяч крихітних, майже тупих ядер?
Один швидкий працівник проти величезної бригади
CPU — це кілька дуже швидких, дуже кмітливих ядер, блискучих у тому, щоб робити одну складну річ за іншою. GPU — навпаки: тисячі простих ядер, що роблять легку математику одночасно. Основна операція моделі — саме ця легка математика: множення довгих списків чисел, — але її величезна кількість. Віддай це CPU — і він продирається крізь чергу; віддай GPU — і бригада ділить роботу й закінчує разом.
GPU — не швидший CPU. Це інша форма: багато маленьких ядер роблять ту саму просту математику паралельно — і це рівно та форма роботи, яку виконує модель.
Чому модель любить паралельність
Запуск моделі — це множення її входу на мільйони ваг, знову й знову. Жодне з цих множень не мусить чекати на інше — усі можуть відбутися одночасно. Це і є визначення паралельного навантаження, і саме тому GPU буває вдесятеро швидшим за CPU на тій самій задачі, хоч кожне окреме ядро GPU повільніше.
Робота ганебно паралельна: мільйони незалежних множень. GPU існує саме для того, щоб робити незалежну роботу одночасно — майже ідеальний збіг.
Під капотом саме тому GPU важливі й для графіки: намалювати екран — це зафарбувати мільйони пікселів незалежно, та сама форма «багато легкої математики одразу», що й у математики моделі.
Суть коротко
- —У CPU кілька кмітливих ядер; у GPU — тисячі простих.
- —Математика моделі — мільйони незалежних множень, ідеальних для одночасного виконання.
- —Тому інференс іде на GPU: робота паралельна, а GPU збудований під паралельність.
Чому запуск моделі надає перевагу GPU перед швидким CPU?
Продовжити в застосунку
Пройди весь курс «Інференс і залізо» — з відстеженням
Отримай персональний план, прогрес і стріки в застосунку — цей урок і кожен наступний, по порядку.