«Извините, но вам придется закодировать Щелкунчика»
- четверг, 2 февраля 2023 г. в 00:45:29
Так и не попав на всем известный балет в декабре, мы решили организовать своего «Щелкунчика». Речь не о балете, а о первом в мире IT‑контесте по переводу сказки на Python, Go, C#, JavaScript и Java, задача которого звучала так: «Извините, но вам придется закодировать Щелкунчика».
Меня зовут Вадим Рощин, я деврел МТС Digital, и сейчас я расскажу о том, как это было.
Челлендж для разработчиков со всей России «Щелкунчик. Меньше слов – больше кода» длился почти месяц, с 20 декабря 2022 года по 14 января 2023 года, а среди участников были специалисты всех уровней – от джунов до сеньоров.
Более 1600 кодеров выбрали свой язык программирования и перевели текст в код.
Интересный факт: 20% от общего числа участников – девушки, а распределение по языкам вышло таким:
Python – 46,6% участников;
Java – 19,6%;
JS – 14,3%;
Go – 7,9%;
С# – 11,3%.
В итоге получился уникальный digital-образец – сказка «Щелкунчик», впервые в мире переведенная сразу на 5 языков программирования. Но просто сказка без картинок – это не дело, поэтому наши ребята из Центра искусственного интеллекта МТС проиллюстрировали книгу с помощью нейросети. Работает она на базе открытой нейросети Stable Difusion 2 с помощью разработанного МТС Telegram чат-бота MTS(AI) guided image diffusion bot.
Полная версия переведенного в код «Щелкунчика» доступна по ссылке.
Кстати, победители (всего их было пять) соревнования получили беспроводные наушники Sony и конструкторы LEGO (со Щелкунчиком, естественно), а все участники-кодеры обзавелись промокодами для бесплатной подписки на сервис МТС Строки.
Я поговорил с членом жюри и одним из победителей о том, понравился ли им опыт перевода сказки с человеческого на машинный и что было самым сложным в этом деле.
Эксперт
Как тебя зовут и где ты работаешь?
Даня, omyonic.com, преподаватель НИУ ИТМО.
Работы на каких языках ты проверял?
C#, Python.
Можешь поделиться инсайтами по процессу и работам участников?
Иногда удивлялся неожиданным решениям от участников. Многие из них пытались удивить не столько идеальным знанием своего языка или умением проектировать сложные системы, сколько общей оригинальностью и умением нестандартно взглянуть на задачу. Это здорово :)
Что оказалось самым сложным?
Непростым оказалось оценить работы, о которых я рассказал выше: с лёгкой ноткой безумия и нестандартным взглядом на задачу. Но было интересно.
Как считаешь, какое будущее у компьютерной лингвистики в целом и у таких переводов в частности?
Я считаю, что компьютерная лингвистика когда‑нибудь сотрет грань между общением с роботом и общением с человеком:) Но такие контесты останутся прекрасным способом развлечься и представить, как для машины выглядит процесс создания «связного» предложения, которое она отдает нам.
Участник
Как тебя зовут и где ты работаешь?
Денис, «Систематика Консалтинг».
Что побудило тебя участвовать в IT-контесте?
Задача показалась необычной и с новогодним контекстом, что совпало с настроением в конце года.
На какой язык ты переводил текст?
Golang.
Что было самым сложным в процессе перевода?
Уточнение задачи и формата передачи кода. Мне кажется, что было бы удобнее передавать его через гит, одним файликом невозможно передать структуру проекта, а она тоже могла бы отображать модель, и тесты потерялись. Но эксперты и организаторы помогли разобраться, как сделать лучше.
Сколько времени у тебя ушло на перевод?
Около 6 часов.
Доволен ли ты результатом?
Вполне доволен. Интересно моделировать систему, основанную на непривычной предметной модели. Кроме того, во время отладки были забавные моменты, например, когда Щелкунчик перегрелся и спалил Мэри руки.
Как считаешь, какое будущее у компьютерной лингвистики в целом и у таких переводов в частности?
Лингвистика анализирует результаты деятельности человека для определения неких фактов или для воспроизведения его деятельности. Задача же предполагала моделирование части обычного мира силами человека.
Сама концепция мне показалась очень интересной. Она позволяет отвлечься от привычного контекста (сети, БД, обычная предметная область и так далее) и моделировать мир, приближенный реальному. При этом код получается максимально близким к идее, этакое чистое программирование. Интересно наблюдать поведение модели.
IT‑контест получился не просто развлекательным, но очень современным и актуальным, ведь, по сути, перевод текста в код — это про компьютерную лингвистику, которая лежит в основе обучения искусственного интеллекта.
На специальном вебинаре вместе с экспертом из ВШЭ Борисом Ореховым мы потестили трендовый сейчас ChatGPT и хакнули его (спойлер: даже нейросеть не знает «что говорить девушке на первом свидании»). А на финальном code‑review гендиректор MTS AI Александр Ханин рассказал, за какими трендами в сфере AI стоит следить каждому и чего ждать от искусственного интеллекта в будущем.
В общем, движ всем понравился, и мы уже думаем над новыми идеями. Чтобы не пропустить соревнования от МТС — следи за новостями в нашем блоге на Хабре. Есть еще один способ — приходи к нам на работу :)