Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π·ΠΈΠ½ΡƒΠŸΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ
Найти Π² Π”Π·Π΅Π½Π΅
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста

🐳 Π”Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π° DeepSeek R1-Zero Π½Π° домашнСй ΠΏΠ΅ΠΊΠ°Ρ€Π½Π΅: ΠΌΠ΅Ρ‚ΠΎΠ΄ GRPO Π² Unsloth

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ LLM Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мощностСй для обучСния ΠΈ Ρ„Π°ΠΉΠ½-Ρ‚ΡŽΠ½ΠΈΠ½Π³Π°. Однако Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Unsloth нашли способ ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ с логичСским рассуТдСниСм (ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ DeepSeek R1-Zero) Π΄Π°ΠΆΠ΅ Π½Π° ΠΌΠ°Π»ΠΎΠΌΠΎΡ‰Π½Ρ‹Ρ… Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π°Ρ… с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ΠšΠ»ΡŽΡ‡Π΅Π²Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Unsloth – ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° GRPO, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт модСлям Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ логичСскоС ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅ Π±Π΅Π· Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ использовалась публикация Β«Train your own R1 reasoning model with UnslothΒ». Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ DeepSeek ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ модСль R1-Zero Π²ΠΎ врСмя обучСния с ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ достигла Β«ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° озарСния»: ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΏΠ΅Ρ€Π΅ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ свои ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹, Π½Π΅ получая ΠΏΡ€ΠΈ этом прямых ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΉ ΠΎΡ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. Π­Ρ‚ΠΎΡ‚ эффСкт Π²ΠΎΠ·Π½ΠΈΠΊ благодаря Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Group Relative Policy Optimization (GRPO), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΌΠΎΠ΄Π΅Π»ΠΈ эффСктивно ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π±Π΅Π· использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ цСнности (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Proximal Policy Optimization, PPO). GRPO Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: GRPO
ОглавлСниС

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ LLM Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мощностСй для обучСния ΠΈ Ρ„Π°ΠΉΠ½-Ρ‚ΡŽΠ½ΠΈΠ½Π³Π°. Однако Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Unsloth нашли способ ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ с логичСским рассуТдСниСм (ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ DeepSeek R1-Zero) Π΄Π°ΠΆΠ΅ Π½Π° ΠΌΠ°Π»ΠΎΠΌΠΎΡ‰Π½Ρ‹Ρ… Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π°Ρ… с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ΠšΠ»ΡŽΡ‡Π΅Π²Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Unsloth – ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° GRPO, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт модСлям Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ логичСскоС ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅ Π±Π΅Π· Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°.

ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ использовалась публикация Β«Train your own R1 reasoning model with UnslothΒ».

Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ DeepSeek ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ модСль R1-Zero Π²ΠΎ врСмя обучСния с ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ достигла Β«ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° озарСния»: ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΏΠ΅Ρ€Π΅ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ свои ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹, Π½Π΅ получая ΠΏΡ€ΠΈ этом прямых ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΉ ΠΎΡ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. Π­Ρ‚ΠΎΡ‚ эффСкт Π²ΠΎΠ·Π½ΠΈΠΊ благодаря Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Group Relative Policy Optimization (GRPO), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΌΠΎΠ΄Π΅Π»ΠΈ эффСктивно ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π±Π΅Π· использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ цСнности (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Proximal Policy Optimization, PPO).

GRPO Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • МодСль создаСт нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ².
  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ оцСниваСтся ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ критСриям.
  • ВычисляСтся срСдний Π±Π°Π»Π» для Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ².
  • ΠžΡ‚Π²Π΅Ρ‚Ρ‹ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ со срСдним Π±Π°Π»Π»ΠΎΠΌ.
  • МодСль учится ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ качСствСнныС ΠΎΡ‚Π²Π΅Ρ‚Ρ‹.

