ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Β» DailyTechInfo
ΠΠ΅ΠΉΡΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΠΈ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠΎΡΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π³Π»ΡΠ±ΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΌΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ°, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ IEEE FP32. ΠΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΡΡΠΎΠΊΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², ΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡΠΈΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ½Π΅ΡΠ³ΠΈΠΈ. Π ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΆΠ΅ Ρ Π²ΡΡΠΎΠΊΠΈΠΌΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΊ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ 8-ΡΠ°Π·ΡΡΠ΄Π½ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ INT8. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ°, ΠΏΡΠΈΠ½Π΅ΡΡ Π² ΠΆΠ΅ΡΡΠ²Ρ ΡΠΎΡΠ½ΠΎΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ° ΠΈ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΡΠΈΡΠ΅Π», ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Google Brain Π² ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π»Ρ Π³Π»ΡΠ±ΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΌΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ ΡΠΎΡΠ½ΠΎΡΡΠΈ.
Π ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ FP32 ΠΈ BF16? Π§ΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ FP32 ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 1 Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Π±ΠΈΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π³ΠΎ Π·Π½Π°ΠΊ ΡΠΈΡΠ»Π° (+ ΠΈΠ»ΠΈ -), ΠΏΠΎΡΠ»Π΅ Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ 8-Π±ΠΈΡΠ½Π°Ρ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠ° (ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΠΈΡΠ»Π°), ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠ΄Π΅Ρ 23-Π±ΠΈΡΠ½Π°Ρ ΠΌΠ°Π½ΡΠΈΡΡΠ° (ΡΠ°ΠΌΠΎ ΡΠΈΡΠ»ΠΎ). Π Π² ΡΡΠΌΠΌΠ΅ Π½Π°Π±ΠΈΡΠ°ΡΡΡΡ ΠΏΠΎΠ»Π½ΡΠ΅ 32 ΡΠ°Π·ΡΡΠ΄Π°.
ΠΠ»Ρ ΡΠΎΡΠΌΠ°ΡΠ° BF16 ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Google Brain ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ ΡΡΠ΅ΡΡ ΠΌΠ°Π½ΡΠΈΡΡΡ Π΄ΠΎ 7 Π±ΠΈΡ. Π’Π°ΠΊΠΎΠΉ Π²ΡΠ±ΠΎΡ Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ, ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΠ΅ΠΉ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΡ, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΌΠ°Π½ΡΠΈΡΡΡ. Π Π²Π°ΡΠΈΠ°Π½Ρ BF16 ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΌ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠΎΠΌ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΈΡΠ»ΠΎ Π² BF16 ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Π±ΠΈΡΠ°, 8-Π±ΠΈΡΠ½ΠΎΠΉ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ 7-Π±ΠΈΡΠ½ΠΎΠΉ ΠΌΠ°Π½ΡΠΈΡΡΡ, ΡΡΠΎ Π² ΡΡΠΌΠΌΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΠ΅ 16 Π±ΠΈΡ. ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ΅Π½Π·ΠΎΡΠ½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ BF16 ΡΡΠ΅Π±ΡΡΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΌΠ΅Π½ΡΡΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ, ΠΎΠ±ΡΠ΅ΠΌΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠ½Π΅ΡΠ³Π΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°ΡΡΠ°ΡΡ. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ Π½Π°ΡΠΈΠΌ ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΌ, ΡΡΠΎ ΡΠ΅Π½Π·ΠΎΡ β ΡΡΠΎ ΡΡΠ΅Ρ
ΠΌΠ΅ΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΡΠΈΡΠ΅Π», Π° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅Π½Π·ΠΎΡΠΎΠ² β ΡΡΠΎ ΠΊΠ»ΡΡΠ΅Π²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΎΡΡ Π²ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ°.
ΠΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π²ΠΎΠΏΡΠΎΡ, Π° ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΡΠ΅ΡΠ΅Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ IEEE FP16? ΠΠ΅Π΄Ρ ΡΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΈΠ³ΡΠ°ΠΌΠΈ. Π§ΠΈΡΠ»ΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ FP16 Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ β ΠΎΠ΄ΠΈΠ½ Π·Π½Π°ΠΊΠΎΠ²ΡΠΉ Π±ΠΈΡ, 5-Π±ΠΈΡΠ½Π°Ρ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈ 10-Π±ΠΈΡΠ½Π°Ρ ΠΌΠ°Π½ΡΠΈΡΡΠ°, ΡΡΠΎ Π² ΡΡΠΌΠΌΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΠ΅ 16 Π±ΠΈΡ.
Π‘ΡΠ°Π·Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠ΅ΡΠ΅Π½Π½Π°Ρ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΌΠ΅Π½ΡΡΠΈΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠΈΡΠ΅Π», ΡΠ΅ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠΎΡΠΌΠ°ΡΠ° BF16, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΠΈ ΡΠ°Π²Π΅Π½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ FP32. ΠΠΎ-Π²ΡΠΎΡΡΡ
, Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΠ»Π° FP32 Π² ΡΠΎΡΠΌΠ°Ρ FP16 ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΠΈ ΠΌΠ°Π½ΡΠΈΡΡΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ°Ρ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ FP32 Π² BF16. Π, Π²-ΡΡΠ΅ΡΡΠΈΡ
, ΡΡΠ΅ΡΠ΅Π½Π½Π°Ρ ΠΌΠ°Π½ΡΠΈΡΡΠ° ΡΠΎΡΠΌΠ°ΡΠ° BF16 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΈΠ½Ρ Π±Π»ΠΎΠΊΠΎΠ² Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ
ΡΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Π΅ΠΉ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠ° FP16.
Π Π² Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΎΡΠΌΠ°Ρ BF16 ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ°. Π 2017 Π³ΠΎΠ΄Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Nervana ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»Π° ΡΠΎΡΠΌΠ°Ρ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Flexpoint, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ. ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΈΡΠ΅Π» Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°ΠΏΡΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π΄Π²ΡΡ
ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π». ΠΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π»ΡΡ ΡΠ°ΡΡΡ ΡΠΈΡΠ»Π° Π΄ΠΎ Π·Π°ΠΏΡΡΠΎΠΉ, Π²ΡΠΎΡΠΎΠ΅ β Π΄ΡΠΎΠ±Π½ΡΡ ΡΠ°ΡΡΡ ΡΠΈΡΠ»Π° (ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ). Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Nervana Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΡΠΎΡΠΌΠ°Ρ ΡΠΈΡΠ»Π° Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°ΠΏΡΡΠΎΠΉ Π΅ΡΠ΅ ΠΈ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΎΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠ° Π±ΡΠ»Π° ΠΎΠ΄Π½Π° Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠΈΡΠ΅Π», ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠΎΡΡΠΎΠΈΡ ΡΠ΅Π½Π·ΠΎΡ. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅Π½Π·ΠΎΡΠΎΠ² ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΡΡ
ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
ΠΠΎ ΡΡΡ ΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ ΡΠ·ΠΊΠΈΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ ΡΠΈΡΠ΅Π», ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡΠΆΠ΅ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΄Π΅Π»Π°Π»Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Β«Π²Π·Π»Π΅ΡΒ» ΡΠΎΡΠΌΠ°ΡΠ° Flexpoint ΠΈ Π΄Π°ΠΆΠ΅ Π² ΠΏΠ΅ΡΠ²ΡΡ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Nervana ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΡΠΎΡΠΌΠ°Ρ BF16.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°:
ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ, ΠΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ, ΠΠ΅ΠΉΡΠΎΠ½Π½Π°Ρ, Π‘Π΅ΡΡ, Π€ΠΎΡΠΌΠ°Ρ, Π§ΠΈΡΠ»ΠΎ, Π Π°Π·ΡΡΠ΄Π½ΠΎΡΡΡ, Π’ΠΎΡΠ½ΠΎΡΡΡ, Π‘ΠΊΠΎΡΠΎΡΡΡ, ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ
ΠΠ΅ΡΠ²ΠΎΠΈΡΡΠΎΡΠ½ΠΈΠΊ
ΠΡΡΠ³ΠΈΠ΅ Π½ΠΎΠ²ΠΎΡΡΠΈ ΠΏΠΎ ΡΠ΅ΠΌΠ΅:
ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΏΡΠ°ΠΉΡ ΡΠΈΡΡΠ°Π»ΡΠ½ΡΡ
ΡΡΠ»ΡΠ³ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Β«ΠΠΠΒ».
ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ LLaMA Ρ ΠΏΠΎΠΌΠΎΡΡΡ RLHF / Π₯Π°Π±Ρ
ChatGPT, GPT-4 ΠΈ Claude β ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΎΠ±ΡΡΠ°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠ·ΡΠ²ΠΎΠ² Π»ΡΠ΄Π΅ΠΉΒ» (Reinforcement Learning from Human Feedback, RLHF). ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π»ΡΡΡΠ΅ ΠΎΡΡΠ°ΠΆΠ°ΡΡ Π½Π°ΡΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π² ΠΏΠ»Π°Π½Π΅ ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΎΠ½ΠΈ Π»ΡΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠΎΠΌΡ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Π ΡΡΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ LLaMa c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ RLHF. ΠΠΎΠ΄Π΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΡΡΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡΡ Ρ ΡΠ°ΠΉΡΠ° Stack Exchange. Π Ρ ΠΎΠ΄Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²:
ΠΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠΈΡΠ΅Π»Π΅ΠΌ (Supervised Fine-tuning, SFT).
ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΡ / ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ (Reward / preference modeling, RM).
ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠ·ΡΠ²ΠΎΠ² Π»ΡΠ΄Π΅ΠΉ (Reinforcement Learning from Human Feedback, RLHF).
ΠΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠΈΡΠ΅Π»Π΅ΠΌ ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠ·ΡΠ²ΠΎΠ² Π»ΡΠ΄Π΅ΠΉ (ΠΈΡΡΠΎΡΠ½ΠΈΠΊ: Training language models to follow instructions with human feedback)
ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡ ΡΡΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Ρ, ΠΌΡ Π²ΡΠΏΡΡΡΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ StackLLaMA. ΠΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π·Π΄Π΅ΡΡ (Π²ΠΎΡ β ΠΈΡΡ
ΠΎΠ΄Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ LLaMA). ΠΠ΅ΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Ρ
ΠΎΠ΄ΠΈΡ Π² ΡΠΎΡΡΠ°Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Hugging Face TRL. ΠΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΡ, ΠΏΠΎΠ½ΡΡΡ β Π½Π° ΡΡΠΎ ΠΎΠ½Π° ΡΠΏΠΎΡΠΎΠ±Π½Π°, ΠΌΠΎΠΆΠ½ΠΎ Π·Π΄Π΅ΡΡ.
ΠΠΎΠ΄Π΅Π»Ρ LLaMA
ΠΡΠΈΠΌΠ΅Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ RLHF Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΠΎ-ΡΠΎ ΡΠΌΠ΅ΡΡ. ΠΠ΅Π΄Ρ Π½Π° ΡΠ°Π³Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ RLHF Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π»ΠΈΡΡ Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π΅Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΠΏΠΎΠ΄ ΡΠΎ, ΠΊΠ°ΠΊ Ρ Π½Π΅ΠΉ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ, ΠΈ ΠΏΠΎΠ΄ ΡΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ LLaMA. ΠΡΠΎ β ΡΠ°ΠΌΡΠ΅ ΡΠ²Π΅ΠΆΠΈΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅ Meta AI. ΠΡ
ΡΠ°Π·ΠΌΠ΅ΡΡ Π²Π°ΡΡΠΈΡΡΡΡΡΡ ΠΎΡ 7 Π΄ΠΎ 65 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΡΠΈ ΠΈΡ
ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π°Π±ΠΎΡΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π² ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΎΡ 1 ΡΡΠΈΠ»Π»ΠΈΠΎΠ½Π° Π΄ΠΎ 1,4 ΡΡΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ². ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π΅ΡΡΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ. ΠΡ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π½Π° Π²ΡΠ΅Ρ
ΡΡΠ°ΠΏΠ°Ρ
Π½Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ Ρ 7 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄Π°ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌΡ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π΄Π΅ΡΡ.
ΠΠ°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ Stack Exchange
Π‘ΠΎΠ±ΠΈΡΠ°ΡΡ ΠΎΡΠ·ΡΠ²Ρ ΠΎΡ Π»ΡΠ΄Π΅ΠΉ β ΡΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈ Π΄ΠΎΡΠΎΠ³ΠΎ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΠΊΡΡ Π±Π°Π·Ρ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π½Π΅ΡΡΠΎ, ΠΈΠΌΠ΅ΡΡΠ΅Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅Π½Π½ΠΎΡΡΡ, ΠΌΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ StackExchange. ΠΡΠΎΡ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ Π½Π° Π½ΠΈΡ Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ StackExchange (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ β Π²ΠΎΠΏΡΠΎΡΡ ΡΠΎ StackOverflow Π² ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΠΌ). ΠΠ½ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π°ΠΌ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² ΡΠ²Π΅Π΄Π΅Π½ΠΈΡΡ ΠΎΠ± ΠΎΡΠ²Π΅ΡΠ°Ρ Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Β«Π»Π°ΠΉΠΊΠΎΠ²Β» ΠΈ ΠΌΠ΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠ°ΡΠΊΠΈΡΡΡΡΡΡ ΠΏΡΠΈΠ½ΡΡΡΠ΅ ΠΎΡΠ²Π΅ΡΡ.
ΠΡ, Π½Π°Π·Π½Π°ΡΠ°Ρ ΠΎΡΠ²Π΅ΡΠ°ΠΌ Π±Π°Π»Π»Ρ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌΡ Π² ΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅:
Π±Π°Π»Π»Ρ = log2 (1 + Π»Π°ΠΉΠΊΠΈ) ΠΎΠΊΡΡΠ³Π»ΡΠ½Π½ΠΎΠ΅ Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΠΏΠ»ΡΡ 1 Π΅ΡΠ»ΠΈ Π°Π²ΡΠΎΡ Π²ΠΎΠΏΡΠΎΡΠ° ΠΏΡΠΈΠ½ΡΠ» ΠΎΡΠ²Π΅Ρ (ΠΌΡ Π½Π°Π·Π½Π°ΡΠ°Π΅ΠΌ β1 Π±Π°Π»Π»ΠΎΠ² Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»Π°ΠΉΠΊΠΎΠ² β ΡΡΠΎ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ).
ΠΠΎΠ·ΠΆΠ΅ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π°Π³ΡΠ°Π΄ Π²ΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½Ρ Π΄Π²Π° ΠΎΡΠ²Π΅ΡΠ° Π½Π° Π²ΠΎΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ ΠΈΠΌΠ΅ΡΡΡΡ Π΄Π΅ΡΡΡΠΊΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ², ΡΡΠΎ Π²Π΅Π΄ΡΡ ΠΊ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΠΏΠ°Ρ ΠΎΡΠ²Π΅ΡΠΎΠ². ΠΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌΡΡ, ΡΠ°ΠΌΠΎΠ΅ Π±ΠΎΠ»ΡΡΠ΅Π΅, ΠΊ Π΄Π΅ΡΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° ΠΎΠ΄ΠΈΠ½ Π²ΠΎΠΏΡΠΎΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠ΅ΠΊ Π΄Π°Π½Π½ΡΡ
, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ ΠΎΠ΄Π½ΠΈΠΌ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ. Π Π½Π°ΠΊΠΎΠ½Π΅Ρ β ΠΌΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ°, ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠΎΡΠΌΠ°ΡΠ° HTML Π² ΡΠΎΡΠΌΠ°Ρ Markdown, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡ Π²ΡΡ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΡΠΉ ΡΡΡ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ
ΠΈ Π±Π»ΠΎΠΊΠ½ΠΎΡ IPython, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π·Π΄Π΅ΡΡ.
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ
ΠΠ°ΠΆΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΠΉ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° LLaMA ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ° ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΈΠΊΠΈΠ½Π΅ΠΌ ΠΏΠΎ-Π±ΡΡΡΡΠΎΠΌΡ: ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
bf16 ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ 2 Π±Π°ΠΉΡΠ° (Π΄Π»Ρ fp32 ΡΡΠΎ β 4 Π±Π°ΠΉΡΠ°) Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ 8 Π±Π°ΠΉΡΠ°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠ΅ Adam (ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π² ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°Ρ
ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ΅ΡΠΎΠ²). ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ 7 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄Π°ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ (2+8)*7B=70GB ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΡ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ ΠΆΠ΅ Π΄Π΅Π»Π΅ Π΅ΠΉ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΅ΡΡ Π±ΠΎΠ»ΡΡΠΈΠΉ ΠΎΠ±ΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΡΠ°ΡΡΡΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ
, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ.
ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ β ΡΡΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (Parameter-Efficient Fine-Tuning, PEFT). Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ peft, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΎΡΠ°Π·ΠΌΠ΅ΡΠ½ΡΡ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ² (Low-Rank Adaptation, LoRA) Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ Π² 8-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅.
LoRA Π΄Π»Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠ»ΠΎΡΠ²: ΠΏΠΎΡΠ»Π΅ Β«Π·Π°ΠΌΠΎΡΠΎΠΆΠ΅Π½Π½ΡΡ Β» ΡΠ»ΠΎΡΠ² (Π²ΡΠ΄Π΅Π»Π΅Π½Ρ ΡΠΈΠ½ΠΈΠΌ) Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ (Π²ΡΠ΄Π΅Π»Π΅Π½Ρ ΠΎΡΠ°Π½ΠΆΠ΅Π²ΡΠΌ). Π Π΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠ΅ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΊΡΡΡΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΡΠΎ ΡΠΊΡΡΡΡΠΌΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ Π·Π°ΠΌΠΎΡΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠ»ΠΎΡΠ².
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² 8-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ Π²Π΅ΡΡΠΌΠ° Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄Π»Ρ Π²Π΅ΡΠ° Π½ΡΠΆΠ΅Π½ Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ LlaMa Ρ 7 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄Π°ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ 7 ΠΠ± ΠΏΠ°ΠΌΡΡΠΈ). ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π² Ρ
ΠΎΠ΄Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠ΅ Π²Π΅ΡΠ°, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ LoRa ΠΏΠΎΠ²Π΅ΡΡ
Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ»ΠΎΡΠ² (ΠΎΠ±ΡΡΠ½ΠΎ β ΡΡΠΎ ΡΠ»ΠΎΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ) Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ ΡΠ»ΠΎΠΈ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ². Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΡΠ°Π΅ΠΌΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ½ΠΈΠΆΠ°Π΅ΡΡΡ.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ: Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 1,2-1,4 ΠΠ± ΠΏΠ°ΠΌΡΡΠΈ Π½Π° ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈ Π΄Π»ΠΈΠ½Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ), ΡΡΠΎΠ±Ρ Π² ΡΡΠΎΡ ΠΎΠ±ΡΡΠΌ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ»ΠΎΡΡ Π±Ρ Π²ΡΡ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΡΡΠ»Π°Π»ΠΈΡΡ Π²ΡΡΠ΅, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΈΠΌ Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ (ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ Π΄ΠΎ 50-60 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π° Nvidia A100 80GB).
ΠΡΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ
ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
ΠΈ Π² ΡΡΠ΅Π΄Π΅ Google Colab. Π‘ΡΠ΅Π΄ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², Π΄ΠΎΡΡΠΎΠΉΠ½ΡΡ
Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ facebook/opt-6.7b
openai/whisper-large
Π² Google Colab (15 ΠΠ± ΠΏΠ°ΠΌΡΡΠΈ GPU).
peft
β ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ GitHub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΠ»ΠΈ ΠΊ ΡΡΠΎΠΌΡ Π½Π°ΡΠ΅ΠΌΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, ΠΏΠΎΡΠ²ΡΡΡΠ½Π½ΠΎΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ 20 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄Π°ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌ Β«ΠΆΠ΅Π»Π΅Π·Π΅Β».Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ GPU ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½ΠΎ ΠΈΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π²Π΅ΡΡΠΌΠ° ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠ΅ΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° Π΄Π°Π½Π½ΡΡ . Π ΠΈΠΌΠ΅Π½Π½ΠΎ β Π½Π° Π΄ΡΡΠ³ΠΈΡ GPU ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΏΠΈΠΈ ΡΡΠ΅Π΄Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ°Π·Π½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΡΠΌΡΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΎΠ² Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π·Π° ΡΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ GPU.
Π Π°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ
Π’ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π»ΠΈΠ±ΠΎ transformers.Trainer
, Π»ΠΈΠ±ΠΎ accelerate
. ΠΠ±Π΅ ΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΡΡΠΎ ΠΏΡΡΡΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ torchrun
ΠΈΠ»ΠΈ accelerate launch
. ΠΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π³Π΄Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΡΠΈ Π΄Π²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ
ΠΎΠ±ΡΡΠ°ΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π° 8 GPU, ΡΠ°Π·ΠΌΠ΅ΡΡΠ½Π½ΡΡ
Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
accelerate launch --multi_gpu --num_machines 1 --num_processes 8 my_accelerate_script.py torchrun --nnodes 1 --nproc_per_node 8 my_torch_script.py
ΠΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠΈΡΠ΅Π»Π΅ΠΌ
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΡΠ½ΡΠΌ ΠΎΠ±ΡΡΠ°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΡΠΎΠ½ΠΊΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π±ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΆΠ΅ Π±ΡΠ΄Π΅Ρ Ρ
ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅ΠΉ Π½Π°Ρ ΡΡΠ΅ΡΠ΅. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°Π΄ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΠΎΡΠ²Π΅ΡΠ°Π»Π° Π½Π° Π²ΠΎΠΏΡΠΎΡΡ. Π Π²ΠΎΡ Π² Π΄ΡΡΠ³ΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»Π° Π±Ρ Π½Π΅ΠΊΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ. Π ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π½Π°ΡΠΈΠ½Π°ΡΡ Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΆΠ΅ ΡΠΌΠ΅Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠ°ΠΌ Π»Π΅Π³ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΡΠΏΠΈΡΡ ΡΠ°ΠΊ: ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ΅Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ β ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ°, Π½Π° ΡΠ΅ΠΊΡΡΠ°Ρ
ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅ΠΉ Π½Π°Ρ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ»ΠΈ Π½Π° ΡΠ΅ΠΊΡΡΠ°Ρ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
Π·Π°Π΄Π°Ρ. ΠΠ°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ
StackExchange ΠΎΠ³ΡΠΎΠΌΠ΅Π½ (Π±ΠΎΠ»Π΅Π΅ 10 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ), ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡΡΠ°ΡΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π° Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅.
Π Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ RLHF Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠ³ΠΎ. Π Π΅ΡΡ ΠΈΠ΄ΡΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΎ ΡΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΏΡΠΈΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠ»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ. ΠΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ°Π·ΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΠΊΡΡ, Π° ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π»ΠΈΠ±ΠΎ ΠΏΠΎ ΡΠ°ΠΌΠΎΠΌΡ Π΄Π»ΠΈΠ½Π½ΠΎΠΌΡ ΡΠ΅ΠΊΡΡΡ, Π»ΠΈΠ±ΠΎ ΠΏΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π ΠΌΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½ΠΈΡΡΠ΅ΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ², ΠΏΠΎΠΌΠ΅ΡΠ°Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΠΎΠΊΠ΅Π½ EOS, ΠΈ Π²ΡΡΠ΅Π·Π°Π΅ΠΌ ΠΈΠ· ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΡΠ΅ΠΊΡΡΠΎΠ²
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΠΊΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠΎΠ΄Π΅Π»Ρ, ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π² ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΌΠ°ΡΠΊΠΈΡΡΡΡΡΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΡΠ΅ΡΡ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ° Π΄Π°Π½Π½ΡΡ
, ΠΈ Π΅ΡΠ»ΠΈ Π²Π°Ρ Π±ΠΎΠ»ΡΡΠ΅ Π·Π°Π±ΠΎΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΎΠΊΠ΅Π½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π΄Π°Π½Π½ΡΡ
.
Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ConstantLengthDataset
. ΠΠ°ΡΠ΅ΠΌ, ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ peft
, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Trainer
. Π‘Π½Π°ΡΠ°Π»Π° ΠΌΠΎΠ΄Π΅Π»Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
int8, Π³ΠΎΡΠΎΠ²ΡΡ Π΅Ρ ΠΊ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, Π° ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π°Π΄Π°ΠΏΡΠ΅ΡΡ LoRA.
# Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ 8-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ model = AutoModelForCausalLM.from_pretrained( args.model_path, load_in_8bit=True, device_map={"": Accelerator().local_process_index} ) model = prepare_model_for_int8_training(model) # Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ² LoRA lora_config = LoraConfig( r=16, lora_alpha=32, lora_dropout=0.05, bias="none", task_type="CAUSAL_LM", ) model = get_peft_model(model, config)
ΠΡ ΠΎΠ±ΡΡΠ°Π΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΡΡΡΡ ΡΠ°Π³ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Π»Ρ CAUSAL_LM
, ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΡΠ½ΠΎΠ²Π° Π±ΡΠ΄Π΅ΠΌ Π΄ΠΎΠΎΠ±ΡΡΠ°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅Π»ΠΈ, ΠΌΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ Π²Π΅ΡΠ° Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ² Ρ Π²Π΅ΡΠ°ΠΌΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΊΠ°Π·Π΅ ΠΎΠ± ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ: ΠΈΠ·-Π·Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ LLaMA ΠΌΡ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΠΌ Π»ΠΈΡΡ Π²Π΅ΡΠ° Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ² ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΡ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π΅ΡΠ°ΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ² ΡΡΡ ΡΠΎΡΠΌΡ, Π° ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΡΠΎΡΠΌΠ°Ρ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ΅ΡΠΎΠ² Hugging Face, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΡΡΠΈΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠΌ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ, Π΄ΠΎ Π²ΡΡ ΠΎΠ΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²Π΅ΡΡΠΈΠΈ 4.28, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½Π½Π°Ρ Π² ΡΠ°ΡΡΡΡΠ΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΡ, ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡ
ΠΡ, ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ RLHF Π½Π°ΠΏΡΡΠΌΡΡ, ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄Π΅Π»Π°Π» ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ. ΠΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΎΡΡ Π±Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π»ΡΠ΄ΡΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ°Π·ΡΡ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ, ΠΏΠΎΡΡΡΠΏΠ°Ρ ΡΠ°ΠΊ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΎ β Π΄ΠΎΡΠΎΠ³ΠΎ ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ², ΠΈ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π»ΡΠ΄ΠΈ, ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΈΡΠΎΠ΄Π΅, Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΡΡΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ.
Π’ΡΡ ΠΌΡ ΠΏΡΠΈΠ±Π΅Π³Π½Π΅ΠΌ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ Ρ ΠΈΡΡΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ, Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΡΠ·ΡΠ²ΠΎΠ², ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ Π»ΡΠ΄ΡΠΌΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π±Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π»ΡΠ΄ΡΠΌΠΈ Π΄ΠΎ ΡΠΈΠΊΠ»Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΡΠ΅Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎ, ΠΊΠ°ΠΊ Π»ΡΠ΄ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡ. ΠΠ»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ±Π΅Π³Π½ΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ. Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± β ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ ΠΎΡΠ·ΡΠ² ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ β Π±Π°Π»Π»ΡΠ½ΡΡ ΠΎΡΠ΅Π½ΠΊΡ ΠΈΠ»ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΠ·ΠΈΡΡΡΡΠ΅Π΅ Β«Ρ ΠΎΡΠΎΡΠΎΒ» ΠΈΠ»ΠΈ Β«ΠΏΠ»ΠΎΡ ΠΎΒ»). ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΆΠ΅ Π»ΡΡΡΠ΅ ΡΠ΅Π±Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΊΠΈ Π΄Π»Ρ Π΄Π²ΡΡ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄Π²Π° ΠΎΠ±ΡΠ°Π·ΡΠ°-ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ° yk,yj Π΄Π»Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΅ΠΉ ΠΏΡΠΎΠΌΠΏΡΠ° x, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π΅ΠΉ Π½ΡΠΆΠ½ΠΎ ΡΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ΅ ΠΎΡΠ΅Π½ΡΠ½ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ.
ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΡΠ΅ΡΡ:
ΠΠ΄Π΅ΡΡ β ΡΡΠΎ ΠΎΡΠ΅Π½ΠΊΠ°, Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»ΡΡ, Π° β ΡΡΠΎ ΠΎΠ±ΡΠ°Π·Π΅Ρ-ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΡΠ΄Π°Π½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅.
Π Π°Π±ΠΎΡΠ°Ρ Ρ Π½Π°Π±ΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ
StackExchange, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ·Π½Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π΄Π²ΡΡ
ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΡΠΈΡ
ΠΎΡΠ²Π΅ΡΠΎΠ². ΠΠΌΠ΅Ρ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΠ΅ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π²ΡΡΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ transformers.Trainer
, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΠ΅ΡΡ.
class RewardTrainer(Trainer): def compute_loss(self, model, inputs, return_outputs=False): rewards_j = model(input_ids=inputs["input_ids_j"], attention_mask=inputs["attention_mask_j"])[0] rewards_k = model(input_ids=inputs["input_ids_k"], attention_mask=inputs["attention_mask_k"])[0] loss = -nn.functional.logsigmoid(rewards_j - rewards_k).mean() if return_outputs: return loss, {"rewards_j": rewards_j, "rewards_k": rewards_k} return loss
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ· 100000 ΠΏΠ°Ρ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠ² ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΠΌ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Π½Π°Π±ΠΎΡΠ΅ ΠΈΠ· 50000 ΠΏΠ°Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΊΡΠΎΠΌΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΡΠ΅Π±Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
, ΡΠ°Π²Π½ΡΠΉ 4, ΠΌΡ ΠΎΠ±ΡΡΠ°Π΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ LLaMA Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ LoRA-Π°Π΄Π°ΠΏΡΠ΅ΡΠ°, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ peft
. ΠΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ Adam Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ BF16. ΠΠΎΡ Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ LoRA:
peft_config = LoraConfig( task_type=TaskType.SEQ_CLS, inference_mode=False, r=8, lora_alpha=32, lora_dropout=0.1, )
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»ΠΎΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Weights & Biases. ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ»ΠΎΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΠΎΠ², ΠΎΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ GPU Nvidia A100 Π½Π° ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Hugging Face. ΠΠΎΠ΄Π΅Π»Ρ Π΄ΠΎΡΡΠΈΠ³Π»Π° ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ Π² 67%. Π₯ΠΎΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΠΈΠΌ, Π½Π°Π΄ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π·Π°Π΄Π°ΡΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ΅ΡΠ°Π»ΠΈ, Π²Π΅ΡΡΠΌΠ° ΡΠ»ΠΎΠΆΠ½Π° Π΄Π°ΠΆΠ΅ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π°Π΄Π°ΠΏΡΠ΅ΡΡ, ΠΏΠΎΡΠ»Π΅ ΠΈΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Ρ Β«Π·Π°ΠΌΠΎΡΠΎΠΆΠ΅Π½Π½ΠΎΠΉΒ» ΠΌΠΎΠ΄Π΅Π»ΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΡ Π·Π°Π΄Π°Ρ.
ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠ·ΡΠ²ΠΎΠ² Π»ΡΠ΄Π΅ΠΉ
ΠΠΌΠ΅Ρ Π² ΡΠ²ΠΎΡΠΌ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ, ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΊ Π·Π°ΠΏΡΡΠΊΡ ΡΠΈΠΊΠ»Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ. ΠΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π½Π΅ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² Π΄Π΅ΡΠ°Π»ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° ΡΡΠΈ ΡΠ°Π³Π°:
ΠΠ΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΠΌΠΏΡΠΎΠ².
ΠΡΠ΅Π½ΠΊΠ° ΠΎΡΠ²Π΅ΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ.
ΠΠ°ΠΏΡΡΠΊ ΡΠ°Π³Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΎΠΊ.
ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠ·ΡΠ²ΠΎΠ² Π»ΡΠ΄Π΅ΠΉ
ΠΡΠΎΠΌΠΏΡΡ Query
ΠΈ Response
ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π²ΠΈΠ΄Ρ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡ
ΡΠΎΠΊΠ΅Π½ΠΈΠ·ΠΈΡΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ:
Question: <Query> Answer: <Response>
Π’Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠ°Π±Π»ΠΎΠ½ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π° ΡΡΠ°ΠΏΠ°Ρ SFT, RM ΠΈ RLHF.
ΠΠΎΠ³Π΄Π° ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ±ΡΡΠ°ΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ, ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΡΠΈΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ Π² ΡΠ²ΠΎΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ°Ρ . Π ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΌΠΎΠ΄Π΅Π»Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΡ Π΅ΡΡΠ½Π΄Ρ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, Π²ΡΡΠΎΠΊΡΡ ΠΎΡΠ΅Π½ΠΊΡ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΡΠΎ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΡΠ°ΡΠΎΠΌ ΠΏΡΠΈ ΡΠ°ΡΡΡΡΠ΅ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΡ. Π ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΌΡ Ρ ΡΠ°Π½ΠΈΠΌ ΡΡΠ°Π»ΠΎΠ½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π½Π΅ ΠΎΠ±ΡΡΠ°Π΅ΠΌ, ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΡΠΎ, ΡΡΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π»Π° Π½ΠΎΠ²Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π²ΡΠ΄Π°Π»Π° ΡΡΠ°Π»ΠΎΠ½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, Π²ΡΡΠΈΡΠ»ΡΡ ΡΠ°ΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΡΠ»ΡΠ±Π°ΠΊΠ°-ΠΠ΅ΠΉΠ±Π»Π΅ΡΠ° (KullbackβLeibler divergence, KL-divergence, KL):
ΠΠ΄Π΅ΡΡ β ΡΡΠΎ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ, Π° β ΡΡΠΎ ΡΠ°ΡΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΡΠ»ΡΠ±Π°ΠΊΠ°-ΠΠ΅ΠΉΠ±Π»Π΅ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π΄Π°ΡΡ ΡΠ΅ΠΊΡΡΠ°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΈ ΡΠ΅ΠΌ, ΡΡΠΎ Π΄Π°ΡΡ ΡΡΠ°Π»ΠΎΠ½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ.
ΠΠΎΠ²ΡΠΎΡΠΈΠΌΡΡ β ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ peft
ΡΠ°Π΄ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ, ΡΡΠΎ Π΄Π°ΡΡ Π½Π°ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ RLHF. ΠΠ΄Π΅ΡΡ ΡΡΠ°Π»ΠΎΠ½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ, Π³Π΄Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠ°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ, ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ β SFT-ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π² 8-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΈ Β«Π·Π°ΠΌΠΎΡΠ°ΠΆΠΈΠ²Π°Π΅ΠΌΒ» Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. ΠΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ PPO, Π»ΠΈΡΡ LoRA-Π²Π΅ΡΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²Π΅ΡΠ° Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
for epoch, batch in tqdm(enumerate(ppo_trainer.dataloader)): question_tensors = batch["input_ids"] # ΠΠ·ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΡΠ° ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ, ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠΎΠ² response_tensors = ppo_trainer.generate( question_tensors, return_prompt=False, length_sampler=output_length_sampler, **generation_kwargs, ) batch["response"] = tokenizer.batch_decode(response_tensors, skip_special_tokens=True) # ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ texts = [q + r for q, r in zip(batch["query"], batch["response"])] pipe_outputs = sentiment_pipe(texts, **sent_kwargs) rewards = [torch.tensor(output[0]["score"] - script_args.reward_baseline) for output in pipe_outputs] # ΠΠ°ΠΏΡΡΠΊ ΡΠ°Π³Π° PPO stats = ppo_trainer.step(question_tensors, response_tensors, rewards) # Log stats to WandB ppo_trainer.log_stats(stats, batch, rewards)
ΠΡ ΠΎΠ±ΡΡΠ°Π»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 20 ΡΠ°ΡΠΎΠ² Π½Π° 3Γ8 GPU Nvidia A100 80GB, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ Hugging Face. ΠΠΎ Π΄ΠΎΡΡΠΎΠΉΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΡΡΡΡΠ΅Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ β ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 20 ΡΠ°ΡΠΎΠ² Π½Π° 8 GPU Nvidia A100). ΠΡΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Ρ ΠΎΠ΄Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° Weights & Biases.
ΠΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΡΠ°ΡΡΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 1000 ΡΠ°Π³ΠΎΠ².
ΠΠ° ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ? ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ!
ΠΠΎΠ΄Π΅Π»Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ
Π₯ΠΎΡΡ ΠΏΠΎΠΊΠ° Π½Π°ΠΌ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΠ²Π΅ΡΡΡΡ ΡΠΎΠ²Π΅ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Π²ΠΎΠΏΡΠΎΡΠ°Ρ
, ΠΊΠ°ΡΠ°ΡΡΠΈΡ
ΡΡ Π»Π°ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΎΡΠ²Π΅Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎ, ΠΈ ΡΡΠΎ Π² Π½ΡΠΌ Π΄Π°ΠΆΠ΅ Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΏΠΎΠΈΡΠΊ Π² Google. Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π² Ρ
ΠΎΠ΄Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ.
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΠΈ, Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ, ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΏΡΡΠΈ
ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ β ΡΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΡΡΠΎ. ΠΠΎΠ΄Π΅Π»Ρ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ², Π½Π΅ΡΠ΄Π°Ρ ΠΈ ΠΎΡΠΈΡΡΠΎΠΊ Π³ΠΈΠΏΠ΅ΡΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ Π½Π°ΠΌ ΡΠ΄Π°Π»ΠΎΡΡ, ΡΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π°Π»Π΅ΠΊΠ° ΠΎΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²Π°. Π’ΡΡ ΠΌΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΠ°ΡΡΠΊΠ°Π·Π°ΠΌΠΈ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ , Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ, ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ ΡΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ.
ΠΡΠ°Π²Π΄Π° Π»ΠΈ ΡΠΎ, ΡΡΠΎ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠ΅ β ΡΠ΅ΠΌ Π²ΡΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ?
Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΡΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠ΅! ΠΡΠΎΡ ΠΏΡΠΎΡ ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠΎΡΡΠΎ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΡΠΌ.
ΠΡΠ»ΠΈ Π² ΠΎΠ±ΡΠΈΡ
ΡΠ΅ΡΡΠ°Ρ
ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΠΎΡ, ΠΊΡΠΎ ΠΈΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ, ΡΡΡΠ΅ΠΌΠΈΡΡΡ Π΄ΠΎΡΡΠΈΡΡ Π½Π°ΠΈΠ²ΡΡΡΠ΅Π³ΠΎ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΡ. ΠΡ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ RLHF, Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ, Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠΌ. ΠΡΠΈΠΌ, Π² ΡΠ²ΠΎΠΈΡ
ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ°Ρ
, ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ PPO. ΠΡΠΎΡΠ²ΠΈΡΡΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π² Π²ΠΈΠ΄Π΅ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΡ. ΠΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΈΠ·ΡΡΠ°Π»ΠΈ ΡΠ΅ΠΊΡΡΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ, ΡΡΠΈ ΡΠ΅ΠΊΡΡΡ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡ ΡΡΡΠΎΠΊΠΈ
```
. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ Π²ΡΡΡΠ½ΠΈΠ»Π°, ΡΡΠΎ ΠΎΡΠ²Π΅ΡΡ Π½Π° Stack Exchange, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΡΡ ΠΎΡΠ΅Π½ΠΊΡ, ΡΠ΅ΠΌ ΠΎΡΠ²Π΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ
ΠΊΠΎΠ΄Π° Π½Π΅Ρ. Π ΡΡΠ°ΡΡΡΡ, ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΡ Π·Π°ΠΌΠ΅ΡΠ°Π»ΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π΄ΠΊΠΎ, ΠΈ, Π² ΡΠ΅Π»ΠΎΠΌ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΡΠ»ΡΠ±Π°ΠΊΠ°-ΠΠ΅ΠΉΠ±Π»Π΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ Β«Π²ΡΡ
ΠΎΠ΄ΠΊΠ°ΠΌΒ» ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΡΠ°Π²Π΄Π° Π»ΠΈ ΡΠΎ, ΡΡΠΎ ΡΠ°ΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΡΠ»ΡΠ±Π°ΠΊΠ°-ΠΠ΅ΠΉΠ±Π»Π΅ΡΠ° β ΡΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅?
ΠΠ°ΠΊ ΠΌΡ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ, ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ KL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ΄Π²ΠΈΠ½ΡΡΡ Π²ΡΡ
ΠΎΠ΄Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π»ΠΈΠΆΠ΅ ΠΊ Π²ΡΡ
ΠΎΠ΄Π°ΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π ΡΠ΅Π»ΠΎΠΌ, ΡΡΠΎΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅Π³Π΄Π° Π²ΡΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ. ΠΠΎ Π² trl
ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΎΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅, ΠΊΠ°ΠΊ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ, ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ ΡΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠΎΠΊΠ΅Π½ Π²Π·ΡΡ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠ½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠ°Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΠ΅ΠΌ Ρ SFT-ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΡΡΡΠ°ΡΡ KL, Π½ΠΎ, Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΈΠ½Π°ΡΠ΅ Π½Π΅Π»ΡΠ·Ρ Π±ΡΠ»ΠΎ Π±Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΠ±ΡΠ°Π·ΡΡ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ Π±ΡΠ΄ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ, Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Π·Π°Π²Π΅ΡΡΡΠ½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°ΡΡΡΡ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ, Π° ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ ΡΠΎΠΊΠ΅Π½Ρ EOS ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΡΡ. ΠΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠ΅Π½Ρ Π½ΠΈΠ·ΠΊΠΈΠ΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊΠΈΠΌ ΡΠΎΠΊΠ΅Π½Π°ΠΌ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ KL. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π°Π»Π³ΠΎΡΠΈΡΠΌ PPO ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΡΡΡΠΎΠΌ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΡ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π³ΠΎΠ½ΡΡΡΡΡ Π·Π° ΡΡΠΈΠΌΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΡΡΠ°ΡΠ°ΠΌΠΈ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ.
ΠΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΡΠ»ΡΠ±Π°ΠΊΠ°-ΠΠ΅ΠΉΠ±Π»Π΅ΡΠ°
ΠΡΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ²Π»ΡΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡ. ΠΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Π²ΡΠ΅Π³Π΄Π° ΡΠ½Π°ΡΠ°Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ², Π° ΡΠΆΠ΅ ΠΏΠΎΡΠΎΠΌ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ, ΠΏΡΠΈΠ±Π΅Π³Π°ΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
Π£ Π½Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΡΡ Π΅ΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π»ΡΡΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠ΅ΡΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΠ΅ΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΏΠΈΠΊΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΡΠΈ ΠΊ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠΈΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΡΠ΅ΡΡ
ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡ ΠΈ ΡΠ΅ΡΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² trl
, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ Π½Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΎΠ³ΠΈ
Π ΡΡΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΈΠΊΠ» ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ RLHF. ΠΡ Π½Π°ΡΠ°Π»ΠΈ Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡΠΌΠΈ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ, Π·Π°ΡΠ΅ΠΌ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΏΠΎΡΠΎΠΌ ΠΎΠ±ΡΡΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΡ, ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ β ΠΎΠ±ΡΡΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ.
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ peft
Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π°Ρ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠΌ GPU! ΠΡΠ»ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ±Π΅Π³Π½ΡΡΡ ΠΊ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΡΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
GPU.
ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΡ
Π·Π°Π΄Π°Ρ, ΡΠΎ ΡΡΠΎ β Π»ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³! ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΠ±ΡΡΠ΅Π½Π°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ Π΅Ρ ΠΈ ΡΡΠ°Π²Π½ΠΈΡΡ Π΅Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ
ΠΎΡΠΎΡΠΎ ΠΎΠ½Π° ΡΠ΅ΡΠ°Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π½Π΅ΠΉ Π·Π°Π΄Π°ΡΡ. Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡΠ΅Π½ΠΈΠ²Π°Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π§Π΅ΠΌ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΌΡ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΈΡΡ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ
ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΠ΅Π½ΠΈΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅: ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π½Π°Π±ΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ β Π΄Π°ΡΡ Π»ΠΈ ΡΡΠΎ ΡΡΠΎ-ΡΠΎ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΡΠ»ΡΡΡΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΡΠΆΠ΅ Π΅ΡΡΡ, Π΄ΡΡΠ³ΠΈΠ΅ Π½Π°Π±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ , ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ Π½Π°Π±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΡΡ β ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΠΉ ΡΠ°Π·Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π΄ΠΎΠ»ΡΡΠ΅ ΠΎΠ±ΡΡΠ°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ.
ΠΡ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π½Π°Π΄ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ΠΌ TRL Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΡΠ°Π³ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ RLHF, Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ. ΠΠ°ΠΌ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΏΠΎΡΡΡΠΎΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°ΡΠΈΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΎΠΊ. ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π²Π½Π΅ΡΡΠΈ Π²ΠΊΠ»Π°Π΄ Π² Π½Π°ΡΠ΅ Π΄Π΅Π»ΠΎ β Π·Π°Π³Π»ΡΠ½ΠΈΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π» Issues ΡΡΠΎΠ³ΠΎ GitHub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΡ Π² wunderfund.io Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΡ Π²ΡΡΠΎΠΊΠΎΡΠ°ΡΡΠΎΡΠ½ΠΎΠΉ Π°Π»Π³ΠΎΡΠΎΡΠ³ΠΎΠ²Π»Π΅ΠΉ Ρ 2014 Π³ΠΎΠ΄Π°. ΠΡΡΠΎΠΊΠΎΡΠ°ΡΡΠΎΡΠ½Π°Ρ ΡΠΎΡΠ³ΠΎΠ²Π»Ρ β ΡΡΠΎ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ΅ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΎΠ² Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°. ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ²ΡΠΈΡΡ ΠΊ Π½Π°ΠΌ, Π²Ρ ΡΡΠ°Π½Π΅ΡΠ΅ ΡΠ°ΡΡΡΡ ΡΡΠΎΠΉ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡ Π²Π°ΡΠΊΠΈ.
ΠΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ low latency ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π»Ρ ΡΠ²Π»Π΅ΡΠ΅Π½Π½ΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ². ΠΠΈΠ±ΠΊΠΈΠΉ Π³ΡΠ°ΡΠΈΠΊ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π±ΡΡΠΎΠΊΡΠ°ΡΠΈΠΈ, ΡΠ΅ΡΠ΅Π½ΠΈΡ Π±ΡΡΡΡΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΠΈ Π²ΠΎΠΏΠ»ΠΎΡΠ°ΡΡΡΡ Π² ΠΆΠΈΠ·Π½Ρ.
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ ΠΈΡΠ΅ΠΌ ΠΏΠ»ΡΡΠΎΠ²ΠΈΠΊΠΎΠ², ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠΎΠ², Π΄Π°ΡΠ°-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² ΠΈ ΠΌΠ»-ΡΠΈΡΠ΅ΡΡΠ΅ΡΠΎΠ².
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅.
ΠΠΎΠ·Π³ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ (bfloat16) β WikiChip
ΠΠΎΠ·Π³ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ ΠΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ Ρ ΡΡΠ΅ΡΠ΅Π½Π½ΡΠΌ ΠΏΠΎΠ»Π΅ΠΌ ΠΌΠ°Π½ΡΠΈΡΡΡ. Bfloat16 ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. Bfloat Π±ΡΠ» Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Google ΠΏΡΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Intel Π² ΡΠ²ΠΎΠΈΡ
FPGA, Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ
Nervana ΠΈ Π¦Π.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
- 1 ΠΠ±Π·ΠΎΡ
- 2 ΠΠΎΡΠΈΠ²Π°ΡΠΈΡ
- 3 ΠΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
- 3.1 Π¦Π
- 3.2 NPU
- 4 ΠΠ‘Π
- 5 Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
- 6 ΠΠΈΠ±Π»ΠΈΠΎΠ³ΡΠ°ΡΠΈΡ
ΠΠ±Π·ΠΎΡ[ΠΏΡΠ°Π²ΠΈΡΡ]
Bfloat16 ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠΌΡ ΠΆΠ΅ ΡΠΎΡΠΌΠ°ΡΡ, ΡΡΠΎ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ IEEE 754 Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ, Π½ΠΎ ΡΡΠ΅ΠΊΠ°Π΅Ρ ΠΏΠΎΠ»Π΅ ΠΌΠ°Π½ΡΠΈΡΡΡ Ρ 23 Π±ΠΈΡ Π΄ΠΎ Π²ΡΠ΅Π³ΠΎ 7 Π±ΠΈΡ. Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π±ΠΈΡΠΎΠ² ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΡΠΌΠ°Ρ Π² ΡΠΎΠΌ ΠΆΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΡΡΠΎ ΠΈ 32-Π±ΠΈΡΠ½ΡΠΉ FP Ρ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ (~ 1e -38 Π΄ΠΎ ~3e 38 ). ΠΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΏΠΎΡΠ΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠΈΡΠ»Π° Π²ΡΠ΅ Π΅ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ. Microsoft ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π΄Π»Ρ 8-Π±ΠΈΡΠ½ΡΡ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° float16.
- float32 : (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ~1e -38 Π΄ΠΎ ~3e 38 )
- 900 51
- float16 : (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ~5,96e -8 Π΄ΠΎ 65 504)
- bfloat16 : (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ~1e -38 Π΄ΠΎ ~3e 38 )
ΠΠΎΡΠΈΠ²Π°ΡΠΈΡ[ΠΏΡΠ°Π²ΠΈΡΡ]
ΠΠΎΡΠΈΠ²Π°ΡΠΈΡ ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°Π½ΡΠΈΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΠΈΠ· ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² Google, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡ ΠΌΠ°Π½ΡΠΈΡΡΡ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΊΡΠΎΡΠ΅ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±Π»ΠΈΠΆΠ΅ ΠΊ Π½ΡΠ»Ρ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ
ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. ΠΠ΅Π½ΡΡΠ°Ρ ΠΌΠ°Π½ΡΠΈΡΡΠ° Π΄Π°Π΅Ρ ΡΡΠ΄ Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΊΡΠ΅ΠΌΠ½ΠΈΡ.
- float32: 24 2 =576 (100%)
- float16: 11 2 =121 (21%)
- bfloat16: 8 2 =64 (11%)
ΠΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±ΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½ΡΡΡ (ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ), ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π² Π΄Π²Π° ΠΈ Π΄Π΅ΡΡΡΡ ΡΠ°Π·. . Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π²ΡΠΈΠ³ΡΡΡ ΡΡΠΎΠΈΠ» ΡΠΎΠ³ΠΎ Π΄Π»Ρ Google ΠΈ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ TPU. ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ Π΅ΠΌΠΊΠΎΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ.
ΠΡΡΡ ΡΡΠ΄ Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈ bfloat16, ΠΈ float32 ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΡΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ
ΠΎΡΠΈΠ±ΠΎΠΊ Π΄Π»Ρ bfloat16 ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ float32. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ bfloat16 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΡ ΠΆΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ Ρ
ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ bfloat16 Π±Π΅Π· ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ΅ΡΡ. ΠΠ»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΡ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ 16-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠΈΡΠ»Π΅ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ ΠΏΠΎΡΠ΅ΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° 2 10 , Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΡ ΠΆΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΡΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΡΡΡΠ°Π½Π΅Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ bfloat16, Π³Π΄Π΅ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ΅ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.
ΠΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°[ΠΏΡΠ°Π²ΠΈΡΡ]
Π¦Π[ΠΏΡΠ°Π²ΠΈΡΡ]
- Intel Cooper Lake, Ice Lake (ΡΠ΅ΡΠ²Π΅Ρ)
- IBM POWER10
- Arm Neoverse V1, Neoverse N2
NPU[ΠΏΡΠ°Π²ΠΈΡΡ]
- Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅: Π½Π΅ΠΉΡΠΎΠ½Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ
- Arm Project Trillium
- Centaur Technology CHA (NCORE)
- Flex Logix InferX
- ΠΡΠ³Π» Π’ΠΠ£
- ΠΠ°Π²Π°Π½Π° HL
- ΠΠ½ΡΠ΅Π» ΠΠΠ
- Wave Computing DPU
- ΠΠΈΡΠ°Π½ΠΈΠ΅: Power ISA v3.1
- x86-64: AVX512_BF16 (ΡΠ°ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ DL Boost )
- AArch64: ARMv8.6-BF16
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅[ΠΏΡΠ°Π²ΠΈΡΡ]
- MSFP8-11
- Flexpoint
ΠΠΈΠ±Π»ΠΈΠΎΠ³ΡΠ°ΡΠΈΡ[ΠΏΡΠ°Π²ΠΈΡΡ]
- ΠΠ»ΠΈΡΡ Π―Π½Π³, Google AI.
(ΠΎΠΊΡΡΠ±ΡΡ 2018 Π³.). Β« ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Google TPU: Π²ΡΠ²ΠΎΠ΄Ρ, ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ Β». ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π΄ΠΎΠΊΠ»Π°Π΄, Processor Conference 2018.
- ΠΡΡΠΈ ΠΠ»ΠΎΡΡ, Π²ΠΈΡΠ΅-ΠΏΡΠ΅Π·ΠΈΠ΄Π΅Π½Ρ Intel ΠΏΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ°. (Π°ΠΏΡΠ΅Π»Ρ 2019 Π³.). Β«ΠΠ»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ; Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΡΠ΅ΠΌΠ½ΠΈΡ Π΄Π»Ρ ΠΠΒ». Processor Conference 2019.
Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ bfloat16 | Cloud TPU
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ Π΄Π»Ρ
ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΡΡ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΡΠΎΡΠ½ΠΎΡΡΠΈ. TPU ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ bfloat16
ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΡΠ½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ
Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ
bfloat16
, Π° Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° IEEE ΠΏΠΎΠΏΠ»Π°Π²ΠΎΠΊ32
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
bfloat16
β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ 16-Π±ΠΈΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ,
ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±ΠΈΡΠ° Π·Π½Π°ΠΊΠ°, Π²ΠΎΡΡΠΌΠΈ Π±ΠΈΡΠΎΠ² ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΡΠ΅ΠΌΠΈ Π±ΠΈΡΠΎΠ² ΠΌΠ°Π½ΡΠΈΡΡΡ. ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΡΠ΅Ρ
ΡΠΎΡΠΌΠ°ΡΠΎΠ² Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ:
float32
: ΠΎΠ΄ΠΈΠ½Π°ΡΠ½Π°Ρ ΡΠΎΡΠ½ΠΎΡΡΡ IEEE, float16
: ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π½Π°Ρ ΡΠΎΡΠ½ΠΎΡΡΡ IEEE ΠΈ bfloat16
.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² bfloat16
ΠΈ float32
ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½. ΠΠ΄Π½Π°ΠΊΠΎ Π±ΠΏΠΎΠΏΠ»Π°Π²ΠΎΠΊ16
Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ bfloat16
ΡΠΌ.
ΡΠΌ. ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ BFLOAT16 Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ.
ΠΡΠ±ΠΎΡ bfloat16
ΠΡΡΠΏΠΏΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Google Π²ΡΠ±ΡΠ°Π»Π° bfloat16
Π΄Π»Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΡ
TPU Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ
ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΡΠΈ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΡΠ°ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ,
Π²ΡΠ΅ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π°ΡΡΠ°ΡΠ°ΠΌΠΈ Π½Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Ρ float32 Π½Π°
. Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ
ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠΌ ΡΠΈΡΠΈΠ½Ρ ΠΌΠ°Π½ΡΠΈΡΡΡ. Π‘ ΠΌΠ΅Π½ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΌΠ°Π½ΡΠΈΡΡΡ
Π±ΠΈΡ, ΡΠ΅ΠΌ
FP16
, ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»ΠΈ bfloat16
ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π²Π΄Π²ΠΎΠ΅ ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΡΠ΅ΠΌΠ½ΠΈΠ΅Π²ΡΡ
ΡΠΈΠΏΠΈΡΠ½ΡΠΉ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ FP16
, ΠΈ ΠΎΠ½ΠΈ Π² Π²ΠΎΡΠ΅ΠΌΡ ΡΠ°Π· ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ float32
.
ΠΠ΅ΠΉΡΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Ρ ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠ΅ΠΌ ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡ
ΠΌΠ°Π½ΡΠΈΡΡΠ°. Π§ΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠΎΡΠ΅ΡΠ΅ Π·Π½Π°ΡΠΈΠΌΠΎΡΡΠΈ, ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈ NaN, bfloat16
ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡ ΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ, ΡΡΠΎ ΠΈ float32
. bfloat16
ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈ
ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ float32
, ΠΎΠ½ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΈΡ
Π² Π½ΠΎΠ»Ρ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ float16
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ
ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ΅ΡΡ, bfloat16
ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ
Π΄Π»Ρ float32
ΠΏΡΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π³Π»ΡΠ±ΠΎΠΊΠΈΡ
Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ
ΡΠ΅ΡΠ΅ΠΉ.
ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΌΠ΅ΡΠ°Π½Π½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π² Π³Π»ΡΠ±ΠΎΠΊΠΎΠΉ Π½Π΅ΠΉΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π°Π΄Π°ΡΠ° Ρ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΎΡΠ½ΠΎΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π΄Π°ΠΆΠ΅ Π΄ΠΎΡΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ Ρ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΎΡΠ½ΠΎΡΡΠΈ.
ΠΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΡ
TPU ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ XLA Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ float32
ΠΈ bfloat16
.
ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΉ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΡ
ΡΠ°Π½Π΅Π½Ρ Π² 32-Π±ΠΈΡΠ½ΠΎΠΌ
ΡΠΎΡΠΌΠ°Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ TPU ΠΌΠΎΠΆΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² bfloat16
.
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΎΠ±ΡΡΠ΅Π½Π½ΠΎΠΉ Π½Π° ΠΎΠ±Π»Π°ΡΠ½ΡΡ
TPU, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ
Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ²ΠΎΠ΄ ΠΈΠ»ΠΈ ΡΠΎΠ½ΠΊΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π¦Π ΠΈΠ»ΠΈ ΠΠ)
Π±Π΅Π· ΠΎΠ±ΡΠΈΡΠ½ΡΡ
ΡΡΡΠ½ΡΡ
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ.
ΠΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ bfloat16
Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° Π² TPU ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π½Π΅ Π΄ΡΠΌΠ°ΡΡ ΠΎ
ΡΠΈΡΠ»ΠΎΠ²Π°Ρ ΡΠΎΡΠ½ΠΎΡΡΡ, Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΡ ΠΏΡΡΠ΅ΠΌ
ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊ bfloat16
. ΠΡΡΡ Π΄Π²Π΅ ΠΏΡΠΈΡΠΈΠ½Ρ Π΄Π»Ρ ΡΠ²Π½ΠΎΠ³ΠΎ
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² bfloat16
:
Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΡ ΠΏΠ°ΡΡΠΈΠΉ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΊ ΠΏΠΎΠ»ΠΎΡΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ. ΠΠ°ΡΡΠ°ΡΡ Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡ ΠΎΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠ΅Ρ. Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²
bfloat16
Π€ΠΎΡΠΌΠ°Ρ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ, ΡΠ»ΡΡΡΠ°Ρ ΠΎΠ±ΡΠ΅Π΅ ΡΠΊΠΎΡΠΎΡΡΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· bfloat16
β ΡΡΠ°Π»ΠΎΠ½Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ
ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΡ
TPU.
Leave A Comment