C # рдФрд░ рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдмрд┐рд▓рд┐рдпрди рдЧрд╛рдиреЗ рд▓рд┐рдЦрдирд╛

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рд╕рдордЭрд╛рддрд╛ рд╣реВрдБ рдХрд┐ ASP.NET рдХреЛрд░ рд╡реЗрдм рд╕рд╛рдЗрдЯ рдХреИрд╕реЗ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рдЬреЛ рдПрдХ рдмрдЯрди рдХреЗ рдПрдХ рдХреНрд▓рд┐рдХ рдХреЗ рд╕рд╛рде рдЕрджреНрд╡рд┐рддреАрдп рдЧреАрдд рдХреЗ рдмреЛрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП AI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдЧреАрддреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рджреЗрддреА рд╣реИред

рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ


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

рдЬреАрдкреАрдЯреА -2 рдкрд╛рда рдирдореВрдирд╛


рдЙрдиреНрд╣реЛрдВрдиреЗ рдЖрдЬ рддрдХ (рдПрдХ рдмрд╣реБрдд рд╣реА рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рдирд┐рд░реНрдгрдп) рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдорд┐рдд 1 рдЕрд░рдм рд╕реЗ рдЕрдзрд┐рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдЧрд┐рдЯрд╣рдм рдкрд░ рдПрдХ рдЫреЛрдЯреЗ 117M рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЦреЛрд▓ рджрд┐рдпрд╛ред рдореЙрдбрд▓ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрджрдореНрдп рдирд╛рдо рд╣реИ: GPT-2 ред


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


GPT-2 рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?


рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдЕрдиреБрд╕рдВрдзрд╛рди рдореЗрдВ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЙрдкрд▓рдмреНрдзрд┐рдпрд╛рдБ рд╣реИрдВ, рдЬрд┐рд╕рдиреЗ GPT-2 рдХреЛ рд╕рдВрднрд╡ рдмрдирд╛рдпрд╛ рд╣реИ:


рд╕реНрд╡-рдкрд░реНрдпрд╡реЗрдХреНрд╖рд┐рдд рд╢рд┐рдХреНрд╖рд╛


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


рдкрд░рдореНрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ, рдЗрди рд╕рднреА рд▓реЗрдЦреЛрдВ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордиреБрд╖реНрдп рдХреЗ рдкрд╛рд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ "рд╕рдХрд╛рд░рд╛рддреНрдордХ" рдпрд╛ "рдирдХрд╛рд░рд╛рддреНрдордХ" рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВред рдлрд┐рд░ рд╡реЗ рдЗрди рд▓реЗрдЦреЛрдВ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╡реЗрдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕рд┐рдЦрд╛рдПрдВрдЧреЗ, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдПрдХ рдорд╛рдирд╡ рдиреЗ рдХрд┐рдпрд╛ рдерд╛ред


RECAPTCHA: рд╕реНрдЯреНрд░реА рд╕рдВрдХреЗрдд рджреЗрдЦреЗрдВ


рдпрд╣рд╛рдВ рдирдпрд╛ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдХреА рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рд╕рдордЭ рд╣реЛ, рдЖрдк рдбреЗрдЯрд╛ рдХреЛ рдХреЗрд╡рд▓ рднреНрд░рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдореВрд▓ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдХреЛ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдореЙрдбрд▓ рдХреЛ рдбреЗрдЯрд╛ рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдФрд░ рдЙрдирдХреЗ рдЖрд╕-рдкрд╛рд╕ рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдХреЛ рд╕рдордЭрддрд╛ рд╣реИред


рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рда рд▓реЗрддреЗ рд╣реИрдВред GPT-2 рдореВрд▓ рдкрд╛рда рдХрд╛ рдПрдХ рдирдореВрдирд╛ рд▓реЗрддрд╛ рд╣реИ, рднреНрд░рд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП 15% рдЯреЛрдХрди рдЪреБрдирддрд╛ рд╣реИ, рдлрд┐рд░ рдЙрдирдореЗрдВ рд╕реЗ 80% рдореБрдЦреМрдЯреЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдореБрдЦреМрдЯрд╛ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ ___), рд╢рдмреНрджрдХреЛрд╢ рд╕реЗ рдХреБрдЫ рдЕрдиреНрдп рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде 10% рдмрджрд▓рддрд╛ рд╣реИ, рдФрд░ рд╢реЗрд╖ 10% рдмрд░рдХрд░рд╛рд░ рд╣реИред рд▓реЛ рдореИрдВ рдПрдХ рдЧреЗрдВрдж рдлреЗрдВрдХ рджрд┐рдпрд╛, рдФрд░ рдпрд╣ рдШрд╛рд╕ рдкрд░ рдЧрд┐рд░ рдЧрдпрд╛ ред рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░ рдХреЗ рдмрд╛рдж рдРрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ: рдореИрдВрдиреЗ рдХрд╛рд░ рдмреЙрд▓ рдлреЗрдВрдХреА, рдФрд░ рдпрд╣ рдШрд╛рд╕ рдХреЗ рд▓рд┐рдП ___ ред рдЖрдо рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕реАрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдХрд┐ рдлреЗрдВрдХреА рдЧрдИ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрдо рд╣реЛ рдЬрд╛рдПрдЧреА, рдФрд░ рдХрд╛рд░ рдХреА рдЧреЗрдВрдж рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреБрдЫ рдмрд╣реБрдд рд╣реА рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИред


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