GRPO ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ модСль Π½Π΅ просто Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹, Π½ΠΎ автоматичСски ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ логичСский Ρ…ΠΎΠ΄ рассуТдСний, Π΄Π°ΠΆΠ΅ Ссли исходныС ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ содСрТат Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вопрос ΠΈ ΠΎΡ‚Π²Π΅Ρ‚, Π½ΠΎ Π½Π΅ сам процСсс Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: прСдставим, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ модСль Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ простыС Π·Π°Π΄Π°Ρ‡ΠΊΠΈ:

  • «Бколько Π±ΡƒΠ΄Π΅Ρ‚ 1 + 1?Β» β†’ [Π₯ΠΎΠ΄ рассуТдСний] β†’ Β«ΠžΡ‚Π²Π΅Ρ‚: 2Β»
  • «Бколько Π±ΡƒΠ΄Π΅Ρ‚ 2 + 2?Β» β†’ [Π₯ΠΎΠ΄ рассуТдСний] β†’ Β«ΠžΡ‚Π²Π΅Ρ‚: 4Β»
   Π Π°Π·Π½ΠΈΡ†Π° Π² коррСктности рассуТдСний Phi-4 с GRPO ΠΈ Π±Π΅Π·
Π Π°Π·Π½ΠΈΡ†Π° Π² коррСктности рассуТдСний Phi-4 с GRPO ΠΈ Π±Π΅Π·

РаньшС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ модСль Π½Π°ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ…ΠΎΠ΄ своих рассуТдСний, Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ:

  • Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π³Π΄Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расписан ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.
  • ΠžΠ±ΡƒΡ‡ΠΈΡ‚ΡŒ модСль Π½Π° этих ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ с GRPO Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ – Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ с расписанным Ρ…ΠΎΠ΄ΠΎΠΌ рассуТдСний, вмСсто этого ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π°Π³Ρ€Π°Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  • Π—Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚: +1 Π±Π°Π»Π»
  • Π—Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ: -0.1 Π±Π°Π»Π»Π°

И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ модСль сама учится Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ логичСскиС Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ рассуТдСний, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π°:

  • ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ большС Β«Π½Π°Π³Ρ€Π°Π΄Β» Π·Π° качСствСнныС ΠΎΡ‚Π²Π΅Ρ‚Ρ‹.
  • ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎ учится ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ…ΠΎΠ΄ своих мыслСй.
  • Π”Π΅Π»Π°Π΅Ρ‚ это Π±Π΅Π· Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ процСсс рассуТдСния.

Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΡ‡ΠΈΠΌ Ρ€Π΅Π±Π΅Π½ΠΊΠ° Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π΅ просто давая Π΅ΠΌΡƒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π° поощряя Π΅Π³ΠΎ Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ рассуТдСния.

Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

πŸ‹ DeepSeek-R1: ΠΊΠ°ΠΊ ΠΎΠ±ΡƒΡ‡Π°Π»ΠΈ модСль, Π²ΡΡ‚Ρ€ΡΡ…Π½ΡƒΠ²ΡˆΡƒΡŽ AI-ΠΈΠ½Π΄ΡƒΡΡ‚Ρ€ΠΈΡŽ

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ рСализация GRPO

ΠœΠ΅Ρ‚ΠΎΠ΄ GRPO ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² Π·Π°Π΄Π°Ρ‡Π°Ρ…, Π³Π΄Π΅ модСль Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π΅ просто Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚, Π° ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ свои рассуТдСния. НапримСр:

  • Π’ ΠΏΡ€Π°Π²Π΅, ΠΌΠ΅Π΄ΠΈΡ†ΠΈΠ½Π΅ ΠΈ Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… областях, Π³Π΄Π΅ трСбуСтся обоснованиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.
  • Когда Ρƒ нас Π΅ΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹), Π½ΠΎ Π½Π΅Ρ‚ записанного Ρ…ΠΎΠ΄Π° Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠΉ.

ЕдинствСнный нСдостаток GRPO Π΄ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΈΡ… ΠΏΠΎΡ€ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для использования этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° трСбовался Π²Π½ΡƒΡˆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ объСм видСопамяти.

