Найти Π² Π”Π·Π΅Π½Π΅
МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅

🌟 Как YouTube ускорил ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π²Π°Π»ΠΈΠ΄Π½Ρ‹Ρ… Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ Π² LLM Π² 948 Ρ€Π°Π·

YouTube ΠΈ Google DeepMind ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΈ ΠΊΠΎΠ΄ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° STATIC. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ Ρ€Π΅ΡˆΠ°Π΅Ρ‚, Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΠΊΠΎΠΌΠ° всСм, ΠΊΡ‚ΠΎ строит Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ систСмы Π½Π° Π±Π°Π·Π΅ LLM: модСль Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π²Ρ‹ΡˆΠ»ΠΈ ΠΈΠ· ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‚ бизнСс-ΠΏΡ€Π°Π²ΠΈΠ»Π°. ИмСнно поэтому YouTube Π²Ρ‹Π΄Π°Π΅Ρ‚ старыС Π²ΠΈΠ΄Π΅ΠΎ Π² Π»Π΅Π½Ρ‚Π΅ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Ρ€ΠΎΠ»ΠΈΠΊΠΈ послСднСй Π½Π΅Π΄Π΅Π»ΠΈ. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ - прСфиксноС Π΄Π΅Ρ€Π΅Π²ΠΎ: Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС дСкодирования маска Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅Π²Π°Π»ΠΈΠ΄Π½Ρ‹Π΅ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ†Π΅Π»ΠΎΠΌ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ ΡƒΠ±ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° TPU ΠΈ GPU. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Π΄Π²Π΅: πŸŸ ΠžΠ±Ρ…ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ создаСт случайный, нСсмСТный ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ доступа ΠΊ памяти, Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ ускоритСлСй рассчитана Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, Π° Π½Π΅ Π½Π° Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ. πŸŸ Π“ΡƒΠ³Π»ΠΎΠ²ΡΠΊΠΈΠΉ XLA-компилятор Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ статичСских Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΎΠ², Π° прСфиксноС Π΄Π΅Ρ€Π΅Π²ΠΎ с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ, зависящим ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, Π² это Π½Π΅ вписываСтся. Π’ ΠΈΡ‚ΠΎΠ³Π΅ прСфиксноС Π΄Π΅Ρ€Π΅Π²ΠΎ Π½Π° CPU ΡƒΠ΄Π²Π°ΠΈΠ²Π°Π΅Ρ‚ врСмя инфСрСнса, Ρ‡Ρ‚ΠΎ для систСмы с Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ

🌟 Как YouTube ускорил ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π²Π°Π»ΠΈΠ΄Π½Ρ‹Ρ… Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ Π² LLM Π² 948 Ρ€Π°Π·.

YouTube ΠΈ Google DeepMind ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΈ ΠΊΠΎΠ΄ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° STATIC.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ Ρ€Π΅ΡˆΠ°Π΅Ρ‚, Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΠΊΠΎΠΌΠ° всСм, ΠΊΡ‚ΠΎ строит Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ систСмы Π½Π° Π±Π°Π·Π΅ LLM: модСль Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π²Ρ‹ΡˆΠ»ΠΈ ΠΈΠ· ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‚ бизнСс-ΠΏΡ€Π°Π²ΠΈΠ»Π°. ИмСнно поэтому YouTube Π²Ρ‹Π΄Π°Π΅Ρ‚ старыС Π²ΠΈΠ΄Π΅ΠΎ Π² Π»Π΅Π½Ρ‚Π΅ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Ρ€ΠΎΠ»ΠΈΠΊΠΈ послСднСй Π½Π΅Π΄Π΅Π»ΠΈ.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ - прСфиксноС Π΄Π΅Ρ€Π΅Π²ΠΎ: Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС дСкодирования маска Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅Π²Π°Π»ΠΈΠ΄Π½Ρ‹Π΅ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ†Π΅Π»ΠΎΠΌ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ ΡƒΠ±ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° TPU ΠΈ GPU. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Π΄Π²Π΅:

πŸŸ ΠžΠ±Ρ…ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ создаСт случайный, нСсмСТный ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ доступа ΠΊ памяти, Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ ускоритСлСй рассчитана Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, Π° Π½Π΅ Π½Π° Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ.