рдЖрддреНрдо-рдзреНрдпрд╛рди рдХреЛ рд╡рд┐рд░рд▓ рдХрд░рдирд╛


GPT-2 рд╡рд┐рд░рд▓ рд╕реНрд╡-рдзреНрдпрд╛рди рдирд╛рдордХ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдПрдХ рддрдХрдиреАрдХ рд╣реИ, рдЬреЛ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдмрдбрд╝реЗ рдЗрдирдкреБрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддреА рд╣реИ, рдЬреЛ рдЗрд╕рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рд╕реАрдЦрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдЗрд╕реЗ рдХрд╣рд╛рдВ "рджреЗрдЦрдирд╛" рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдзреНрдпрд╛рди рддрдВрддреНрд░ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред


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


рдЬреАрдкреАрдЯреА -2 рдореЗрдВ рдзреНрдпрд╛рди рдмрд╣реБ-рдкреНрд░рдзрд╛рди рд╣реИ ред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрдВрдЦ рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрд╛ рджреЛ рдЖрдк рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдПрдХ рдХреЛ рдкрдврд╝рдиреЗ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдХреНрдпрд╛ рдерд╛ред


рдХрдИ рдФрд░


рдЕрд╡рд╢рд┐рд╖реНрдЯ рдХрдиреЗрдХреНрд╢рди , рдмрд╛рдЗрдЯ рдЬреЛрдбрд╝реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ , рдЕрдЧрд▓реЗ рд╡рд╛рдХреНрдп рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА, рдФрд░ рдХрдИ рдФрд░ред


рдкреЛрд░реНрдЯрд┐рдВрдЧ GPT-2 (рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛)


рдореВрд▓ рдореЙрдбрд▓ рдХреЛрдб рдкрд╛рдпрдерди рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ C # рдЖрджрдореА рд╣реВрдВред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛рдлреА рдкрдардиреАрдп рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдХреНрд░реВрдЬрд╝ рд╕рд┐рд░реНрдл 5 рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╣реИ, рд╢рд╛рдпрдж рдХреБрд▓ 500 рд▓рд╛рдЗрдиреЗрдВред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдирдпрд╛ .NET рдорд╛рдирдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛, рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ (.NET рдХреЗ рд▓рд┐рдП рдПрдХ TensorFlow рдмрд╛рдЗрдВрдбрд┐рдВрдЧ) рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд╛рдЗрди рд╕реЗ C # рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджрд┐рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрднрдЧ 2 рдШрдВрдЯреЗ рд▓рдЧреЗред рдХреЛрдб рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдкрд╛рдпрдереЛрдирд┐рдХ рдЪреАрдЬ рдкрд╛рдИрдк рд╕реЗ рдкрд╛рдЗрдерди рд░реЗрдЧреЗрдХреНрд╕ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдереА (рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░), рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдкрд╛рдЗрдерди рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЛ рд╕реАрдЦрдиреЗ рдореЗрдВ рд╕рдордп рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ ( рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛) рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдПред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА )ред


рдЕрдзрд┐рдХрддрд░ рд░реВрдкрд╛рдВрддрд░рдгреЛрдВ рдореЗрдВ рд╕рдорд╛рди рд╡рд░реНрдЧреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ, рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЗрд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ LINQ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдореЗрдВ рдкрд╛рдпрдерди рд╕реВрдЪреА рд╕рдордЭ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╢рд╛рдорд┐рд▓ рдерд╛ред рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ LINQ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ MoreLinq рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬреЛ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП LINQ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдереЛрдбрд╝рд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ:


bs = list(range(ord("!"), ord("~")+1)) + list(range(ord("┬б"), ord("┬м")+1)) + list(range(ord(""), ord("├┐")+1)) 

рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛:


 var bs = Range('!', '~' - '!' + 1) .Concat(Range('┬б', '┬м' -'┬б' + 1)) .Concat(Range('', '├┐' - '' + 1)) .ToList(); 

