рд╣рдорд╕реЗ рдЬреБрдбреЗ

рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд░реАрдпрддрд╛ рдЕрдиреБрдХреВрд▓рди: рдПрдХ рд╕рдВрдкреВрд░реНрдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛

Artificial Intelligence

рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд░реАрдпрддрд╛ рдЕрдиреБрдХреВрд▓рди: рдПрдХ рд╕рдВрдкреВрд░реНрдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛

mm
рдПрд▓рдПрд▓рдПрдо рдбреАрдкреАрдУ рдЧрдгрд┐рдд рдФрд░ рдХреЛрдб

рдмрдбрд╝реЗ рднрд╛рд╖рд╛ рдореЙрдбрд▓ (рдПрд▓рдПрд▓рдПрдо) рдХреЛ рдорд╛рдирд╡реАрдп рдореВрд▓реНрдпреЛрдВ рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рдЪреБрдиреМрддреАрдкреВрд░реНрдг рд╣реИред рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХреЗ, рдЬреИрд╕реЗ рдорд╛рдирд╡ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╕реБрджреГрдвреАрдХрд░рдг рд╕реАрдЦрдирд╛ (рдЖрд░рдПрд▓рдПрдЪрдПрдл) рдиреЗ рдореЙрдбрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирд╡ рдЗрдирдкреБрдЯ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдХреЗ рд░рд╛рд╕реНрддрд╛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрд░рдПрд▓рдПрдЪрдПрдл рдЬрдЯрд┐рд▓ рдФрд░ рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд╢рдХреНрддрд┐ рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд░реАрдпрддрд╛ рдЕрдиреБрдХреВрд▓рди (DPO) рдПрдХ рдирд╡реАрди рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрднрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрди рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреБрд╢рд▓ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЕрдиреБрдХреВрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдХрд░, DPO рди рдХреЗрд╡рд▓ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдмреЛрдЭ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдореЙрдбрд▓ рдХреА рдорд╛рдирд╡реАрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЬрд▓реНрджреА рд╕реЗ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рднреА рдмрдврд╝рд╛рддрд╛ рд╣реИ

рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ рд╣рдо DPO рдХреА рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рд▓реЗрдВрдЧреЗ, рддрдерд╛ рдЗрд╕рдХреА рдиреАрдВрд╡, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред

рд╡рд░реАрдпрддрд╛ рд╕рдВрд░реЗрдЦрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛

рдбреАрдкреАрдУ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдПрд▓рдПрд▓рдПрдо рдХреЛ рдорд╛рдирд╡реАрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдирд╛ рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрдпреЛрдВ рд╣реИред рдЕрдкрдиреА рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╡рд┐рд╢рд╛рд▓ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдПрд▓рдПрд▓рдПрдо рдХрднреА-рдХрднреА рдРрд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрд╕рдВрдЧрдд, рдкрдХреНрд╖рдкрд╛рддреА рдпрд╛ рдорд╛рдирд╡реАрдп рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрд░реЗрдЦрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдЧрд▓рдд рд╕рдВрд░реЗрдЦрдг рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдкреНрд░рдХрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

  • рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдпрд╛ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рд╕рд╛рдордЧреНрд░реА рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛
  • рдЧрд▓рдд рдпрд╛ рднреНрд░рд╛рдордХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдирд╛
  • рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдореЗрдВ рдореМрдЬреВрдж рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛

рдЗрди рдореБрджреНрджреЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдорд╛рдирд╡ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрд▓рдПрд▓рдПрдо рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреА рддрдХрдиреАрдХ рд╡рд┐рдХрд╕рд┐рдд рдХреА рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдкреНрд░рдореБрдЦ рддрд░реАрдХрд╛ рдЖрд░рдПрд▓рдПрдЪрдПрдл рд╣реИред

рдЖрд░рдПрд▓рдПрдЪрдПрдл рдХреЛ рд╕рдордЭрдирд╛: рдбреАрдкреАрдУ рдХрд╛ рдЕрдЧреНрд░рджреВрдд

рдорд╛рдирд╡ рдлреАрдбрдмреИрдХ рд╕реЗ рд╕реБрджреГрдвреАрдХрд░рдг рд╕реАрдЦрдирд╛ (RLHF) LLM рдХреЛ рдорд╛рдирд╡реАрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд╛рдирд╛-рдорд╛рдирд╛ рддрд░реАрдХрд╛ рд░рд╣рд╛ рд╣реИред рдЖрдЗрдП RLHF рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЗрд╕рдХреА рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рддреЛрдбрд╝рддреЗ рд╣реИрдВ:

a) рдкрд░реНрдпрд╡реЗрдХреНрд╖рд┐рдд рдлрд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ (рдПрд╕рдПрдлрдЯреА): рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдкреВрд░реНрд╡-рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдПрд▓рдПрд▓рдПрдо рдХреЛ рдареАрдХ рдХрд░рдХреЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдпрд╣ рдЪрд░рдг рдореЙрдбрд▓ рдХреЛ рд▓рдХреНрд╖реНрдп рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдФрд░ рд╕реБрд╕рдВрдЧрдд рдЖрдЙрдЯрдкреБрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