Как Unsloth ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ» GRPO

РаньшС для достиТСния Β«ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° озарСния» Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Qwen2.5 (1.5B) Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ Π΄Π²Π΅ A100 (160 Π“Π± VRAM), Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Unsloth ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»Π° процСсс GRPO, сдСлав Π΅Π³ΠΎ:

  • Π’ 5 Ρ€Π°Π· ΠΌΠ΅Π½Π΅Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊ видСопамяти (сСйчас экономия составляСт 80% VRAM ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с HuggingFace + FA2).
  • Доступным для локального обучСния Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π°Ρ… ΠΎΡ‚ 7 Π“Π± VRAM.
  • БовмСстимым с QLoRA ΠΈ LoRA, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠ»Π½Ρ‹ΠΌ Π΄ΠΎΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Unsloth Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ OnlineDPO, PPO ΠΈ RLOO.

   ΠŸΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² памяти ΠΏΡ€ΠΈ использовании Unsloth ΠΈ Π±Π΅Π·
ΠŸΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² памяти ΠΏΡ€ΠΈ использовании Unsloth ΠΈ Π±Π΅Π·

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GRPO с Unsloth

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСн ΠΏΠ°ΠΊΠ΅Ρ‚ diffusers – ΠΎΠ½ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ GRPO с Unsloth:

ΠΡŽΠ½ΡΡ‹ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ обучСния:

  • Π–Π΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 300 шагов, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Π³Ρ€Π°Π΄Π° Π½Π°Ρ‡Π½Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ vLLM.
  • Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π° Colab модСль ΠΎΠ±ΡƒΡ‡Π°Π»Π°ΡΡŒ всСго 1 час, поэтому Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠΌΠΈ.
  • Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, рСкомСндуСтся ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 12 часов. Однако это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ – ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚.

КакиС ΠΌΠΎΠ΄Π΅Π»ΠΈ подходят для GRPO:

  • РСкомСндуСтся ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ GRPO ΠΊ модСлям ΠΎΡ‚ 1.5B ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Π²Ρ‹ΡˆΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ мСньшиС ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ.
  • Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π±Π°Π·ΠΎΠ²ΡƒΡŽ модСль, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ шаблон Π΄ΠΈΠ°Π»ΠΎΠ³Π°.

Π’ Unsloth Π΅ΡΡ‚ΡŒ встроСнный Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€ ΠΏΠΎΡ‚Π΅Ρ€ΡŒ для GRPO, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ внСшниС инструмСнты Π²Ρ€ΠΎΠ΄Π΅ wandb Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹.

   Π’Ρ€Π΅ΠΊΠ΅Ρ€ ΠΏΠΎΡ‚Π΅Ρ€ΡŒ Π² Unsloth
Π’Ρ€Π΅ΠΊΠ΅Ρ€ ΠΏΠΎΡ‚Π΅Ρ€ΡŒ Π² Unsloth

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с vLLM

Unsloth ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ использованиС vLLM прямо Π² процСссС дообучСния ΠΌΠΎΠ΄Π΅Π»ΠΈ – ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ модСль ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ тСкста. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ впСчатляСт – Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π΅ A100 (40 Π“Π±) Π²Ρ‹Π²ΠΎΠ΄ достигаСт 4000 Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² Π² сСкунду, Π° Π½Π° Π±ΠΎΠ»Π΅Π΅ слабой Tesla T4 (доступна бСсплатно Π² Google Colab) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ 300 Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² Π² сСкунду.