рдПрдХ рдФрд░ рдЪреАрдЬ рдЬрд┐рд╕рд╕реЗ рдореБрдЭреЗ рд▓рдбрд╝рдирд╛ рдкрдбрд╝рд╛, рд╡рд╣ рдерд╛ рдХрд┐ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдкрд╛рдпрдерди рд╣реИрдВрдбрд▓ рд░реЗрдВрдЬ рдХреЗ рдмреАрдЪ рдПрдХ рд╡рд┐рд╕рдВрдЧрддрд┐ рдереА, рдФрд░ рдЖрдЧрд╛рдореА рд╕реА # 8 рдореЗрдВ рдирдП рд░реЗрдВрдЬ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╢реБрд░реБрдЖрддреА рд░рди рдбрд┐рдмрдЧ рдХрд░рддреЗ рд╕рдордп рдЦреЛрдЬрд╛ рдерд╛: рд╕реА # 8 рдореЗрдВ рд░реЗрдВрдЬ рдХрд╛ рдЕрдВрдд рд╕рдорд╛рд╡реЗрд╢реА рд╣реИ , рдЬрдмрдХрд┐ рдкрд╛рдпрдерди рдореЗрдВ рдпрд╣ рдЕрдирдиреНрдп рд╣реИ (рдкрд╛рдпрдерди рдореЗрдВ рдмрд╣реБрдд рдЕрдВрддрд┐рдо рддрддреНрд╡ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рд╣реА рдкрдХреНрд╖ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ .. рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐)ред


рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдореЗрдВ рджреЛ рдХрдард┐рди рдЪреАрдЬреЗрдВ рд╣реИрдВ: рдХреИрд╢ рдЕрдорд╛рдиреНрдпрдХрд░рдг, рдирд╛рдордХрд░рдг рдХреА рдЪреАрдЬреЗрдВ рдФрд░ рдСрдл-рдмрд╛рдп-рд╡рди рддреНрд░реБрдЯрд┐рдпрд╛рдВред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореВрд▓ рд╕реНрд░реЛрдд рдбреНрд░реЙрдк рдореЗрдВ рдХреЛрдИ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдареАрдХ-рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдиреАрд▓ рд╢реЗрдкрд░рдб рдиреЗ рдЕрдкрдиреЗ рдЧрд┐рдЯрд╣рдм рдкрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдареАрдХ-рдЯреНрдпреВрдирд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛, рдЬрд┐рд╕реЗ рдореБрдЭреЗ рднреА рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдерд╛ред рд╡реИрд╕реЗ рднреА, рдЙрд╕ рдкреНрд░рдпрд╛рд╕ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ C # рдХреЛрдб рд╣реИ , рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ GPT-2 рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдм рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рд╕реИрдореНрдкрд▓ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред


рдкреЛрд░реНрдЯрд┐рдВрдЧ рдПрдХреНрд╕рд░рд╕рд╛рдЗрдЬ рдХрд╛ рдмрд┐рдВрджреБ рджреЛ-рдЧреБрдирд╛ рд╣реИ: рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ C # IDE рдореЗрдВ рдореЙрдбрд▓ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд┐ рдЕрдм рдХрд╕реНрдЯрдо рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрддреНрдпрд╛рдзреБрдирд┐рдХ рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ .NET рдХреБрдЫ рд╣реА рд╕рдордп рдмрд╛рдж рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрддрд╛ рд╣реИ (GPT-2 рдХреЗ рдХреЛрдб рдбреНрд░реЙрдк рдФрд░ рдмрд┐рд▓рд┐рдпрди рд╕реЙрдиреНрдЧреНрд╕ рдХреА рдкрд╣рд▓реА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рдмреАрдЪ - рдмрд╕ рдПрдХ рдорд╣реАрдиреЗ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ)ред


рдЧрд╛рдиреЗ рдХреЗ рдмреЛрд▓ рдХреЗ рд▓рд┐рдП рдмрдврд╝рд┐рдпрд╛ рдЯреНрдпреВрдирд┐рдВрдЧ


рд╡рд╣рд╛рдБ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ рдПрдХ рдЧреАрдд рдХреЗ рдмреЛрд▓ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдХреЛрд╖ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ HTML рдкрд╛рд░реНрд╕рд░ рдХреЗ рд╕рд╛рде рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЗрдВрдЯрд░рдиреЗрдЯ рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╕реНрдХреНрд░реИрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдЕрдкрдиреЗ рдХрд░рд╛рдУрдХреЗ рд╕рдВрдЧреНрд░рд╣ рдпрд╛ рдПрдордкреА 3 рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдХрд┐рд╕реА рдиреЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдХрд╛рдЧрд▓реЗ рдкрд░ рдХрд╛рдлреА рддреИрдпрд╛рд░ рдЧреАрдд рдбреЗрдЯрд╛рд╕реЗрдЯ рдорд┐рд▓реЗ ред " рд╣рд░ рдЧреАрдд рдЬреЛ рдЖрдкрдиреЗ рд╕реБрдирд╛ рд╣реИ " рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред GPT-2 рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реБрдП, рдореБрдЭреЗ рджреЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред


рд╕реАрдПрд╕рд╡реА рдкрдврд╝рдирд╛