b) рдкреБрд░рд╕реНрдХрд╛рд░ рдореЙрдбрд▓рд┐рдВрдЧ: рдорд╛рдирд╡ рд╡рд░реАрдпрддрд╛рдУрдВ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЗрдирд╛рдо рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • рджрд┐рдП рдЧрдП рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЬреЛрдбрд╝реЗ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛
  • рдордиреБрд╖реНрдпреЛрдВ рд╕реЗ рдпрд╣ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рд╡рд╛рдирд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреМрди рд╕реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд╕рдВрдж рд╣реИ
  • рдЗрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХрд╛ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдХрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг

c) рд╕реБрджреГрдвреАрдХрд░рдг рд╕реАрдЦрдирд╛: рдлрд┐рд░ рд╕реБрджреГрдврд╝реАрдХрд░рдг рд╕реАрдЦрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдареАрдХ-рдард╛рдХ рдПрд▓рдПрд▓рдПрдо рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреБрд░рд╕реНрдХрд╛рд░ рдореЙрдбрд▓ рдлреАрдбрдмреИрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдПрд▓рдПрд▓рдПрдо рдХреЛ рдорд╛рдирд╡реАрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИред

рдЖрд░рдПрд▓рдПрдЪрдПрдл рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдкрд╛рдпрдерди рд╕реНрдпреВрдбреЛрдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдЖрд░рдПрд▓рдПрдЪрдПрдл рдкреНрд░рднрд╛рд╡реА рд╣реЛрддреЗ рд╣реБрдП рднреА рдЗрд╕рдореЗрдВ рдХрдИ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ:

  • рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдИ рдореЙрдбрд▓реЛрдВ (рдПрд╕рдПрдлрдЯреА, рд░рд┐рд╡реЙрд░реНрдб рдореЙрдбрд▓ рдФрд░ рдЖрд░рдПрд▓-рдЕрдиреБрдХреВрд▓рд┐рдд рдореЙрдбрд▓) рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
  • рдЖрд░рдПрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрд╕реНрдерд┐рд░ рдФрд░ рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ
  • рдпрд╣ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд░реВрдк рд╕реЗ рдорд╣рдВрдЧрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдИ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдХреА рдУрд░ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ

рдЗрди рд╕реАрдорд╛рдУрдВ рдиреЗ рд╕рд░рд▓, рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЦреЛрдЬ рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдбреАрдкреАрдУ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рд╣реБрдЖред

рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд░реАрдпрддрд╛ рдЕрдиреБрдХреВрд▓рди: рдореБрдЦреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ

рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд░реАрдпрддрд╛ рдЕрдиреБрдХреВрд▓рди https://arxiv.org/abs/2305.18290

рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд░реАрдпрддрд╛ рдЕрдиреБрдХреВрд▓рди https://arxiv.org/abs/2305.18290

рдпрд╣ рдЫрд╡рд┐ LLM рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдорд╛рдирд╡реАрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреА рд╣реИ: рдорд╛рдирд╡ рдлрд╝реАрдбрдмреИрдХ рд╕реЗ рд╕реБрджреГрдвреАрдХрд░рдг рд╕реАрдЦрдирд╛ (RLHF) рдФрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд░реАрдпрддрд╛ рдЕрдиреБрдХреВрд▓рди (DPO)ред RLHF рдкреБрдирд░рд╛рд╡реГрддреНрдд рдлрд╝реАрдбрдмреИрдХ рд▓реВрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднрд╛рд╖рд╛ рдореЙрдбрд▓ рдХреА рдиреАрддрд┐ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд░рд╕реНрдХрд╛рд░ рдореЙрдбрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ DPO рд╡рд░реАрдпрддрд╛ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рдирд╡-рдкрд╕рдВрджреАрджрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕реАрдзреЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рддреБрд▓рдирд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдХреА рддрд╛рдХрдд рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓рддреА рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдХреЗ LLM рдХреЛ рдорд╛рдирд╡реАрдп рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдбреАрдкреАрдУ рдХреЗ рдкреАрдЫреЗ рдкреНрд░рдореБрдЦ рд╡рд┐рдЪрд╛рд░:

a) рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреБрд░рд╕реНрдХрд╛рд░ рдореЙрдбрд▓рд┐рдВрдЧрдбреАрдкреАрдУ рднрд╛рд╖рд╛ рдореЙрдбрд▓ рдХреЛ рд╣реА рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреБрд░рд╕реНрдХрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдХрд░ рдПрдХ рдЕрд▓рдЧ рдкреБрд░рд╕реНрдХрд╛рд░ рдореЙрдбрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддрд╛ рд╣реИред

b) рдиреАрддрд┐-рдЖрдзрд╛рд░рд┐рдд рдирд┐рд░реВрдкрдгрдкреБрд░рд╕реНрдХрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдбреАрдкреАрдУ рдкрд╕рдВрджреАрджрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдиреАрддрд┐ (рднрд╛рд╖рд╛ рдореЙрдбрд▓) рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред

c) рдмрдВрдж-рдлрд╝реЙрд░реНрдо рд╕рдорд╛рдзрд╛рдирдбреАрдкреАрдУ рдПрдХ рдЧрдгрд┐рддреАрдп рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИ рдЬреЛ рдЗрд╖реНрдЯрддрдо рдиреАрддрд┐ рдХреЗ рд▓рд┐рдП рдмрдВрдж-рд░реВрдк рд╕рдорд╛рдзрд╛рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдЖрд░рдПрд▓ рдЕрдкрдбреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдбреАрдкреАрдУ рдХрд╛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди: рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХреЛрдб рд╡реЙрдХрдереНрд░реВ

рдиреАрдЪреЗ рджреА рдЧрдИ рдЫрд╡рд┐ PyTorch рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ DPO рд▓реЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рднрд╛рд╖рд╛ рдореЙрдбрд▓ рджреНрд╡рд╛рд░рд╛ рдорд╛рдирд╡реАрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

  • рдлрд╝рдВрдХреНрд╢рди рд╣рд╕реНрддрд╛рдХреНрд╖рд░: dpo_loss рдлрд╝рдВрдХреНрд╢рди рдиреАрддрд┐ рд▓реЙрдЧ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рд╕рд╣рд┐рдд рдХрдИ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ (pi_logps), рд╕рдВрджрд░реНрдн рдореЙрдбрд▓ рд▓реЙрдЧ рд╕рдВрднрд╛рд╡рдирд╛рдПрдБ (ref_logps), рдФрд░ рдкрд╕рдВрджреАрджрд╛ рдФрд░ рдирд╛рдкрд╕рдВрдж рдкреВрд░реНрдгрддрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реВрдЪрдХрд╛рдВрдХ (yw_idxs, yl_idxs) рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдПрдХ beta рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗрдПрд▓ рджрдВрдб рдХреА рддрд╛рдХрдд рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
  • рд▓реЙрдЧ рд╕рдВрднрд╛рд╡реНрдпрддрд╛ рдирд┐рд╖реНрдХрд░реНрд╖рдгрдХреЛрдб рдиреАрддрд┐ рдФрд░ рд╕рдВрджрд░реНрдн рдореЙрдбрд▓ рджреЛрдиреЛрдВ рд╕реЗ рдкрд╕рдВрджреАрджрд╛ рдФрд░ рдирд╛рдкрд╕рдВрдж рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред
  • рд▓реЙрдЧ рдЕрдиреБрдкрд╛рдд рдЧрдгрдирд╛: рдиреАрддрд┐ рдФрд░ рд╕рдВрджрд░реНрдн рдореЙрдбрд▓ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╕рдВрджреАрджрд╛ рдФрд░ рдирд╛рдкрд╕рдВрдж рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЕрдиреБрдХреВрд▓рди рдХреА рджрд┐рд╢рд╛ рдФрд░ рдкрд░рд┐рдорд╛рдг рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдпрд╣ рдЕрдиреБрдкрд╛рдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
  • рд╣рд╛рдирд┐ рдФрд░ рдкреБрд░рд╕реНрдХрд╛рд░ рдХреА рдЧрдгрдирд╛: рд╣рд╛рдирд┐ рдХреА рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИ logsigmoid рдлрд╝рдВрдХреНрд╢рди, рдЬрдмрдХрд┐ рдкреБрд░рд╕реНрдХрд╛рд░ рдиреАрддрд┐ рдФрд░ рд╕рдВрджрд░реНрдн рд▓реЙрдЧ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ beta.
PyTorch рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ DPO рд╣рд╛рдирд┐ рдлрд╝рдВрдХреНрд╢рди

PyTorch рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ DPO рд╣рд╛рдирд┐ рдлрд╝рдВрдХреНрд╢рди

рдЖрдЗрдП рдбреАрдкреАрдУ рдХреЗ рдкреАрдЫреЗ рдХреЗ рдЧрдгрд┐рдд рдкрд░ рдЧреМрд░ рдХрд░реЗрдВ рдФрд░ рд╕рдордЭреЗрдВ рдХрд┐ рдпрд╣ рдЗрди рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

рдбреАрдкреАрдУ рдХрд╛ рдЧрдгрд┐рдд

рдбреАрдкреАрдУ рд╡рд░реАрдпрддрд╛ рд╕реАрдЦрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдЪрддреБрд░ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рд╣реИред рдпрд╣рд╛рдБ рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╡рд┐рд╡рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдХ) рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ: рдХреЗрдПрд▓-рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдкреБрд░рд╕реНрдХрд╛рд░ рдЕрдзрд┐рдХрддрдореАрдХрд░рдг