πŸŸ Π“ΡƒΠ³Π»ΠΎΠ²ΡΠΊΠΈΠΉ XLA-компилятор Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ статичСских Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΎΠ², Π° прСфиксноС Π΄Π΅Ρ€Π΅Π²ΠΎ с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ, зависящим ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, Π² это Π½Π΅ вписываСтся.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ прСфиксноС Π΄Π΅Ρ€Π΅Π²ΠΎ Π½Π° CPU ΡƒΠ΄Π²Π°ΠΈΠ²Π°Π΅Ρ‚ врСмя инфСрСнса, Ρ‡Ρ‚ΠΎ для систСмы с Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ≀10 мс Π½Π° шаг Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ.

STATIC мСняСт ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ: Π΄Π΅Ρ€Π΅Π²ΠΎ разворачиваСтся Π² ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Compressed Sparse Row. ΠžΠ±Ρ…ΠΎΠ΄ прСвращаСтся Π² Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ аксСлСратор ΡƒΠΌΠ΅Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ.

Для ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π΄Π΅Ρ€Π΅Π²Π°, Π³Π΄Π΅ коэффициСнт вСтвлСния максималСн, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ прСдвычислСнная плотная Π±ΡƒΠ»Π΅Π²Π° маска: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° валидности Ρ‚ΠΎΠΊΠ΅Π½Π° сводится ΠΊ прямому ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ ΠΏΠΎ индСксу, Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°.

Для Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ спСциализированноС ядро Vectorized Node Transition Kernel, ΠΎΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ фиксированный Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ числа Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΡƒΠ·Π»ΠΎΠ², Π½Π΅ создавая условных ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ². Π’ этом ΠΈ Π΅ΡΡ‚ΡŒ вся соль: вСсь Π³Ρ€Π°Ρ„ остаСтся статичСским, XLA Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π° Ρ…ΠΎΠ΄Ρƒ.

πŸŸ‘Π’Π΅ΡΡ‚Ρ‹ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

Π—Π°ΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈ Π½Π° TPU v6e с 3B-модСлью ΠΈ словарСм ΠΈΠ· 20 ΠΌΠ»Π½. свСТих Π²ΠΈΠ΄Π΅ΠΎ.

STATIC добился Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ 0,033 мс Π½Π° шаг дСкодирования (это всСго 0,25% ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ инфСрСнса.

Для сравнСния: прСфиксноС Π΄Π΅Ρ€Π΅Π²ΠΎ Π½Π° CPU Π΄Π°Π²Π°Π»ΠΎ +31,3 мс (239% ΠΎΡ‚ инфСрСнса), Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΈΠ· ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² нСпосрСдствСнно Π½Π° аксСлСраторС, PPV Approximate +1,56 мс (11,9%). Π˜Ρ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΡ„ΠΈΡ‚:

🟒948x ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π΄Π΅Ρ€Π΅Π²Π° Π½Π° CPU;

🟒47x ΠΏΡ€ΠΎΡ‚ΠΈΠ² PPV Approximate;

🟒1033x ΠΏΡ€ΠΎΡ‚ΠΈΠ² Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ PPV.

По памяти: ~90 ΠœΠ‘ Π½Π° 1 ΠΌΠ»Π½. элСмСнтов. Для словаря Π² 20 ΠΌΠ»Π½. Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» ΠΏΠΎ HBM ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 1,5 Π“Π‘, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ - ΠΎΠΊΠΎΠ»ΠΎ 75% ΠΎΡ‚ этого значСния.

🟑STATIC Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ Π½Π° YouTube Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½Π΅.

A/B-тСст с условиСм Β«Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π·Π° послСдниС 7 Π΄Π½Π΅ΠΉΒ» ΠΏΠΎΠΊΠ°Π·Π°Π» +5,1% просмотров свСТСго ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, +2,9% для Ρ‚Ρ€Π΅Ρ…Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, +0,15% ΠΏΠΎ CTR ΠΈ 100% соотвСтствиС бизнСс-ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ бонус: ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², Π½Π΅ прСдставлСнных Π² ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅. На датасСтС Amazon Reviews Recall@1 вырос с 0% Π΄ΠΎ 1,2–4,4% Π² зависимости ΠΎΡ‚ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ.

Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π»Π΅ΠΆΠΈΡ‚ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±Π΅Π· ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройки ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ строится индСкс ΠΈΠ· Semantic ID ΠΈ ΠΊΠ°ΠΊ запускаСтся Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ограничСниями.

πŸ“ŒΠ›ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Apache 2.0 License.

🟑Arxiv

πŸ–₯GitHub

@machinelearning

#AI #ML #LLM #STATIC #DeepMind

-2