рд╣рд╛рдВ, рдЖрдкрдиреЗ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрдврд╝рд╛, CSV рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереА ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирдП Microsoft рдкреБрд╕реНрддрдХрд╛рд▓рдп ML.NET рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХрд┐рдо рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдпрд╣ рдЧрд╛рдиреЗ рдореЗрдВ рд▓рд╛рдЗрди рдмреНрд░реЗрдХ рдХреЛ рдареАрдХ рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдореИрдВрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛, рдпрд╣ рдХреБрдЫ рд╕реМ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдмрд╛рдж рд╕рдВрдШрд░реНрд╖ рдХрд┐рдпрд╛, рдФрд░ рд╢реАрд░реНрд╖рдХ рдФрд░ рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЧреАрдд рдХреЗ рдЯреБрдХрдбрд╝реЗ рдорд┐рд╢реНрд░рдг рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред


рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рдкрдбрд╝рд╛, рдЬрд┐рд╕рдХрд╛ рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕реЗ рдмреЗрд╣рддрд░ рдЕрдиреБрднрд╡ рдерд╛: CsvHelper ред рдпрд╣ рдПрдХ DataReader- рдЬреИрд╕рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрдк рдпрд╣рд╛рдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдЖрдк рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдПрдХ CsvReader рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ .Read ( ) рдХреЛ рдХреЙрд▓ (s) рдХреЗ рд╕рд╛рде .GetField (fieldName) рдореЗрдВ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ ред


рд▓рдШреБ рдЧреАрдд


OpenAI рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореВрд▓ рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдПрдХ рдФрд╕рдд рд▓реЗрдЦ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЧрд╛рдиреЗ рдХрдо рд╣реИрдВред GPT-2 рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрд╛рда рдХреЗ рдмрдбрд╝реЗ рдЯреБрдХрдбрд╝реЛрдВ рдкрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЯреНрд░реЗрдирд░ рдХреЛ рдЦрд┐рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЧреАрддреЛрдВ рдХреЛ рдирд┐рд░рдВрддрд░ рдкрд╛рда рд╡рд┐рдЦрдВрдбрди рдореЗрдВ рдмрдВрдбрд▓ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред OpenAI рднреА рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧ рд░рд╣рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯреЛрдХрди рдерд╛ <<endoftext |>> , рдЬреЛ рдПрдХ рдЪрдВрдХ рдХреЗ рднреАрддрд░ рдкреВрд░реНрдг рдЧреНрд░рдВрдереЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рд╛рд░рдВрдн рдЯреЛрдХрди рдХреЗ рд░реВрдк рдореЗрдВ рджреЛрдЧреБрдирд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рддрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЯреЛрдХрди рдирд╣реАрдВ рдорд┐рд▓ рдЬрд╛рддреЗ, рддрдм рддрдХ рдореИрдВрдиреЗ рдЧреАрддреЛрдВ рдХреЛ рдмрд╛рдВрдз рджрд┐рдпрд╛, рдлрд┐рд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ред рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреЛрдб рдпрд╣рд╛рдБ рд╣реИ ред


рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ


рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬреАрдкреАрдЯреА -2 рдХрд╛ рдЫреЛрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрдбрд╝рд╛ рд╣реИред рдЬреАрдкреАрдпреВ рд░реИрдо рдХреЗ 12 рдЬреАрдмреА рдХреЗ рд╕рд╛рде рдореИрдВ рдХреЗрд╡рд▓ рдмреИрдЪ рдЖрдХрд╛рд░ 2 рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рдерд╛ (рдЬреИрд╕реЗ рдПрдХ рдмрд╛рд░ рдореЗрдВ рджреЛ рдЯреБрдХрдбрд╝реЛрдВ рдкрд░ рдЯреНрд░реЗрди, рдмрдбрд╝реЗ рдмреИрдЪ рдЖрдХрд╛рд░ GPU рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ)ред 3 CUDA рдореЗрдВ рдореЗрдореЛрд░реА рд╕реЗ рдмрд╛рд╣рд░ рдлреЗрдВрдХ рджреЗрдЧрд╛ред рдФрд░ рдЗрд╕реЗ рдореЗрд░реЗ V100 рдкрд░ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЯреНрдпреВрди рдХрд░рдиреЗ рдореЗрдВ рдЖрдзрд╛ рджрд┐рди рд▓рдЧрд╛ред рдмреЛрдирд╕ рдЖрдк рдкреНрд░рдЧрддрд┐ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдм рдФрд░ рдлрд┐рд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЛрдб рдХреБрдЫ рдЙрддреНрдкрдиреНрди рдирдореВрдиреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╕рд╛рджреЗ рд╕рд░рд▓ рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдЧрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЧреАрдд рдХреЗ рдмреЛрд▓реЛрдВ рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рджрд┐рдЦрддреЗ рд╣реИрдВред


рдореИрдВрдиреЗ рдЗрд╕рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕реАрдкреАрдпреВ рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╢рд╛рдпрдж рдмрд╣реБрдд рдзреАрдорд╛ рд╣реЛрдЧрд╛ ред