рдореВрд▓ рдЖрд░рдПрд▓рдПрдЪрдПрдл рдЙрджреНрджреЗрд╢реНрдп рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдЕрдЧрд▓реА рдЫрд╡рд┐ рдореЗрдВ рдЬрдЯрд┐рд▓ рдЧрдгрд┐рддреАрдп рд╕реВрддреНрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд░реАрдпрддрд╛ рдЕрдиреБрдХреВрд▓рди (DPO) рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рд╣рд╛рдирд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЕрддреНрдпрд╛рдзреБрдирд┐рдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрджреНрдзрддрд┐ рд╣реИ рдЬреЛ рдпрд╣ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рддреА рд╣реИ рдХрд┐ LLM рдЕрдкрдиреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдорд╛рдирд╡реАрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдХрд╣рд╛рдБ:
  • ╧А╬╕ рд╡рд╣ рдиреАрддрд┐ (рднрд╛рд╖рд╛ рдореЙрдбрд▓) рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ
  • r(x,y) рдкреБрд░рд╕реНрдХрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рд╣реИ
  • ╧Аref рдПрдХ рд╕рдВрджрд░реНрдн рдиреАрддрд┐ рд╣реИ (рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ SFT рдореЙрдбрд▓)
  • ╬▓ KL рд╡рд┐рдЪрд▓рди рдмрд╛рдзрд╛ рдХреА рддрд╛рдХрдд рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ

b) рдЗрд╖реНрдЯрддрдо рдиреАрддрд┐ рдкреНрд░рдкрддреНрд░: рдпрд╣ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рдиреАрддрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

╧А_r(y|x) = 1/Z(x) * ╧Аref(y|x) * exp(1/╬▓ * r(x,y))

рдЬрд╣рд╛рдБ Z(x) рдПрдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реИред

c) рдкреБрд░рд╕реНрдХрд╛рд░-рдиреАрддрд┐ рджреНрд╡реИрдд: рдбреАрдкреАрдУ рдХреА рдореБрдЦреНрдп рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдкреБрд░рд╕реНрдХрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрд╖реНрдЯрддрдо рдиреАрддрд┐ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рд╣реИ:

r(x,y) = ╬▓ * log(╧А_r(y|x) / ╧Аref(y|x)) + ╬▓ * log(Z(x))

d) рд╡рд░реАрдпрддрд╛ рдореЙрдбрд▓ рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд╡рд░реАрдпрддрд╛рдПрдБ рдмреНрд░реИрдбрд▓реА-рдЯреЗрд░реА рдореЙрдбрд▓ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреА рд╣реИрдВ, рд╣рдо y1 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ y2 рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

p*(y1 тЙ╗ y2 | x) = ╧Г(r*(x,y1) - r*(x,y2))

рдЬрд╣рд╛рдБ ╧Г рд▓реЙрдЬрд┐рд╕реНрдЯрд┐рдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ.

e) рдбреАрдкреАрдУ рдЙрджреНрджреЗрд╢реНрдп рдЕрдкрдиреА рдкреБрд░рд╕реНрдХрд╛рд░-рдиреАрддрд┐ рджреНрд╡реИрддрддрд╛ рдХреЛ рд╡рд░реАрдпрддрд╛ рдореЙрдбрд▓ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реБрдП, рд╣рдо DPO рдЙрджреНрджреЗрд╢реНрдп рдкрд░ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ:

L_DPO(╧А╬╕; ╧Аref) = -E_(x,y_w,y_l)~D [log ╧Г(╬▓ * log(╧А╬╕(y_w|x) / ╧Аref(y_w|x)) - ╬▓ * log(╧А╬╕(y_l|x) / ╧Аref(y_l|x)))]

рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рдорд╛рдирдХ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдбрд┐рд╕реЗрдВрдЯ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрд░.рдПрд▓. рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛, рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдбреАрдкреАрдУ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдЕрдм рдЬрдм рд╣рдо DPO рдХреЗ рдкреАрдЫреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рд╕рдордЭ рдЧрдП рд╣реИрдВ, рддреЛ рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЗрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЕрдЬрдЧрд░ рдФрд░ рдкрд╛рдпрдЯреЙрд░реНрдЪ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

import torch
import torch.nn.functional as F

class DPOTrainer:
    def __init__(self, model, ref_model, beta=0.1, lr=1e-5):
        self.model = model
        self.ref_model = ref_model
        self.beta = beta
        self.optimizer = torch.optim.AdamW(self.model.parameters(), lr=lr)
    
    def compute_loss(self, pi_logps, ref_logps, yw_idxs, yl_idxs):
        """
        pi_logps: policy logprobs, shape (B,)
        ref_logps: reference model logprobs, shape (B,)
        yw_idxs: preferred completion indices in [0, B-1], shape (T,)
        yl_idxs: dispreferred completion indices in [0, B-1], shape (T,)
        beta: temperature controlling strength of KL penalty

        Each pair of (yw_idxs[i], yl_idxs[i]) represents the indices of a single preference pair.
        """

        # Extract log probabilities for the preferred and dispreferred completions
        pi_yw_logps, pi_yl_logps = pi_logps[yw_idxs], pi_logps[yl_idxs]
        ref_yw_logps, ref_yl_logps = ref_logps[yw_idxs], ref_logps[yl_idxs]

        # Calculate log-ratios
        pi_logratios = pi_yw_logps - pi_yl_logps
        ref_logratios = ref_yw_logps - ref_yl_logps

        # Compute DPO loss
        losses = -F.logsigmoid(self.beta * (pi_logratios - ref_logratios))
        rewards = self.beta * (pi_logps - ref_logps).detach()

        return losses.mean(), rewards

    def train_step(self, batch):
        x, yw_idxs, yl_idxs = batch
        self.optimizer.zero_grad()

        # Compute log probabilities for the model and the reference model
        pi_logps = self.model(x).log_softmax(-1)
        ref_logps = self.ref_model(x).log_softmax(-1)

        # Compute the loss
        loss, _ = self.compute_loss(pi_logps, ref_logps, yw_idxs, yl_idxs)
        loss.backward()
        self.optimizer.step()

        return loss.item()