РаньшС совмСстноС использованиС vLLM ΠΈ Unsloth Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΎ Π΄Π²ΠΎΠΉΠ½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ памяти. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π΅ΡˆΠΈΠ»ΠΈ, ΠΈ это Π΄Π°Π΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ экономию:

  • Для ΠΌΠΎΠ΄Π΅Π»ΠΈ Llama 3.1 8B экономится ΠΎΠΊΠΎΠ»ΠΎ 5 Π“Π± видСопамяти, Π° для Llama 3.2 3B – ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 3 Π“Π± VRAM.
  • Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ модСль Llama 3.3 70B Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ 40 Π“Π± видСопамяти для вСсов. Π‘Π΅Π· ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с vLLM ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ Π±Ρ‹ большС 80 Π“Π±, Π° послС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π΅ с 48 Π“Π± памяти.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Unsloth с vLLM:

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • vLLM Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ динамичСскоС 4-Π±ΠΈΡ‚Π½ΠΎΠ΅ ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Unsloth. Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° 1.58-Π±ΠΈΡ‚Π½ΠΎΠ΅ динамичСскоС ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Π°Π½ΠΈΠ΅ (Dynamic R1 GGUF), Π³Π΄Π΅ ΠΎΠ΄Π½ΠΈ слои ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ 4-Π±ΠΈΡ‚Π½ΠΎΠ΅ прСдставлСниС, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ – 16-Π±ΠΈΡ‚Π½ΠΎΠ΅. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, сохраняя ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ автоматичСский ΠΏΠΎΠ΄Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для эффСктивного использования RAM, VRAM ΠΈ максимальной ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, количСства ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ², максимального числа ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΈ Ρ‚. Π΄.)
  • LoRA-Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² vLLM Π±Π΅Π· записи Π½Π° диск, Ρ‡Ρ‚ΠΎ ускоряСт ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ GRPO Π² 1,5 Ρ€Π°Π·Π°.
  • По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² vLLM Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ оптимизация -O3 (ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния) ΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ прСфиксов для быстрого инфСрСнса. Flashinfer Π½Π° старых GPU оказался Π½Π° 10% ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ стандартный vLLM. FP8 KV-кэш замСдляСт Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π° 10%, Π½ΠΎ ΠΏΡ€ΠΈ этом Π²Π΄Π²ΠΎΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ.

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

GRPO – это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ модСлям ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ свои ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ рассуТдСния, Π° Unsloth Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ доступным для ΠΌΠ°Π»ΠΎΠΌΠΎΡ‰Π½Ρ‹Ρ… GPU. БСсплатный Π±Π»ΠΎΠΊΠ½ΠΎΡ‚ для GRPO с Llama 3.1 (8B) Π΅ΡΡ‚ΡŒ Π² Colab, ссылки Π½Π° Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Ρ‹ для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Phi-4) ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

***

πŸ”¬ Π“Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² ML: ΠΎΡ‚ основ Π΄ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ

ΠŸΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ΡΡŒ Π² ΠΌΠΈΡ€ машинного обучСния с практичСским курсом ΠΎΡ‚ спСциалиста Stripe: ΠΎΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π΄ΠΎ нСйросСтСй, с Π°ΠΊΡ†Π΅Π½Ρ‚ΠΎΠΌ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ бизнСс-Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ постоянной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ экспСртов.

ΠšΡƒΡ€Ρ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ направлСния машинного обучСния:

  • АнсамблСвыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ
  • БистСмы Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ
  • ΠžΡΠ½ΠΎΠ²Ρ‹ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ нСйросСтСй

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

  • Π‘ΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΠ΅ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ
  • ДоступноС объяснСниС слоТных ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ
  • Π Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ бизнСс-кСйсы
  • ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Ρ‹ΠΉ доступ ΠΊ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ

(function () { let link = document .getElementById ("36f51528-79bf-4675-9a68-3996077ab3ff-https://clc.to/gZ0b5w-52"); if (! link) return; let href = link .getAttribute ("href"); if (! href) return; let prefix = link .dataset .prefix; let action = link .dataset .action; link .addEventListener ("click", function (e) { let data = new FormData (); data .append ("url", href); apiFetch (action, { method: "POST", body: data }) .then (function (res) {}) .catch (function (err) { console .error (err); }); }) })();