рдкреВрд░реНрд╡-рдЯреНрдпреВрдиреНрдб рдореЙрдбрд▓


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


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

рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдмрдирд╛рдирд╛


рдареАрдХ рд╣реИ! рдпрд╣ рдПрдХ рдЧреАрдд (рд╕реЙрд░реНрдЯ) рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдЕрдм рдПрдХ рд╡реЗрдм рд╕рд╛рдЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ!


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


рдПрдорд╡реАрдкреА рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдЖрдЧреЗ рдмрдврд╝рдХрд░ рдПрдХ Song.cshtml рд╡реЗрдм рдкреЗрдЬ рдмрдирд╛рдпрд╛, рдЬрд┐рд╕рдХрд╛ рд▓рдХреНрд╖реНрдп рдЕрдм рдХреЗрд╡рд▓ GPT-2 рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдФрд░ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЧреАрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкреГрд╖реНрда рдХрд╛ рд▓реЗрдЖрдЙрдЯ рддреБрдЪреНрдЫ рд╣реИ, рдФрд░ рдореВрд▓ рд░реВрдк рд╕реЗ рдЧреАрдд рдФрд░ рдЙрд╕рдХреЗ рд╢реАрд░реНрд╖рдХ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ:


 @page "/song/{id}" @model BillionSongs.Pages.SongModel</p> @{ ViewData["Title"] = @Model.Song.Title ?? "Untitled"; } <article style="text-align: center"> <h3>@(Model.Song.Title ?? "Untitled")</h3> <pre>@Model.Song.Lyrics</pre> </article> 


рдЕрдм рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдореЗрд░рд╛ рдХреЛрдб рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдпрд╛, рдЬреЛ рдореБрдЭреЗ рдмрд╛рдж рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЧреАрдд рдЬрдирд░реЗрдЯрд░ рдкреНрд▓рдЧ рдХрд░рдиреЗ рджреЗрдЧрд╛, рдЬреЛ ASP.NET рджреНрд╡рд╛рд░рд╛ SongModel рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


 interface ILyricsGenerator { Task<string> GenerateLyrics(uint song, CancellationToken cancellation); } 

рдЕрдм рдХреЗ рд▓рд┐рдП рдЧреАрдд рд╢реАрд░реНрд╖рдХ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рд╣рдореЗрдВ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ Gpt2LICEGenerator рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВ ред рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ SongModel рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред рддреЛ рдЪрд▓реЛ рдЬрдирд░реЗрдЯрд░ рдкрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдкрд╣рд▓реА рдЪреАрдЬ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ, рд╡рд╣ рд╣реИ рд╣рдорд╛рд░реЗ рдкрд╛рд╕


рджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдп рдЧреАрдд рдкреАрдврд╝реА


рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдПрдХ рд╕рд╛рд╣рд╕рд┐рдХ рдмрдпрд╛рди рджрд┐рдпрд╛ рдерд╛, рдХрд┐ рдпрд╣ 1 рдмрд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ рдЧреАрдд рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрди рд╕рднреА рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдордд рд╕реЛрдЪреЛред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХрд┐рд╕реА рднреА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рдмрд┐рдирд╛, рдпрд╣ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреЗ 1 рдЯреАрдмреА рд╕реЗ рдЕрдзрд┐рдХ рдкрд░ рд▓реЗ рдЬрд╛рдПрдЧрд╛ред рджреВрд╕рд░рд╛, рдПрдХ рдирдпрд╛ рдЧреАрдд рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдиреЗрдЯрдЯреЙрдк рдкрд░ ~ 3 рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрди рд╕рднреА рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд▓рдЧреЗрдЧрд╛ред рдФрд░ рдореИрдВ рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ Int64 рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдХреЗ рдЙрд╕ рдмрд┐рд▓ рдХреЛ рдПрдХ рдХреНрд╡рд┐рдВрдЯрд▓рд┐рдпрди рдореЗрдВ рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ! рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╣рдо 1 рдХреНрд╡рд┐рдВрдЯрд▓рд┐рдпрди рдЧрд╛рдиреЗ рдкрд░ 1 рдкреНрд░рддрд┐рд╢рдд рдкреНрд░рддрд┐ рдЧреАрдд рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ рджреБрдирд┐рдпрд╛ рдХреЗ рдореМрдЬреВрджрд╛ рд╡рд╛рд░реНрд╖рд┐рдХ рдЬреАрдбреАрдкреА рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛!


рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ GPT-2 рдПрдХ рд╣реА рдЧреАрдд рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЙрд╕рдХреА рдЖрдИрдбреА рджреА рдЧрдИ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВ рдорд╛рд░реНрдЧ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реВрдВред рдЙрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП TensorFlow рдХрд┐рд╕реА рднреА рд╕рдордп tf.set_random_seed рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рдЖрдВрддрд░рд┐рдХ рдирдВрдмрд░ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдмреАрдЬ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рджреЗрддрд╛ рд╣реИ: tf.set_random_seed (songNumber) ред рддрдм рдореИрдВ рд╕рд┐рд░реНрдл Gpt2Sampler.SampleSequence рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдПрдиреНрдХреЛрдбреЗрдб рдЧрд╛рдиреЗ рдХрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдбреАрдХреЛрдб рдХрд░ рджреВрдВ , рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рдХрд░ рджреВрдВрдЧрд╛ , рдЗрд╕ рдкреНрд░рдХрд╛рд░ Gpt2LICEGenerator рдХреЛ рдкреВрд░рд╛ рдХрд░реВрдВрдЧрд╛ ред


рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкрд╣рд▓реЗ рдкреНрд░рдпрд╛рд╕ рдкрд░ рдЬреЛ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЬрдм рднреА рдореИрдВ рддрд╛рдЬрд╝рд╛ рдмрдЯрди рджрдмрд╛рдКрдВрдЧрд╛, рдкреГрд╖реНрда рдкрд░ рдПрдХ рдирдпрд╛ рдЕрдиреВрдард╛ рдкрд╛рда рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХрд╛рдлреА рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдкрддрд╛ рдЪрд▓рд╛, рдХрд┐ TensorFlow 1.X рдореЗрдВ рдкреНрд░рдЬрдирди рд╕рдВрдмрдВрдзреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджреЗ рд╣реИрдВ: рдХрдИ рдСрдкрд░реЗрд╢рдиреЛрдВ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдХрд┐ set_random_seed рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдХрдард┐рди рд╣реЛрддреЗ рд╣реИрдВред


рдореЙрдбрд▓ рдЪрд░ рдХреЗ рдкреБрдирд░реНрдореВрд▓реНрдпрд╛рдВрдХрди рдиреЗ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдСрдлрд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреА, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рдерд╛ рдХрд┐ рд╕рддреНрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдореЙрдбрд▓ рд╡реЗрдЯ рдХреЛ рд╣рд░ рдХреЙрд▓ рдкрд░ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЙрд╕ рдЖрдХрд╛рд░ рдХреЗ рдПрдХ рд╕рддреНрд░ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рд╣реБрдЖред TensorFlow C ++ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рдХреА рддрд▓рд╛рд╢ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЯреЗрдХреНрд╕реНрдЯ рдЬрдирд░реЗрд╢рди-рдЗрди-рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, Process.Start рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрдкреЙрди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рд╡рд╣рд╛рдВ рдЯреЗрдХреНрд╕реНрдЯ рдЬреЗрдирд░реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдорд╛рдирдХ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдкрдврд╝реЗрдВред рдЬрдм рддрдХ TensorFlow рдореЗрдВ рдореЙрдбрд▓ рд╕реНрдерд┐рддрд┐ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╕реНрдерд┐рд░ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдпрд╣ рд░рд╛рд╕реНрддрд╛ рд╣реЛрдЧрд╛ред


рдЗрд╕рд▓рд┐рдП рдореИрдВ рджреЛ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖ: Gpt2LricGenerator , рдЬреЛ рдКрдкрд░ рд╕реЗ ILricGenerator рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде BillionSongs.exe рдХрд╛ рдПрдХ рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЧреАрдд рдЖрдИрдбреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ рдЕрдВрддрддрдГ рдЧреАрддреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GPT-2 рдХреЛ рддрддреНрдХрд╛рд▓ Tpt2TextGenerator рдХрд╣рддреЗ рд╣реИрдВ, рдФрд░ рдмрд╕ рдЗрд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред


рдЕрдм рдкреГрд╖реНрда рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рд╕реЗ рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдкрд╛рда рдорд┐рд▓рд╛ред


рдПрдХ рдЧреАрдд рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 3 рдорд┐рдирдЯ рдХреЗ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛


рдпрд╣ рдХрд┐рддрдирд╛ рднрдпрд╛рдирдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рд╣реЛрдЧрд╛! рдЖрдк рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, "рдирдпрд╛ рдЧреАрдд рдмрдирд╛рдПрдБ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ 3 (!) рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдореЗрд░рд╛ рдиреЗрдЯрдЯреЙрдк рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЧрдП рдЧреАрдд рдХреЗ рдмреЛрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕рдордп рд▓реЗрддрд╛ рд╣реИред


рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрдИ рд╕реНрддрд░реЛрдВ рдкрд░ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ:


рдЧреАрддреЛрдВ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рджреА


рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рд╕рднреА рдЧреАрддреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЖрдк рд╕рд┐рд░реНрдл рдорд╛рдВрдЧ рдкрд░ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдзреАрдорд╛ рд╣реИред рддреЛ рдЖрдк рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?


рд╕рд░рд▓! рдЪреВрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЧрд╛рдирд╛ рджреЗрдЦрдиреЗ рдХрд╛ рдкреНрд░рд╛рдердорд┐рдХ рддрд░реАрдХрд╛ "рд░реИрдВрдбрдо рдмрдирд╛рдУ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рд╣реИ, рдЪрд▓реЛ рдкрд╣рд▓реЗ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЧреАрддреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░ рд▓реЗрдВ, рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рдорд╡рд░реНрддреА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд░рдЦреЗрдВ , рдФрд░ "рд░реИрдВрдбрдо рдмрдирд╛рдПрдВ" рдкреЙрдк рдЧреАрддреЛрдВ рд╕реЗ рдЗрд╕реЗ рдХрд░реЗрдВред рдЬрдмрдХрд┐ рдЖрдЧрдВрддреБрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реИ, рд╕рд░реНрд╡рд░ рдХреБрдЫ рдЧреАрддреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдмреАрдЪ рд╕рдордп рд▓реЗрдЧрд╛, рдЬреЛ рддрдм рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реБрд▓рдн рд╣реЛрдЧрд╛ред


рдПрдХ рдФрд░ рддрд░рдХреАрдм, рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛, рд╡рд╣ рд╣реИ рдХрд┐ рдХрддрд╛рд░ рдХреЛ рдХрдИ рдмрд╛рд░ рд▓реВрдк рдХрд░рдирд╛, рддрд╛рдХрд┐ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╣реА рдкреНрд░реАрдЧреЗрдВрд░реЗрдЯреЗрдб рдЧрд╛рдиреЗ рдХреЛ рджреЗрдЦ рд╕рдХреЗрдВред рдмрд╕ рд░реИрдо рдЙрдкрдпреЛрдЧ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрддреБрд▓рди рд░рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рдХрд┐рддрдиреА рдмрд╛рд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ "рд░реИрдВрдбрдо рдмрдирд╛рдУ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реЗ рдкрд╣рд▓реЗ рджреЗрдЦрд╛ рдЧрдпрд╛ рдХреБрдЫ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдХреЗрд╡рд▓ 50,000 рдЧрд╛рдиреЛрдВ рдХреЛ рдПрдХ рдЙрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛, рдЬреЛ рдХрд┐ рд╕рд┐рд░реНрдл 50MB рд░реИрдо рд▓реЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдХрд╛рдлреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреНрд▓рд┐рдХреНрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред


рдореИрдВрдиреЗ рдЙрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдХрдХреНрд╖рд╛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ PregeneratedSongProvider : IRandomSongProvider (рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ "рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмрдирд╛рдПрдВ" рдмрдЯрди рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХреЛрдб рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред


рдХреИрд╢рд┐рдВрдЧ


рдкреНрд░реАрдЧреЗрдВрд░реЗрдЯреЗрдб рдЧрд╛рдиреЗ рдореЗрдореЛрд░реА рдореЗрдВ рдХреИрд╢реНрдб рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HTTP рдХреИрд╢ рд╣реЗрдбрд░ рднреА рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рд╕реАрдбреАрдПрди (рдореИрдВ CloudFlare рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ) рдЗрд╕реЗ рдХреИрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдпреВрдЬрд░ рдЗрдирдлреНрд▓реЛ рд╕реЗ рд╣рд┐рдЯ рд╣реЛрдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдПред


 [ResponseCache(VaryByHeader = "User-Agent", Duration = 3*60*60)] public class SongModel: PageModel { тАж } 

рд▓реЛрдХрдкреНрд░рд┐рдп рдЧреАрддреЛрдВ рдХреА рд╡рд╛рдкрд╕реА


рдареАрдХ-рдареАрдХ GPT-2 рджреНрд╡рд╛рд░рд╛ рдЙрд╕ рддрд░реАрдХреЗ рд╕реЗ рдмрдирд╛рдП рдЧрдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдЧрд╛рдиреЗ рдмрд╣реБрдд рд╕реБрд╕реНрдд рд╣реИрдВ, рдпрджрд┐ рдЕрд▓реНрдкрд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рд╣реИрдВред "рд░реИрдВрдбрдо рдмрдирд╛рдУ" рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЖрдХрд░реНрд╖рдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ 25% рд╕рдВрднрд╛рд╡рдирд╛ рдЬреЛрдбрд╝реА рд╣реИ, рдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░реИрдВрдбрдо рдЧреАрдд рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЛ рдХреБрдЫ рдЧреАрдд рдорд┐рд▓реЗрдВрдЧреЗ, рдЬреЛ рдкрд╣рд▓реЗ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЙрддрд╛рд░рд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдЧрд╛рдИ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдореМрдХрд╛ рдмрдврд╝рд╛рддрд╛ рд╣реИ, рдХрд┐ рдЖрдк рд╕реАрдбреАрдПрди рдореЗрдВ рдпрд╛ рд╕реНрдореГрддрд┐ рдореЗрдВ, рдХреИрд╢реНрдб рдПрдХ рдЧреАрдд рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВрдЧреЗред


рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреНрд▓рд╛рд╕ рдореЗрдВ ASP.NET рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдКрдкрд░ рджреА рдЧрдИ рд╕рднреА рддрд░рдХреАрдмреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рддрд╛рд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


рдорддрджрд╛рди


рдорддрджрд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рд╣реИред рд╡рд╣рд╛рдБ рд╣реИ SongVoteCache , рдХрд┐ рддрд╛рд░реАрдЦ рддрдХ рд░рд╣рддрд╛ рд╣реИред рдФрд░ рдПрдХ iframe рдЧреАрдд рдкреГрд╖реНрда рдкрд░ рд╡реЛрдЯ рдмрдЯрди рдХреА рдореЗрдЬрдмрд╛рдиреА рдХрд░рддрд╛ рд╣реИ , рдЬреЛ рдкреГрд╖реНрда рдХреЗ рдЖрд╡рд╢реНрдпрдХ рднрд╛рдЧ - рд╢реАрд░реНрд╖рдХ рдФрд░ рдЧреАрддреЛрдВ рдХреЛ рдХреИрд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╡реЛрдЯ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ рдФрд░ рд▓реЙрдЧрд┐рди рд╕реНрдерд┐рддрд┐ рдмрд╛рдж рдореЗрдВ рд▓реЛрдб рд╣реЛрддреА рд╣реИред


рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо


рдЧреАрдд рдХрд╛ рдирдореВрдирд╛ рдмрдирд╛рдпрд╛


рдореЗрд░рд╛ рдиреЗрдЯрдЯреЙрдк рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдбреЗрдореЛ рд╕рдВрд╕реНрдХрд░рдг , CloudFlare рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд (рдЗрд╕реЗ рдХреБрдЫ рд╕реБрд╕реНрдд, рдЗрд╕рдХреЗ рдХреЛрд░ i3) рдЕрдм рдлреНрд░реЛрдЬрди рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ Azure App Service free tier рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА , рдЬрд┐рд╕рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рд╣реИ, рдФрд░ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдЪрд▓рд╛рдиреЗ рдФрд░ рдореЙрдбрд▓ рдХреЛ рдЯреНрдпреВрди рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВред


рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛рдПрдВ / рдЕрднреНрдпрд╛рд╕


рд╢реАрд░реНрд╖рдХ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ


GPT-2 рдлрд╛рдЗрди-рдЯреНрдпреВрди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдПрдХ рд╣реА рддрд░рд╣ рдХреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рд╢реАрд░реНрд╖рдХ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХреГрддреНрд░рд┐рдо рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рдЧреАрдд рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдирдореВрдиреЗ рдХреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдорд┐рдд рдпрд╛ рдкреНрд░рддреНрдпрдп рдХрд░рдХреЗ рдЗрд╕реЗ рдЧрд╛рдиреЗ рдХреЗ рд╢реАрд░реНрд╖рдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред


рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЦрд┐рддрд╛рдм рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рдФрд░ / рдпрд╛ рд╡реЛрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИред


рд╕рдВрдЧреАрдд рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ


рдмрд┐рд▓реА рд╕реЛрдВрдЧреНрд╕ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЖрдзреЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдорд┐рдбреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╢рд╛рдВрдд рд╣реЛрдЧрд╛ (рдпрд╣ рдПрдХ рдкреБрд░рд╛рдиреЗ-рд╕реНрдХреВрд▓ рд╕рдВрдЧреАрдд рдкреНрд░рд╛рд░реВрдк рд╣реИ, рдЬреЛ рдкрд╛рда рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд╣реИ, рдПрдордкреА 3 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ), рдФрд░ рдЕрдзрд┐рдХ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрди рдкрд░ GPT-2 рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВред ред рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рдореЗрдВ рднреА рдкрд╛рда рдПрдореНрдмреЗрдбреЗрдб рдерд╛, рддрд╛рдХрд┐ рдЖрдк рдХрд░рд╛рдУрдХреЗ рдкреАрдврд╝реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВ ред


рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдЧреАрдд рдкреАрдврд╝реА рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрд╣реБрдд рд╕рдВрднрд╡ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд▓ рдУрдкрдирдПрдЖрдИ рдиреЗ рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ рдореЗрдВ рдЙрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ ред рд▓реЗрдХрд┐рди, рд╣реБрд░реНрд░реЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд░рд╛рдУрдХреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛! рдореИрдВрдиреЗ рдкрд╛рдпрд╛, рдХрд┐ рдЙрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП http://www.midi-karaoke.info рдХреЛ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред


.NET рдХреЗ рд▓рд┐рдП рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдЙрд░реНрдл тАЛтАЛрдЯреЗрдВрд╕реЛрд░рдлреНрд▓реЛ


рдХреГрдкрдпрд╛, рдХрд┐рд╕реА рднреА рдЕрджреНрдпрддрди рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдХреЛ рджреЗрдЦреЗрдВред

Source: https://habr.com/ru/post/hi453232/


All Articles