# Usage
model = YourLanguageModel()  # Initialize your model
ref_model = YourLanguageModel()  # Load pre-trained reference model
trainer = DPOTrainer(model, ref_model)

for batch in dataloader:
    loss = trainer.train_step(batch)
    print(f"Loss: {loss}")

рдЪреБрдиреМрддрд┐рдпрд╛рдБ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреА рджрд┐рд╢рд╛рдПрдБ

рдЬрдмрдХрд┐ рдбреАрдкреАрдУ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдЖрд░рдПрд▓рдПрдЪрдПрдл рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдЗрд╕рдореЗрдВ рдЪреБрдиреМрддрд┐рдпрд╛рдВ рд╣реИрдВ рдФрд░ рдЖрдЧреЗ рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗ рд▓рд┐рдП рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ:

рдХ) рдмрдбрд╝реЗ рдореЙрдбрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдкрдиреАрдпрддрд╛:

рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рднрд╛рд╖рд╛ рдореЙрдбрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдмрдврд╝рддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд╕реИрдХрдбрд╝реЛрдВ рдЕрд░рдмреЛрдВ рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╛рд▓реЗ рдореЙрдбрд▓ рдкрд░ DPO рдХреЛ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдПрдХ рдЦреБрд▓реА рдЪреБрдиреМрддреА рдмрдиреА рд╣реБрдИ рд╣реИред рд╢реЛрдзрдХрд░реНрддрд╛ рдирд┐рдореНрди рддрдХрдиреАрдХреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:

  • рдХреБрд╢рд▓ рдлрд╝рд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ рд╡рд┐рдзрд┐рдпрд╛рдБ (рдЬреИрд╕реЗ, LoRA, рдкреНрд░реАрдлрд╝рд┐рдХреНрд╕ рдЯреНрдпреВрдирд┐рдВрдЧ)
  • рд╡рд┐рддрд░рд┐рдд рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЕрдиреБрдХреВрд▓рди
  • рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдЪреЗрдХрдкреЙрдЗрдВрдЯрд┐рдВрдЧ рдФрд░ рдорд┐рд╢реНрд░рд┐рдд рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг

DPO рдХреЗ рд╕рд╛рде LoRA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:

from peft import LoraConfig, get_peft_model

class DPOTrainerWithLoRA(DPOTrainer):
    def __init__(self, model, ref_model, beta=0.1, lr=1e-5, lora_rank=8):
        lora_config = LoraConfig(
            r=lora_rank,
            lora_alpha=32,
            target_modules=["q_proj", "v_proj"],
            lora_dropout=0.05,
            bias="none",
            task_type="CAUSAL_LM"
        )
        self.model = get_peft_model(model, lora_config)
        self.ref_model = ref_model
        self.beta = beta
        self.optimizer = torch.optim.AdamW(self.model.parameters(), lr=lr)

# Usage
base_model = YourLargeLanguageModel()
dpo_trainer = DPOTrainerWithLoRA(base_model, ref_model)

рдЦ) рдмрд╣реБ-рдХрд╛рд░реНрдп рдФрд░ рдХреБрдЫ-рд╢реЙрдЯ рдЕрдиреБрдХреВрд▓рди:

рдбреАрдкреАрдУ рддрдХрдиреАрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЬреЛ рд╕реАрдорд┐рдд рд╡рд░реАрдпрддрд╛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдирдП рдХрд╛рд░реНрдпреЛрдВ рдпрд╛ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдиреБрдХреВрд▓ рд╣реЛ рд╕рдХреЗ, рдЕрдиреБрд╕рдВрдзрд╛рди рдХрд╛ рдПрдХ рд╕рдХреНрд░рд┐рдп рдХреНрд╖реЗрддреНрд░ рд╣реИред рдЦреЛрдЬреЗ рдЬрд╛ рд░рд╣реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • рддреАрд╡реНрд░ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛-рд▓рд░реНрдирд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ
  • рдбреАрдкреАрдУ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдореНрдкреНрдЯ-рдЖрдзрд╛рд░рд┐рдд рдлрд╝рд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ
  • рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реАрдпрддрд╛ рдореЙрдбрд▓ рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЛрдореЗрди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдЕрдзрд┐рдЧрдо

рдЧ) рдЕрд╕реНрдкрд╖реНрдЯ рдпрд╛ рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рд╕реЗ рдирд┐рдкрдЯрдирд╛:

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рд╡рд░реАрдпрддрд╛ рдбреЗрдЯрд╛ рдореЗрдВ рдЕрдХреНрд╕рд░ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛рдПрдВ рдпрд╛ рдЯрдХрд░рд╛рд╡ рд╣реЛрддреЗ рд╣реИрдВред рдРрд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП DPO рдХреА рдордЬрдмреВрддреА рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • рд╕рдВрднрд╛рд╡реНрдпрддрд╛ рд╡рд░реАрдпрддрд╛ рдореЙрдбрд▓рд┐рдВрдЧ
  • рдЕрд╕реНрдкрд╖реНрдЯрддрд╛рдУрдВ рдХреЛ рд╕реБрд▓рдЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд╢рд┐рдХреНрд╖рдг
  • рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рд╡рд░реАрдпрддрд╛ рдПрдХрддреНрд░реАрдХрд░рдг

рд╕рдВрднрд╛рд╡реНрдпрддрд╛ рд╡рд░реАрдпрддрд╛ рдореЙрдбрд▓рд┐рдВрдЧ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:

class ProbabilisticDPOTrainer(DPOTrainer):
    def compute_loss(self, pi_logps, ref_logps, yw_idxs, yl_idxs, preference_prob):
        # Compute log ratios
        pi_yw_logps, pi_yl_logps = pi_logps[yw_idxs], pi_logps[yl_idxs]
        ref_yw_logps, ref_yl_logps = ref_logps[yw_idxs], ref_logps[yl_idxs]
        
        log_ratio_diff = pi_yw_logps.sum(-1) - pi_yl_logps.sum(-1)
        loss = -(preference_prob * F.logsigmoid(self.beta * log_ratio_diff) +
                 (1 - preference_prob) * F.logsigmoid(-self.beta * log_ratio_diff))
        return loss.mean()

# Usage
trainer = ProbabilisticDPOTrainer(model, ref_model)
loss = trainer.compute_loss(pi_logps, ref_logps, yw_idxs, yl_idxs, preference_prob=0.8)  # 80% confidence in preference

рдШ) рдбреАрдкреАрдУ рдХреЛ рдЕрдиреНрдп рд╕рдВрд░реЗрдЦрдг рддрдХрдиреАрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛:

рдбреАрдкреАрдУ рдХреЛ рдЕрдиреНрдп рд╕рдВрд░реЗрдЦрдг рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдордЬрдмреВрдд рдФрд░ рд╕рдХреНрд╖рдо рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдВ рдмрди рд╕рдХрддреА рд╣реИрдВ:

  • рд╕реНрдкрд╖реНрдЯ рдмрд╛рдзрд╛ рд╕рдВрддреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рд╕рдВрд╡реИрдзрд╛рдирд┐рдХ рдПрдЖрдИ рд╕рд┐рджреНрдзрд╛рдВрдд
  • рдЬрдЯрд┐рд▓ рд╡рд░реАрдпрддрд╛ рдЙрджреНрдмреЛрдзрди рдХреЗ рд▓рд┐рдП рд╡рд╛рдж-рд╡рд┐рд╡рд╛рдж рдФрд░ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкреБрд░рд╕реНрдХрд╛рд░ рдореЙрдбрд▓рд┐рдВрдЧ
  • рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреБрд░рд╕реНрдХрд╛рд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпреБрддреНрдХреНрд░рдо рд╕реБрджреГрдвреАрдХрд░рдг рд╕реАрдЦрдирд╛

рдбреАрдкреАрдУ рдХреЛ рд╕рдВрд╡реИрдзрд╛рдирд┐рдХ рдПрдЖрдИ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:

class ConstitutionalDPOTrainer(DPOTrainer):
    def __init__(self, model, ref_model, beta=0.1, lr=1e-5, constraints=None):
        super().__init__(model, ref_model, beta, lr)
        self.constraints = constraints or []

    def compute_loss(self, pi_logps, ref_logps, yw_idxs, yl_idxs):
        base_loss = super().compute_loss(pi_logps, ref_logps, yw_idxs, yl_idxs)
        
        constraint_loss = 0
        for constraint in self.constraints:
            constraint_loss += constraint(self.model, pi_logps, ref_logps, yw_idxs, yl_idxs)
        
        return base_loss + constraint_loss

# Usage
def safety_constraint(model, pi_logps, ref_logps, yw_idxs, yl_idxs):
    # Implement safety checking logic
    unsafe_score = compute_unsafe_score(model, pi_logps, ref_logps)
    return torch.relu(unsafe_score - 0.5)  # Penalize if unsafe score > 0.5

constraints = [safety_constraint]
trainer = ConstitutionalDPOTrainer(model, ref_model, constraints=constraints)

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╡рд┐рдЪрд╛рд░ рдФрд░ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБ

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП DPO рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реБрдЭрд╛рд╡реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

a) рдбреЗрдЯрд╛ рдХреА рдЧреБрдгрд╡рддреНрддрд╛: рдЖрдкрдХреЗ рд╡рд░реАрдпрддрд╛ рдбреЗрдЯрд╛ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛рд╕реЗрдЯ:

  • рдЗрдирдкреБрдЯ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рд╡рд┐рд╡рд┐рдз рд░реЗрдВрдЬ рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИ
  • рд╕реБрд╕рдВрдЧрдд рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╡рд░реАрдпрддрд╛ рдПрдиреЛрдЯреЗрд╢рди рд╣реИ
  • рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ (рдЬреИрд╕реЗ, рддрдереНрдпрд╛рддреНрдордХрддрд╛, рд╕реБрд░рдХреНрд╖рд╛, рд╢реИрд▓реА) рдореЗрдВ рд╕рдВрддреБрд▓рди рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ

b) рд╣рд╛рдЗрдкрд░рдкрд░рдореЗрдЯрд░ рдЯреНрдпреВрдирд┐рдВрдЧ: рдпрджреНрдпрдкрд┐ DPO рдореЗрдВ RLHF рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ, рдлрд┐рд░ рднреА рдЯреНрдпреВрдирд┐рдВрдЧ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ:

  • ╬▓ (рдмреАрдЯрд╛): рд╡рд░реАрдпрддрд╛ рд╕рдВрддреБрд╖реНрдЯрд┐ рдФрд░ рд╕рдВрджрд░реНрдн рдореЙрдбрд▓ рд╕реЗ рд╡рд┐рдЪрд▓рди рдХреЗ рдмреАрдЪ рд╡реНрдпрд╛рдкрд╛рд░-рдмрдВрдж рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рдорд╛рдиреЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ 0.1-0.5.
  • рд╕реАрдЦрдиреЗ рдХреА рджрд░: рдорд╛рдирдХ рдлрд╝рд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╕реАрдЦрдиреЗ рдХреА рджрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЖрдорддреМрд░ рдкрд░ рдХреА рд╕реАрдорд╛ рдореЗрдВ 1e-6 рд╕реЗ 1e-5.
  • рдмреИрдЪ рдЖрдХрд╛рд░: рдмрдбрд╝реЗ рдмреИрдЪ рдЖрдХрд╛рд░ (32-128) рдкреНрд░рд╛рдпрдГ рд╡рд░реАрдпрддрд╛ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

c) рдкреБрдирд░рд╛рд╡реГрддреНрдд рд╢реЛрдзрди: рдбреАрдкреАрдУ рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрдд рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  1. DPO рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВ
  2. рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ
  3. рдЗрди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ рдирдпрд╛ рд╡рд░реАрдпрддрд╛ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░реЗрдВ
  4. рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреБрдирдГ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд▓реЗрдВ

 

рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд░реАрдпрддрд╛ рдЕрдиреБрдХреВрд▓рди

рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд░реАрдпрддрд╛ рдЕрдиреБрдХреВрд▓рди рдкреНрд░рджрд░реНрд╢рди

рдпрд╣ рдЫрд╡рд┐ рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд░реАрдпрддрд╛ рдЕрдиреБрдХреВрд▓рди (DPO), рд╕реБрдкрд░рд╡рд╛рдЗрдЬреНрдб рдлрд╝рд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ (SFT) рдФрд░ рдкреНрд░реЙрдХреНрд╕рд┐рдорд▓ рдкреЙрд▓рд┐рд╕реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди (PPO) рд╕рд╣рд┐рдд рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╢рд┐рдХреНрд╖рдг рддрдХрдиреАрдХреЛрдВ рдореЗрдВ рдорд╛рдирд╡реАрдп рдирд┐рд░реНрдгрдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ GPT-4 рдЬреИрд╕реЗ LLM рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ GPT-4 рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдорд╛рдирд╡реАрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рддреЗрдЬрд╝реА рд╕реЗ рд╕рдВрд░реЗрдЦрд┐рдд рд╣реЛрддреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рд╕рд╛рд░рд╛рдВрд╢ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВред GPT-4 рдФрд░ рдорд╛рдирд╡ рд╕рдореАрдХреНрд╖рдХреЛрдВ рдХреЗ рдмреАрдЪ рд╕рд╣рдорддрд┐ рдХрд╛ рд╕реНрддрд░ рдореЙрдбрд▓ рдХреА рдРрд╕реА рд╕рд╛рдордЧреНрд░реА рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдЬреЛ рдорд╛рдирд╡ рдореВрд▓реНрдпрд╛рдВрдХрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдзреНрд╡рдирд┐рдд рд╣реЛрддреА рд╣реИ, рд▓рдЧрднрдЧ рдЙрддрдиреА рд╣реА рдирд┐рдХрдЯрддрд╛ рд╕реЗ рдЬрд┐рддрдиреА рдХрд┐ рдорд╛рдирд╡-рдирд┐рд░реНрдорд┐рдд рд╕рд╛рдордЧреНрд░реА рдХрд░рддреА рд╣реИред

рдХреЗрд╕ рдЕрдзреНрдпрдпрди рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ

рдбреАрдкреАрдУ рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рдЗрд╕рдХреЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдирдЬрд░ рдбрд╛рд▓реЗрдВ:

  • рдкреБрдирд░рд╛рд╡реГрддреНрддреАрдп рдбреАрдкреАрдУрд╕реНрдиреЛрд░реНрдХрд▓ (2023) рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд, рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдирдореВрдиреЗ рдХреЛ DPO рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рдЪрдпрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдХреНрд╖рдо рд╣реЛрддреА рд╣реИред рд╡рд░реАрдпрддрд╛ рдирдореВрдиреЗ рдХреЗ рдХрдИ рджреМрд░реЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рдХреЗ, рдореЙрдбрд▓ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХрд░рдиреЗ рдФрд░ рд╢реЛрд░ рдпрд╛ рдкрдХреНрд╖рдкрд╛рддреА рд╡рд░реАрдпрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдУрд╡рд░рдлрд┐рдЯрд┐рдВрдЧ рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реИред
  • рдЖрдИрдкреАрдУ (рдкреБрдирд░рд╛рд╡реГрддреНрддреАрдп рд╡рд░реАрдпрддрд╛ рдЕрдиреБрдХреВрд▓рди): рдЕрдЬрд╝рд╛рд░ рдПрдЯ рдЕрд▓. (2023) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд, IPO рдУрд╡рд░рдлрд╝рд┐рдЯрд┐рдВрдЧ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдорд┐рддреАрдХрд░рдг рд╢рдмреНрдж рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЬреЛ рд╡рд░реАрдпрддрд╛-рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдХреВрд▓рди рдореЗрдВ рдПрдХ рдЖрдо рд╕рдорд╕реНрдпрд╛ рд╣реИред рдпрд╣ рд╡рд┐рд╕реНрддрд╛рд░ рдореЙрдбрд▓ рдХреЛ рд╡рд░реАрдпрддрд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдФрд░ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рд╕рдВрддреБрд▓рди рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  • рдХреЗрдЯреАрдУ (рдЬреНрдЮрд╛рди рд╣рд╕реНрддрд╛рдВрддрд░рдг рдЕрдиреБрдХреВрд▓рди)рдПрдердпрд╛рд░рд╛рдЬ рдПрдЯ рдЕрд▓. (2023) рдХрд╛ рдПрдХ рдФрд░ рд╣рд╛рд▓рд┐рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг, рдХреЗрдЯреАрдУ рдмрд╛рдЗрдирд░реА рд╡рд░реАрдпрддрд╛рдУрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ рдЬреНрдЮрд╛рди рдХреЛ рд╕рдВрджрд░реНрдн рдореЙрдбрд▓ рд╕реЗ рдиреАрддрд┐ рдореЙрдбрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдорд╛рдирд╡ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╣рдЬ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╕рдВрдЧрдд рд╕рдВрд░реЗрдЦрдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдХрд░рддрд╛ рд╣реИред
  • рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рд▓рд░реНрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдорд▓реНрдЯреА-рдореЙрдбрд▓ рдбреАрдкреАрдУ рдЬреВ рдПрдЯ рдЕрд▓. (2024) рджреНрд╡рд╛рд░рд╛: рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЬрд╣рд╛рдВ DPO рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддреМрд░-рддрд░реАрдХреЛрдВ-рдкрд╛рда, рдЫрд╡рд┐ рдФрд░ рдСрдбрд┐рдпреЛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ-рд╡рд┐рд╡рд┐рдз рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдорд╛рдирд╡реАрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдореЙрдбрд▓ рдХреЛ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЗрд╕рдХреА рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╢реЛрдз рдЬрдЯрд┐рд▓, рдмрд╣реБ-рдореЛрдбрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХ AI рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдиреЗ рдореЗрдВ DPO рдХреА рдХреНрд╖рдорддрд╛ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рддрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖

рдбрд╛рдпрд░реЗрдХреНрдЯ рдкреНрд░реЗрдлрд░реЗрдВрд╕ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╢рди рднрд╛рд╖рд╛ рдореЙрдбрд▓ рдХреЛ рдорд╛рдирд╡реАрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рдЧрддрд┐ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреА рд╕рд░рд▓рддрд╛, рджрдХреНрд╖рддрд╛ рдФрд░ рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдЗрд╕реЗ рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рдФрд░ рдЪрд┐рдХрд┐рддреНрд╕рдХреЛрдВ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рдмрдирд╛рддреА рд╣реИред

рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд░реАрдпрддрд╛ рдЕрдиреБрдХреВрд▓рди рдХреА рд╢рдХреНрддрд┐ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдХрд░ рдФрд░ рдЗрди рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдХрд░, рдЖрдк рдРрд╕реЗ рднрд╛рд╖рд╛ рдореЙрдбрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рди рдХреЗрд╡рд▓ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдмрд▓реНрдХрд┐ рдорд╛рдирд╡реАрдп рдореВрд▓реНрдпреЛрдВ рдФрд░ рдЗрд░рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рднреА рдирд┐рдХрдЯрддрд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рдкрд╛рдВрдЪ рд╕рд╛рд▓ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдФрд░ рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рдХреА рдЖрдХрд░реНрд╖рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдбреВрдмрдиреЗ рдореЗрдВ рдмрд┐рддрд╛рдП рд╣реИрдВред рдореЗрд░реЗ рдЬреБрдиреВрди рдФрд░ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдиреЗ рдореБрдЭреЗ рдПрдЖрдИ/рдПрдордПрд▓ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд╕рд╛рде 50 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд┐рдз рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдореЗрд░реА рдирд┐рд░рдВрддрд░ рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рдиреЗ рдореБрдЭреЗ рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдУрд░ рднреА рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдПрдХ рдРрд╕рд╛ рдХреНрд╖реЗрддреНрд░ рдЬрд┐рд╕реЗ рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВред