Нейросетевой генератор фанфиков, или Порфирьевич по-Эквестрийски
Приветствую всех и каждого! Сегодня выходит в общий доступ SweetieBot Writer! Это нейросеть на основе Порфирьевича, переобученная почти на гигабайте фанфиков, и способная писать пони-текста вместе с пользователем.
Что это такое и как оно работает?
В первую очередь, немного о нейросетях. Нейросеть — это предсказывающая модель, способная, например, на основе предыдущих слов предсказать, какое будет идти дальше. Нейросети могут предсказывать практически что угодно. Какие ноты будут в песне или как должно выглядеть лицо человека. Эти зависимости она выучивает на основе огромного числа данных, учась имитировать их. Такой подход не даёт истинного понимания вещей машине, но позволяет ей так точно выучить зависимости, что порой результаты её работы превосходят даже человеческие.В последние годы особенно яркие успехи совершались в области генерации текстов. Особую популярность среди текстовых моделей обрела GPT-2, нейросеть, созданная OpenAI на основе архитектуры Transformer. GPT-2 впервые смогла генерировать целые страницы связного текста. Вскоре стали появляться многочисленные разработки на её основе. В России среди них особенно выделяются Порфирьевич от Михаила Гранкина, Балабола от Яндекса и ruGPT-3 от Сбера. Когда год назад начиналась работа над Свитиботом, как основу я взял Порфирьевича, ибо других моделей тогда ещё не было.
Так что вышло-то?
Порфирьевич способен генерировать текст на русском, но он понятия не имеет ни об Эквестрии, ни о пони, ни о лучшей Принцессе — Луне. Поэтому мне нужно было дообучить его при помощи текстов о пони. К счастью, крупный корпус таких текстов лежал прямо под рукой. На самом деле, текстов оказалось так много, что это может быть одним из крупнейших дообучений текстовой нейросети на русском.Получившаяся нейросеть способна продолжать текста так, словно они были бы фанфиком про поняшек. Она способна служить механическим соавтором, генератором идей или просто приятным развлечением на вечер. Достаточно ввести свои слова и позволить Свитиботу творить за вас. Результат можно с лёгкостью редактировать, если какой-то кусочек вам не по душе или есть иные идеи — и вновь передать перо и чернила сети.
Вот некоторые примеры работы нейросети. Курсивом выделены мои слова, остальное — написано Свити.
Битва с НайтмерНайтмер Мун готовилась к бою. Бесчисленные арканные построения шестиконечной звезды протянулись по всей арене. Дискорд и шесть элементов гармонии заняли позиции на поле. Найтмер Мун кровожадно ухмыльнулась: Маленькие пони были в ловушке под светом луны.
Смахнув упавшие на глаза пряди, она приготовилась к удару. Рог засиял, когда атакующее плетение окутало барьер Твайлайт. Это заклинание было простым, но Твайлайт была уверена, что мощь Найтмер вот-вот сломит её слабую защиту и тогда она погибнет. С каждой секундой её уверенность в победе исчезала, с каждым шагом, с каждой секундой.
Наконец, она услышала звук первого выпада Найтмер и щит Твайлайт разбился. Богиня Ночи стояла прямо перед ней с сияющим рогом, готовая обрушить свой гнев на беззащитную жертву. Она не спешила, наслаждаясь победой.
Твайлайт тяжело дышала, её копыта тряслись. Ей было стыдно за свою слабость и за то, что она так бездарно потратила свое время на подготовку к бою. Она была уверена, что Селестия хорошо подготовила её к этому бою, что оно будет захватывающим. Но она была абсолютно не готова к тому, что Найтмер будет настолько невероятно могучей…
Пинки Пай подпрыгнула над головами зрителей, приветствуя Найтмер Мун! Все удивлённо ахнули и Пинки рванулась к своей богине, чтобы приветствовать её во второй раз.
Город тенейДве высокие, в десятки роста пони скалы нависали над единорожкой. Она подняла голову в надежде увидеть голубую полоску неба, но нет — только тяжёлая пелена сизо-чёрных облаков. Молния на миг ослепила пони. Секунду спустя воздух потрясло низкое рокотание грома.
Молния закончилась и больше не озаряла мглу. Послышался пронзительный вой. Земнопони судорожно вздохнула, зажмурившись и содрогаясь всем телом.
— Твайлайт! Твайлайт! — эхом пронёсся над скальными исполинами женский голос, — Твайлайт! Твайлайт!
Как оказалось, этот голос принадлежал не менее удивительному, нежели сам скала, существу. Он то и дело прокатывался по пещере тяжёлой поступью, и когда отзвук его шагов стихал, пещеры снова становилась неподвижной.
Единорожка распахнула глаза. Она лежала на каменном полу у стены. Рядом стояла угрюмая фигура в плаще и с грозовой тучей в магической хватке. На боку был закреплён какой-то массивный ящик.
Наступала ночь. Больше Элементов Гармонии здесь не было. Принцесса Селестия оборвала всё связанное с ними. Теперь всё было кончено.
Сгущалась тьма, погружая пещеру во тьму. Твайлайт настороженно смотрела в направлении двери, услышав тихий цокот копыт. Их источник находился около двери. Человек подошел ближе и заглянул внутрь: он был небольшого роста, худощавый, с длинными чёрными волосами, собранными в конский хвост, и чёрными же глазами. Его морду нельзя было назвать хищной, но оно и понятно: человек был укутан в плащ, лицо же было скрыто под капюшоном. Глаза у него были зелёные, как огонь, и сузились ещё сильнее, когда он посмотрел на единорожку.
«Спайк», — пронеслось у Твайлайт в голове.
— Кто ты? — прошептала она, напряжённо глядя на него.
Человек ответил не сразу, он постоял ещё немного, всматриваясь в её душу. Наконец, он сделал шаг вперёд.
— Твайлайт Спаркл. Твоё имя?
«Дракон».
— Оно… странное, — задумчиво произнесла единорожка.
— Ты ещё не знаешь, что это так. А потому…
— И ты помнишь? — добавила Твайлайт, чувствуя озноб.
— Да, я помню то, что было раньше. Но теперь я тебе расскажу всё.
Единорожка не поверила ему. Откуда ему знать, что было раньше и что есть сейчас? Да и разве можно верить кому-то, после того, что с ними случилось? Нет, она доверяла Спайку, но ведь это вовсе не значит, что она поверит и ему тоже.
— А… что такое «город теней»?
— Город теней? Это трудно объяснить. Это место, где обитают жуткие существа, созданные из призраков и воспоминаний. Они не участвуют в нашей жизни и ни в чьей; они никто для нас. Но всё же некоторые рассказывают, что здесь можно найти...
Если заинтересовало, самостоятельно потыкать нейронку можно туть: sweetie.tech
Весёлого машинного творчества!
Благодарности
- Товарищу Орхидеусу за значительную материальную и моральную поддержку, без которой этот проект был бы невозможен.
- Alex Wortega за предоставление столь необходимых GPU-мощностей.
- Kviksi за создание милейшего маскота.
249 комментариев
И как успехи?
«Ну вот, теперь мы точно в кафе» — подумал Флим, глядя на Спайка.
Дракончик был счастлив. Он теперь знал, что его мама — самая красивая пони на свете! И имя ей Оранж Клауд.
Флим и Спайк сидели и завтракали. Мама Спайка очень тепло оделась. Оранж Клауд сказала:
— Я пошла, а то еще опоздаю. И до свидания Спайки-Вайки.
— До свидания мам.
— Проваливай подобру-поздорову!
И Оранж Клауд ушла.
— Ух-ты! Флим, ты хитрая единорожья морда, тоже проваливай. Это моя мама! – крикнул ей вслед дракончик, после чего посмотрел на Флима и понял, что он не дракон,а боевой вертолет Ка-52 «Черная акула».
В этом вертолете сидели четыре вооруженных до зубов головореза, которые все время следили за
Второй, я не стал читать.
К сожалению, работающий поиск на «Табуне» отсутствует как класс и пост найти уже не выходит, но я до сих пор помню порванную в клочья Скуталу с вытаращенными глазами, понек с ресницами в промежности и прочих монстриков, которых оно генерировало…
tabun.andreymal.org/blog/169934.html
Там было ещё минимум два таких же, с ещё более упоротыми монстриками, но сегодня уже спать охота, завтра поищу.
Я где-то давненько уходил, года полтора назад вернулся в фандом. Решил вот поделиться, что наделал
А чего уходил то? И что заставило вернуться?
А вернулся, тому что на карантине стало скучно, решил тряхнуть старинной и прочитать пару фанфиков, потом новых, потом попал в чятики с поняшами… И воть, уже врос. Появились друзья из сообщества и даже кой-что поближе...
Карантин неожиданно объединяет людей. Видимо тряхнул хорошо :). Ну и тем лучше. Тем более скоро новое поколение.
Друзья это всегда прекрасно :). В смысле кой-что поближе? Как-то это немного неодушевлённо звучит не находишь ))?
Да уж, но думаю, многих сильно тряхнуло. А новое поколение… Даст Луна, и правда будет хорошим. Ну, поживём-увидем :)
Я всегда был косноязычным >_<
Красноязычным стесняшем?
ТыкВ Понивилле всегда солнечно и тепло, а пони идут по своим делам и никто не мешает им наслаждаться этим ласковым временем. Солнце и в правду согревает этот мир своим теплом даже в самые холодные ночи.
Я не могу сказать, что я не скучаю. То что я видела и слышала в поезде было очень похоже на сон что мне приснился. Просто после пробуждения в первый день в новом мире я чувствовала себя не очень хорошо. Но пони же все равно знают обо мне и любят меня, а это значит что они меня будут любить. По крайней мере я надеюсь что любят.
— А куда мы едем? — поинтересовалась я у Твайлайт.
— Мы едем в Понивилль, я думаю тебе понравится этот город, — неуверенно произнесла Твайлайт.
— Правда? — я открыла свои глаза и увидела ту самую зеленую пони с кьютимаркой в виде семи цветов.
— Ну не могу же я показать тебе каждый дом в городе, ведь там живут мои хорошие подруги, — неуверенно произнесла Твайлайт.
— Они такие классные пони, — я улыбнулась, и мы пошли к понивилльской ратуше.
— Я так понимаю ты сейчас испытываешь моральный дискомфорт от того, что я показала тебе этот город? — Твайлайт немного засмеялась. — Ты меня правильно поняла, я не осуждаю тебя за то, что ты увидела это место. Тебе сейчас не место в этом мире.
— Если бы я была с тобой если бы я знала, что этот мир на самом деле существовал, то я бы ни за что не приехала сюда, — я произнесла эти слова с грустной ноткой в голосе.
— Я понимаю тебя и думаю ты скоро это поймешь.
— И все равно, это очень странное место, и оно словно сон. Я не могу представить что здесь все настолько… обыденно.
— Но как же ты еще не перестала
Я всё это время с ужасом слушал о тех временах, и мне было страшно – как им будет тяжело в это верить, и как они устанут от своей беспечности, что ждёт их впереди, и что стучится сзади, с чёрного входа.Я не хотел верить, что такое могло произойти. Но тем не менее, это произошло, и мы с ужасом ждали продолжения этой истории. И оно не заставило себя ждать: рассказ был продолжен – причём весьма интересным и интересным.
После этого я больше никогда не использовал для написания фанфиков нейросеть. Слишком уж много смертей было связано с ней и нейросетью в целом, и я просто сдался. Конец.
Эта нейросеть любит две вещи: писать истории и убивать. И историю она уже написалаА если серьёзно, то забавная штукенция, так держать ^^
— Не, у нас в подвале этот… ну, как бы его называют… был, — ответила Скуталу, — подвал, во!
— Вот как? А я и не заметил! — удивился я. — А я не знал, что в вашем подвале еще есть подвал.
И что плохого в гротеске с действительно человечными роботами, решающими человеческие же проблемы?
Лифт резко остановился, в результате чего Харон начал падать на пол, с грохотом ударившись затылком об пол лифта. Балансируя на двух копытах, он не мог даже поднять голову, чтобы разглядеть свою подругу. Да и он был бы не в состоянии поднять голову, если бы не её фигура. Спереди красовался очень большой рог со светящимся синим рогом, а по бокам два крылышка с красноватым оперением. Но самое странное было то, что её тело в буквальном смысле состояло из плоти и крови.
— Ты до сих пор жива, — произнес Харон, не отрывая взгляда от пони, — даже без магии.
— Я сделала то, что должна была сделать… — прошептала кобылка, стараясь спрятаться от взгляда Харона.
— Я слышал, что ты сделала! — не унимался он.
Пони не переставала дрожать. Её тело было похоже на невероятно толстую кость, покрытую множеством мелких волосков. Но самое главное — у пони был рог. Длинный и полый рог с двумя короткими рожками.
— Что ты сделала? — вновь спросил Харон.
— Я … не должна была… — прошептала пони, чувствуя, что её тело слабеет.
— Ты могла спасти всех остальных!
— Я… — снова начала пони.
— Ты могла себя спасти!
— Я… не знаю… — едва смогла произнести пони.
— Ты что, совсем слепой? Ты видела это, видела!
— Я… — кобылка замолчала на полуслове.
Её глаза были закрыты. Пони попыталась что-то прошептать, но не смогла, так как рот был забит толстым слоем стали.
— Все остальные были в опасности! — прокричал Харон, приближаясь к пони. — Ты могла всех спасти!
— Я не… — пропищала пони.
И вдруг Харон закричал так громко, что по всему комплексу эхом разнеслись его слова:
— Я НЕ ХОЧУ СЕЙЧАС, ЧТОБЫ ВЫ ВСЕ УМРАЛИ!
Прокричав это, он занес своё оружие над головой и начал медленно идти в сторону пони. Ещё пару мгновений и его лезвие наносит свой удар, но ни лезвие, ни пони не почувствовали никакого движения. Харон сделал ещё один шаг вперед и внезапно замер.
— Что… что случилось? — дрожащим голосом спросила пони.
И в этот момент из пола начала вылезать лестница. С каждой ступенькой медленно появлялась фигура пони. Небольшая фигурка жеребца, но голова его была полностью покрыта металлической пластиной, а копыта были усеяны множеством мелких механизмов. Из пола вырастали новые детали, и всё больше деталей появлялось за спиной пони — но в этот раз даже не было слышно ни звука, лишь крики Харона эхом разносились по всей башне.
Харон не двигался. Его тело было неподвижно. Пони начала медленно подходить к монстру, и через несколько мгновений она уже стояла прямо перед ним. Монстр медленно поднял голову. Глаза пони были широко раскрыты от ужаса.
— Харон… — прошептала она. — Что происходит? Что ты здесь делаешь?
— Что ты здесь делаешь? — взревел монстр, поднимая копыто с блестящей стальной перчаткой. — Ты понимаешь, что ты натворила?
Спасибо за такое развлечение: тексты получаются достаточно адекватными, чтобы не устать от потока машинной шизофазии и продолжать играться. А ещё они смешные.
Удачи в дальнейших проектах, поняшных и нет!
Поделюсь, что ли, нашим лучшим результатом.
Пинки Пай могла съесть двадцать шесть пирогов с клюквой и зефиром. Но однажды ей бросили вызов.Пинки Пай могла съесть двадцать шесть пирогов с клюквой и зефиром. Но однажды ей бросили вызов.
— Славно, что ты помогла, Пинки Пай. – Соарин потер копыта друг о друга. – Даже не знаю, как я этому рад, но не думаю, что это нужно упоминать.
— Мы можем называть тебя Дэном? – Спросила Пинки Пай.— Твоё имя слишком сложное.
— Я не возражаю, — сказал Соарин. – Тем более что оно звучит как мое настоящее имя.
— Звучит как «пегас», «единорог» и «земной пони» сразу. — Сказала Пинки Пай.
— Пинки Пай, это жеребец! – Крикнула Дэш.
— Что!? – Удивленно произнесла Пинки.
— Твой брат-близнец? – Спросила Рэйнбоу Дэш.
— С какой стати? Это Дэн, он может съесть тридцать пирогов с клюквой и зефиром. Я горжусь Дэном. — Сказала Пинки Пай.
— Ты… Ты… Ты сказала...? – Рэйнбоу Дэш стояла в шоке, пока её копыта не коснулись пола.
— Я видела тебя. – Сказал Соарин.
Рэйнбоу Дэш еще раз посмотрела на Соарина. Этот пони вызывал лишь жалость и смех, а ведь когда-то Рэйнбоу Дэш уважала его.
— Я… Я не хотела…
— Я не виню тебя, Рэйнбоу Дэш. – Сказал Соарин. – Я сам не всегда понимаю почему так много пирогов полезает мне в рот.
— Соарин, это не мое решение. Я просто не хотела тебя обидеть.
— О, не вини меня, Рэйнбоу Дэш. Я этого и сам не всегда понимаю.
— Соарин, а как тебя зовут? – Спросила Пинки
— Великая Трикси может спать где угодно! – рявкнула она, пока мои ноги пытались слезть с кровати.
— Великая и Могучая Трикси не потерпит возражений!
Я быстро выглянул за дверь. Наш уютный номер был под номером 22, так что наши с ней комнаты находились в противоположных концах коридора.
— Ну ладно…
Я взял свою кровать и вышел из комнаты. Трикси проводила меня взглядом, а затем вздохнула и поплелась за мной.тоже неплохо вышла.
А вообще кроме шуток, такие сети можно использовать в качестве генератора идей. Или если при написании фика затык возник, когда вроде и знаешь о чём писать, но вот застрял на какой-то фразе. Просто скормить сетке последний абзац и пощёлкать продолжениями, пока в собственной межушной нейросети нейроны не выйдут из ступора.
СпойлерМир через расколотые грани кристалла. Расколотый мир через грани навечно отвердевших глаз. Сколько веков он предстаёт перед нею в красных тонах, словно объятый бессмертным пожаром. Лишь в её пробуждающихся на краткий миг воспоминаниях мир представал таким, каким он был на самом деле. Из давно остекленевших глаз, покрытых сетью трещин, скатились застывающие в кристалл слёзы. Богиня вздохнула. Боль и упоение безграничной мощью разрывали её на части. И так хочется спать. Закрыть глаза и забыть обо всём. Отпустить сжимаемую в сердцах силу и окунуться в вечный сон. Такой же вечный, как и её жизнь. Вдохнуть свежий ветер долин. Коснуться копытом прохладной воды. Ощутить во рту не горечь раскалённого металла и обращающийся в пепел камень, а свежий сок из ягод и маслянистую мякоть орехов.
А так да, что удалось вбить сетке в бошку во время обучения, то она более или менее помнит, а вот с новым — беды
Но одну фразу при этом на чистом английском я получил
Консервная банка :D
Написана лишь первая фраза до первой скобки, а всё остальное сгенерировано и выглядит как попытка в переводI said nothing and, more importantly, look just right at her eyes(И глядя на её глаза, я не заметил никаких следов вмешательства).
— If you want of course — she' s really been asking you what you doing with her(Если вы хотите, чтобы она сама могла ответить на этот вопрос)
— No. Is just it invited to here? (Нет, просто подумал… «Эй, ты ведь здесь» означает здесь — здесь и далее: «я действительно не знаю».)
— Oh, I will think it was important to do what I' ve seen (О, я буду думать… «Что я увидел».)
—
Написана только первая строчкаEnglish, motherbucker, do you speak it?
— Я не понимаю вас и не стану говорить с вами…
— Can I pick you because I can? — это был тот самый странный голос, который я слышал прошлой ночью.
— Только если я заплачу... — ответил я незнакомцу.
— О-о, даже так, думаю, я смогу заплатить... — он повернулся и стал осматриваться, прежде чем внезапно резко подпрыгнуть и бросить в мою сторону какой-то странный предмет. — Ай! Не трогай его... — сказал незнакомец и исчез в темноте, оставив после себя лишь странный красный шарик в моей сумке.
Я всё ещё стоял с раскрытым ртом.
—
— Домой? – повторил жеребенок. – Я ещё не готова. Что мне нужно делать?
— Встань, — сказал он, указав копытом на стул.
Малышка послушно послушалась. Он подошёл к столу и налил ей из графина стакан воды. Жеребец подождал, пока она его выпьет, и сел обратно на своё место.
— Вот теперь можно, — сказал он, поставив стакан на стол. – Попробуй покормить свою хозяйку.
— Кого? – спросила маленькая пони.
— Свити Белль.
Малыш кивнул и осторожно сел на стул, держа передние копыта у себя на коленях. Он медленно опустил ноги и поднял голову.
— Я хочу, чтобы ты посмотрела на меня, — сказал Фебр.
Маленькая пони неуверенно посмотрела на жеребенка, и он медленно кивнул ей в ответ.
— Вот так, — сказал он. – И ещё раз, когда ты смотришь на меня, просто позови меня. Если ты чувствуешь это, значит уже готова.
— Хорошо, – сказала Свити Белль.
Жеребенок встал на свои копыта и пошёл к шкафу. Там стояла его миска, полная свежих фруктов, и маленькая пони поспешила за ним.
— Вот, — сказал он. – Я подумал, что тебе не помешает поесть.
Свити Белль положила на стол свой обед. Жеребенок был прав – он был просто объеденье, так что она решила попробовать угощение.
— Ты не хочешь яблоко? – спросил он.
Малышка кивнула и подняла один из фруктов. Она осторожно взяла его зубами и стала осторожно жевать.
— Это же сладкий фрукт, – сказала она. – Давай я сейчас попробую еще раз.
Жеребенок снова кивнул, и Свити Белль снова осторожно взяла яблоко. Она попробовала ещё раз и с улыбкой до ушей съела его.
— Нет, это ещё вкуснее, — сказала она. – Ты хороший отец.
Жеребенок слегка кивнул и улыбнулся.
— Вкусный, – сказала Свити Белль. – Спасибо, папа.
— Не за что, — сказал жеребенок. – Теперь иди и поиграй.
— Хорошо, — сказала малышка. – А кто это такой?
— Ты ведь не слышала о Винтер Гейле? – спросил жеребенок.
— Нет… — растерянно произнесла Свити Белль.
— Винтер Гейл? – переспросил жеребенок. – Это жеребец, который вечно ходит по облакам.
— Он не ходит по облакам, — сказала маленькая пони. – И вообще, кто он?
— О, он хороший жеребец.
— Он никогда не говорит мне, кто он и где он живёт, – сказала Свити Белль. – А что ты делаешь на облаках?
— Он летает по небу, — сказал жеребенок. – Когда он сказал, что у него есть дома семья, я подумал, что он хочет, чтобы я встретил их, чтобы у нас было больше друзей.
— А как он летает? – спросила Свити Белль. – У него же нет крыльев.
— Ну, он умеет создавать их. Просто когда он вырастет, он сможет летать, – сказал жеребенок. – А теперь иди и поиграй, пока папа не вернулся.
— Хорошо, — сказала Свити Белль и пошла к своему игровому автомату.
Она взяла свою карточку и села, стараясь не смотреть на то, что написано на ней.
«Личная ученица Принцессы Селестии. Вот кем я буду. И я, кажется, знаю, кто такая Принцесса Селестия».
Вдруг в голове Свити Белль что-то щелкнуло. Она встала и подошла к столу.
— Где же ты был, — тихо произнесла она.
Маленькая пони посмотрела на жеребенка, который сидел за столом. Тот всё это время молча смотрел на нее.
— Зачем ты закрыл свою дверь? – спросила она.
— Я услышал шум и решил, что мне показалось, — сказал жеребенок. – И потом, зачем ты взяла с собой эту карточку?
— Это моя карточка, — сказала Свити Белль, указывая на карточку. – Она с надписью, где написано, кто я и где я.
— Понятно, — сказал жеребенок, снова посмотрев на карточку. – Тогда зачем она тебе?
— Чтобы играть с тобой.
— А разве в этом нет ничего плохого?
— Как ты мог такое подумать? Я не имею в виду ничего плохого. Просто я хочу, чтобы ты поиграл со мной.
Жеребенок немного подумал, и улыбка появилась на его лице. Он встал со стула и подошел к маленькому жеребёнку, который радостно смотрела на него.
— Я не могу, — сказал он. – Не могу в это поверить! Это же невозможно!
— Почему же нельзя? – спросила Свити Белль. – Ведь я – твоя дочь, так что все это не может быть реальностью.
Жеребенок подошел к ней и ласково потрепал её по гриве.
— Я люблю тебя, маленькая пони, — сказал он. – Я буду скучать.
— Я тоже, папа, — сказала маленькая пони, и жеребенок тоже обнял её.
— Увидимся дома, — сказал он. – Мы будем ждать тебя.
И он снова двинулся к двери, но на этот раз он решил сначала надеть свою куртку. Маленькая пони последовала его примеру.
— В эту игру ты не можешь играть в своей куртке без меня, — сказал жеребенок. – А у меня дома есть теплая одежда.
— Значит, мы будем играть в моей куртке? – спросила Свити
С третьей… если не задумываться о прогрессе, то получается шуточка про «поддельные ёлочные игрушки — выглядят как настоящие, но радости от них никакой».
И с четвёртой — появление таких программ каждый раз вызывает комментарии в стиле «авторы больше не нужны», что напоминает о том, что авторов в нашем фэндоме становится меньше. И огромное количество фанфиков висят заброшенными, потому что у автора сменились интересы\кончилось свободное время\пропало желание писать\ушло вдохновение…
Нейросеть, к сожалению, не способна на то, за что я чрезвычайно уважаю всех авторов — на придумывание сюжета. И не будет способна до тех пор, пока не станет как минимум равной человеку по разумности. А тогда у нас будут уже другие проблемы.
Но в любом случае — очень забавно, большое спасибо, NightPony!
Кстати, я тут решил с помощью этой нейросетки сюжет под G5 придумать.
Вот такАннотация. Времена Твайлайт Спаркл давно миновали, магия покинула Эквестрию. Но последние три столетия мир жил привычной жизнью. Иногда, правда, ссорились между собой… Но в целом всё было в порядке. И жили пони, как и раньше. Но теперь появились те, кто будет нарушать мирный ход вещей. И кто-то должен будет остановить этих “ разрушителей”. И даже если один из этих пони не справится, кто-то должен сделать всё для того, чтобы не повторились печальные события. Хотя бы во имя дружбы и гармонии. И поэтому я должна выполнить поставленную задачу. Но к сожалению не смогу помочь вам даже в этом. Во всяком случае, сейчас. Я буду наблюдать за тем, что происходит в мире. И если кто-то ещё решит нарушить гармонию этого мира, я тотчас же сообщу вам.
– Вау! Это невероятно! Я и не знала, что ты такая сильная. Как ты это делаешь?
– Ну это долгая история. Но скажу одно: я стараюсь изо всех сил. – с этими словами она улетела.
Вот и сравним, дотянет ли по «дружбомагичности» сюжет G5, созданный людьми, до творения этой нейросетки.
Ну а вообще такие сети — это не заменитель автора, а очень мощный бустер, ускоряющий его работу и позволяющий сгенерировать новые интересные идеи.
Поэтому, невзирая на все шутки про роботов, которые забрали нашу работу, это лишь шутки и не более. Аргумент «так и не всякий кусок мяса на такое способен», конечно же, остаётся в силе, но всё же — на мой взгляд — куда более актуален для любительщины. У профессионалов с этим всё по-прежнему намного лучше.
Ультимативно машины может быть и заменят писателей когда-нибудь в будущем, но качественный хендмейд по-прежнему будет более чем востребован и после этого (если только мы не сольёмся с машинами в сингулярность, не вымрем и не деградируем до состояния обезьян).
, которые мирно дремали.
— Твайлайт? — послышался голос Луны из гостиной. Она левитировала перед собой книгу и наблюдала за Спаркл из-за нее чуть ранее, но, кажется, больше не могла смотреть, как Твайлайт с теплой улыбкой наблюдала за бесчинствами дракона.
— А, Луна, привет, — приветствовала единорожка принцессу ночи.
— Я принесла тебе книгу, — сказала Луна.
— Я и не знала, что ты следила за мной, — сказала Твайлайт, глядя на книгу.
— Я не могла упустить шанс рассмотреть тебя вблизи, — сказала Луна.
— Ты всегда наблюдательна.
— Твайлайт, а почему мы ушли из жанра абсурда в фемслэш?
— Это произошло из-за, — начала Твайлайт, глядя на книгу перед собой, — воспоминаниями о посещении Клаудсдейла.
— А откуда ты знаешь, что я была у Рэйнбоу Дэш?
— Я увидела твое имя на афише, когда шла к мэру. Ты там была!
Луна оторвалась от книги и посмотрела на Твайлайт.
— Сие наглая ложь… — пробормотала принцесса ночи, вспоминая ту нелепую картинкус пони, летающей в небе.
— Все в порядке, — успокоила ее Твайлайт, — ты была великолепна.
— Это слишком грубо, — ответила Луна.
— Ничего страшного, — улыбнулась сиреневая аликорни улыбнулась. — Ты отлично смотрелась в зале.
— Я тогда все еще была в том отвратительном наряде! — Твайлайт прыснула, вспоминая ЧТО надела принцесса ночи
— Рэрити бы упала в обморок от такого!
— Упс, прости, что я врезалась в тебя.
— Ничего страшного, — сказала Луна, но тут же нахмурилась. — Что за одежда?
— Я надела костюм по случаю своего первого бала, но я была еще слишком юна, чтобы его носить.
Луна открыла рот от удивления.
— Хм... — подумала она, затем быстро закрыла его.
— Так ты купила платье?
— Да, — ответила Твайлайт. — Оно было восхитительным.
— Что за театр?! — спросила принцесса ночи, заметив Спайка, спускающегося с лестницы. — Спайк!
Дракончик не ответил, лишь продолжал нестись вниз по лестнице. Луна подбежала к нему и остановила, что-бы дракончик не сломал себе ноги.
— Твайлайт, что ты делаешь?! — воскликнула она, ее тон сменился на суровый.
— Ничего страшного, — сказала единорожка.
Луна попятилась, словно Твайлайт ударила ее.
— Твайлайт, послушай меня! Ты превратила мою библиотеку в посмешище! — крикнула Луна.
— Ну извини, я не хотела,- скромно сказала Твайлайт.
— Я сказала! — крикнула Луна.
— Я ничего такого не имела в виду!
Луна зарычала, ее тон стал другим.
— Ты хоть понимаешь, что ты творишь?! Я уже говорила, что ты плохая пони, Твайлайт. Я говорила тебе, что ты плохая пони!
— Я не плохая пони, я просто…
— Ты хотя бы пыталась помочь мне? — спросила Луна, ее голос был все еще мягким.
Твайлайт снова вздохнула.
— Луна, послушай, — Твайлайт повернулась к принцессе ночи, — то, что ты сказала — это чистая правда. Я не хотела тебя обидеть.
— Да, я знаю, что ты расстроена, — произнесла Луна, — но ты мне уже все сказала и я тебе не верю. Ты решила, что если ты начнешь сеять зло в Кантерлоте, то это поможет мне? Ты хотя бы понимаешь, что Селестия наложила на все города заклятие? Ты хоть представляешь, что может сделать одна плохая пони?
Луна не ответила. Она развернулась и улетела наверх.
— Я все еще не могу поверить, что она мне поверила, — сказала Твайлайт.
— Луна, почему ты так реагируешь?
— Просто не хочу, чтобы Селестия была недовольна. Мне пришлось принять меры, чтобы предотвратить ее гнев, — ответила Луна, приземлившись перед библиотекой. — Я тоже плохой пони, но ты не заслуживаешь того, что я тебе сказала.
— Мы на месте… — аликорн тяжело дышала, а Твайлайт силилась найти в себе силы взглянуть на свой город.
— Это Сплетение, — после минутной паузы объявила Луна.
Город выглядел точно так же, как и в момент их первой встречи – огромные разрушения, огромные трещины, обрушенные здания, гигантские воронки. В целом же выглядело оно относительно целым ковром.
— Что это такое? — спросила Твайлайт, но Луна быстро направилась к центру и исчезла во вспышке света.
— Это… Это… — Селестия не знала, что и сказать.
— Это город? — спросила Твайлайт.
— Город в Сплетении, — вздохнула Селестия.
— Что вы имеете в виду? — нервно спросила Твайлайт.
— То, что ни ты, ни я не стали первыми его жителями, — Селестия вздохнула. — Мы пришли сюда, чтобы остановить Найтмэр Мун, и ты прекрасно знаешь, что это было не так.
— Он уже уничтожен, — ответила Луна, на мгновение показав себя, словно призрак, в лунном свете.
— Что значит «уничтожен»? — Твайлайт озадаченно посмотрела на принцессу ночи.
— Всё, что было в городе, мертво, — ответила Луна. — У него забрали почти всё его содержимое.
Селестия не знала, что и думать.
— Луна, как давно это случилось?
— Примерно полторы тысячи лет назад, после того как я осталась без наследника, — Луна посмотрела на Селестию. — Теперь Найтмэр Мун и Дискорд вернулись…
— Не совсем, — тихо произнесла Селестия. — Дискорд вернулся не сам, а был пойман Найтмэр Мун, как и ожидалось.
Луна опустила голову.
— Я не уверена, что мы справимся, — она посмотрела на Твайлайт. — Ты понимаешь, что это за место?
— Я не понимаю, — произнесла Твайлайт. — Почему все разрушено и похоже… на ковер?
— Он был уничтожен, когда мы попали сюда, — ответила Селестия.
Селестия снова вздохнула.
— Луна права, — пробормотала она. — Это не то же самое место.
— Не совсем так, — Луна посмотрела на Твайлайт. — Дискорд не позволяет нам вернуться назад.
— Что? — Твайлайт быстро посмотрела на принцессу ночи. — Как такое возможно?
— Именно так, — Луна вздохнула. — Дискорд использовал Элементы Гармонии разрушив наши души и разорвав наш разум.
— Он забрал Элементы Гармонии, чтобы победить Найтмэр Мун, но сделал это совершенно бездумно. Он превратил нас в философских зомби, и теперь город разрушен. — сказала Селестия.
Луна покачала головой.
— Мне очень жаль, Твайлайт.
Твайлайт ничего не сказала. Она просто смотрела на разрушенный город, но не знала что думать.
— Я тоже сожалею, — произнесла Селестия. — Луна, мне нужно, чтобы ты переместила нас туда, где раньше была Найтмэр Мун. Нам нужно найти Элементы Гармонии и помешать ей снова вернуться в мир живых.
— Это невозможно, — ответила Луна. — Её здесь нет.
— Ты в этом уверена? — спросила Селестия.
Луна не ответила, но её рог засветился. Рог Твайлайт тоже засиял – принцесса дружбы попыталась зажечь рог, но не смогла. Она посмотрела на Селестию и не увидела там ничего.
— Нужно проверить, — произнесла Селестия. — Я должна телепортироваться туда.
— Это невозможно! — крикнула Луна.
— Нет, Принцесса, это не сработает, — Твайлайт смотрела на то, как рог Селестии начинает светиться всё ярче. — Мы не можем переместиться.
Селестия сделала шаг вперёд и её рог снова засиял ярким светом, она посмотрела на Луну и медленно подошла к ней. Луна выглядела такой же отрешенной, как и Селестия, но в её глазах отражался странный блеск.
Твайлайт почувствовала, как её сознание наполняется энергией. Она чувствовала, как её сердце забилось сильнее; сила стала собираться вокруг неё, накапливаясь в центре.
— Ты знаешь, что нужно делать, — произнесла Селестия. — У нас есть не так уж и много времени.
Твайлайт закрыла глаза, сосредоточившись.Как только она почувствовала, что силы вернулись к ней, она почувствовала, как весь её мир окутывает магический свет.
Свет был светил как солнце, и он был настолько яркий, что ослепил её. Мир вокруг начал быстро вращаться, и вскоре Твайлайт снова оказалась на копытах рядом с Луной.
Вокруг принцессы ночи и Твайлайт было видно голубое небо.
Твайлайт и Луна открыли глаза и увидели знакомый голубой Понивилль, но при этом они не могли вспомнить ни его названия, ни города. Ни одна из них не могла вспомнить даже своего имени – у Твайлайт не было имени.
— Что происходит? — спросила Твайлайт.
Селестия посмотрела на неё.
— Мы всё ещё в Сплетении. Дискорд использовал Элементы Гармонии, чтобы переместить нас в место, где раньше был город.
— Так мы снова в том же городе? — спросила Твайлайт. — Мы же были здесь до того.
— Верно. Дискорд превратил нас в философских зомби, и теперь мы здесь.
— Я не понимаю… — Твайлайт посмотрела на Луну.
— Это место уничтожено, — ответила Луна.
— Но почему? — спросила Твайлайт. — Что происходит?
— Мы не ощущаем боль, — ответила Луна.
— Мы живы, — Твайлайт посмотрела на Селестию. — Но это не так. Мы мертвы.
— Мы живы, — повторила Луна.
— Живы, но не являемся собой, — Твайлайт посмотрела на Селестию. — Мы не знаем, как мы оказались здесь. Мы нематериальны. Мы не можем находиться здесь. — произнесла Твайлайт.
— Что ты имеешь в виду? — Селестия посмотрела на Твайлайт.
— Дискорд что-то сделал с нами. Мы не можем быть собой и не можем быть такими же.
— Это может быть временным парадоксом, — прошептала Луна.
— И что же это за временный парадокс? — Твайлайт посмотрела на принцессу ночи.
— Дискорд… начал восстанавливать наш мир, но что-то пошло не так, — Луна опустила голову. — Мы даже не знаем, что было сделано до этого, мы не знаем о каком времени речь. Ты не можешь чувствовать холод, — продолжила она. — Не можешь ощутить запах или вкус. Можешь слышать звуки или видеть, как кто-то это делает. Но мы не можем вспомнить, где мы были.
Твайлайт вздрогнула.
— Это странное ощущение, — произнесла она.
— Это просто временный парадокс, — ответила Луна. — Ничто из этого не реально.
Твайлайт сглотнула и посмотрела на разрушенную луну.
— Может быть, мы просто на какое-то время переместились в другой мир, в котором нет холода, — сказала Твайлайт.
Луна посмотрела на луну, затем на Твайлайт.
— Этого точно не может быть, — сказала она.
— Ты не можешь это знать! — прокричала Твайлайт. — Нам нужно найти Элементы Гармонии!
— Зачем? Дискорд превратил наш мир в одно огромное воспоминание.
— Луна, у нас нет времени на твои глупости! Нам надо помочь Понивиллю! — Твайлайт встала на копыта. — Мы должны помочь ему!
Луна вздохнула и опустила голову.
— Это бесполезно, Твайлайт, — произнесла она. — Я не знаю, как долго ты здесь, но всё это не имеет никакого смысла.
Твайлайт посмотрела на луну.
— Это не так. Мы живы, но мы не можем быть собой из-за этого парадокса. Если мы не можем быть собой, мы должны найти способ вернуть нас домой.
— Твайлайт, — произнесла Луна. — Это не имеет никакого смысла.
— Ты не можешь этого знать! Мы «нереальны», и если мы не можем быть собой, то можем попытаться воссоздать этот мир заново.
Луна нахмурилась.
— Мы должны попытаться! — Твайлайт топнула копытом. — Это наш единственный шанс на спасение. Это не должно быть так уж сложно!
Луна улыбнулась.
— Надеюсь, что ты не допустишь ещё одного парадокса, — она встала и посмотрела на луну.
Это был лишь слабый свет звёзд, но в этот раз он был ярче, чем когда-либо. Это было странное ощущение. В нем было что-то странное. Твайлайт посмотрела на Луну. Принцесса ночи не двигалась, но её глаза были широко раскрыты. Она смотрела на звёзды.
Твайлайт почувствовала сильную боль. Она почувствовала всё. Она чувствовала, как земля уходит из-под ног, и что-то давит ей на спину. Затем что-то ещё сильнее ударило её по ногам, и ещё раз, и ещё, и ещё, и ещё…
Она подумала, что всё закончилось и умерла. Но она была жива. Она была жива.
— Твайлайт? — услышала она голос.
Твайлайт открыла глаза и увидела перед собой Дискорда. — Ты была похожа на кирпич.— сказал он с улыбкой.
— Что случилось? — спросила Твайлайт.
— Всё прошло гораздо хуже, чем я ожидал, — сказал Дискорд. — Полагаю, ты видела то, что видеть не стоило.
— Ты исказил время и уничтожил наши разумы. — сказала Твайлайт.
— Конечно, — согласился Дискорд. — Но затем я сумел вернуть тебя.
Твайлайт попыталась подняться на ноги.
— Где Найтмер Мун?
— На этом поле, — сказал Дискорд.
Твайлайт посмотрела на поле. На нем не было ничего, кроме травы, и оно было пустым.
— Что все это значит? — произнесла она.
— Это было небольшое заклинание, — сказал Дискорд. — Оно должно было вернуть тебя обратно в наш мир.
Твайлайт нахмурилась.
— Что ты имеешь в виду? — спросила она.
— Я потратил очень много энергии, чтобы создать его, — объяснил Дискорд.
— Не понимаю, о чем ты говоришь, — нахмурилась Твайлайт.
— А тебе и не надо понимать. — Дискорд посмотрел на поле.
Твайлайт посмотрела на поле, её лицо исказилось в гримасе.
— Как ты посмел?! — крикнула она. — Как ты посмел?!
— Я тоже думал, что это будет забавно, она умерла в результате того, что я был слишком сильно впечатлен тобой. — ответил Дискорд. — Но теперь я не уверен, что это было весело. Что ты собираешься делать, Твайлайт?
— Ты разрушил мой мир, убил Найтмер Мун и превратил Эквестрию в ковер! — прорычала она. — Я уничтожу тебя, и ты больше не будешь иметь власть в Эквестрии!
— А почему ты думаешь, что я не смогу отправить тебя обратно? — спросил Дискорд.
— Потому что я никогда не вернусь! — закричала Твайлайт.
— Возможно, тебе лучше следует прислушаться к моим советам, — сказал Дискорд. — Для начала — не говори никому о случившемся.
Твайлайт почувствовала себя глупой.
— Это неправильно, — прошептала она себе.
— Второе, — продолжил Дискорд, — не зли Найтмер Мун.
— Что?! — закричала Твайлайт. — Как я могу разозлиться на неё? Она же мертва!
— Третье! — сказал Дискорд. — Помни, что я тебе ничего не говорил!
— Что? — спросила Твайлайт.
— То, что я сказал, постоянно меняется, — пояснил Дискорд.
Твайлайт кивнула.
— Четвертое! И последнее… — продолжил Дискорд. — Не расстраивайся о прошлом. Я понимаю, что ты сделала всё, чтобы помочь принцессам. Но сделай глубокий вдох и живи дальше!
Дискорд щёлкнул пальцами и исчез, а затем последовал взрыв света.
Твайлайт почувствовала резкую боль в голове и ничего не видела, кроме бесконечной черноты. Она подумала, что никогда не сможет привыкнуть к такой темноте. Затем свет снова появился вокруг неё, и Твайлайт почувствовала себя более или менее нормально. Она решила, что нашла какое-то облегчение.
Когда она снова открыла глаза, то услышала голос. Это был Дискорд. Он говорил с ней из ниоткуда.
— И не рассказывай своим подругам, — говорил Дискорд. — Если ты не расскажешь, то они и не догадаются.
— Я скажу им все, что знаю, — сказала Твайлайт.
— Хорошо, тогда как ты думаешь, что они скажут?
Твайлайт не знала что сказать. Она не могла найти себе оправданий.
— Это… ужасно... — прошептала Твайлайт.
— Именно, — сказал Дискорд. — Я никогда раньше не видел такую ужасную реакцию. Они скажут: «Что ты наделала?» А затем... — он вздохнул. — А затем я устрою вечеринку в твою честь на твоих похоронах.
— Мне нужно сохранять оптимизм, — сказала Твайлайт.
— Вот именно, оптимизм, — сказал Дискорд. — Они будут думать, что ты мертва, а потом обвинят в том, что ты разрушила их мир.
— Что? — спросила Твайлайт. — Но как ты узнал?
— О, ну, — сказал Дискорд. — Я просто прятался на дереве.
Алсо в 2014ом я пришёл сюда с переводом фанфика, в котором было место под названием Сплетение.
Да не — бред какой-то…
Я этой темой даже не интересовался, а потому не вполне понимаю как они обучаются. Разве нельзя обучать на классике и бестселлерах, оставляя от пони лишь имена и названия? В крайнем случае можно прильнуть к тем же самым переводам — переводят-то в основном годноту
с использованием кривых речевых конструкций.Отсюда и столь сумасшедшие требования к вычислительным ресурсам. Но вот если у нас есть качественный набор вручную отобранных и вручную размеченных данных, то есть куда более интересные архитектуры, способные выдать для данной конкретной частной задачи (в данном случае генерация конкретно фанфиков конкретно про пони, в идеале только лишь одного-двух жанров) результаты не хуже при очень скромной ресурсоёмкости.
Но — нужно порядка 500Мб вручную отобранных (т.н. сбалансированный датасет) и размеченных текстов.
Если речь идёт о генерации изображений, то pix2pix даёт хорошие результаты уже на 400 обучающих картинках, если датасет правильно отобран и размечен. А если требуется скармливать всё подряд и не париться с подбором, то минимальный размер датасета повышается до минимум 3000 даже в случае 128x128 пикселей.
Первое, на что можно обратить внимание из «интересных» архитектур — Conditional Transformer. За счёт продвинутых возможностей для тюнинга и подбора гиперпараметров даже мелкие версии дают отличные результаты.
Далее можно глянуть в сторону PET/iPET, которые за счёт размеченного датасета позволяют достичь сравнимые с GPT-3 результаты при тысячекратно меньшем количестве параметров.
Наконец, старые добрые LSTM всё ещё не сдают своих позиций, соревнуясь с трансформерами при скромных размерах (статья Single Headed Attention RNN: Stop Thinking With Your Head, на GitHub есть реализация). Правда, работают очень медленно (генерация каждого токена — это повторный запуск) и обучать запаришься, очень уж капризны и легко идут вразнос. Как раз с такой модельки я приводил
результаты— А… га. Хорошо, что у вас чудесный мир, а к хорошему привыкаешь быстро. Да, восходы у вас ярче, торты вкуснее.
— Торты всегда особенные, — проворковала Селестия. — Идём.
Повернувшись к нему боком, рядом прошла принцесса. В её глазах горели искры всепоглощающего знания. Струящийся утренней авророй хвост мазнул вдоль носа единорога в нематериальном пространстве. В воздухе были слабые магнитные импульсы, однако чувства реагировали так же, как и на Винил.
— Селестия? — я пристально вглядываюсь в её воспоминания… Особенно, если учесть, что их не хватает. Покончив с осмотром, я, наконец, понял, как телекинезом работать с магией, летать, освоиться с тысячами бытовых мелочей…
Я аккуратно собрал гриву аликорны в два раза ярче, и её рог вспыхнул, а лежавшая на соседней полке Луна нервно закусила губу. Тия действительно любит сестру, я проверял. И даже достигла в этом немалых результатов.
Сейчас пытаюсь с одним знакомым обучить GPT-3 Large на поньках. Посмотрим на качество. Если будет лучше текущего, но не лезть на прод-сервак, то буду пытаться дистиллировать.
Кстати, я тут вспомнил… Именно твой комментарий к «Лишней» год назад, когда ты попытался сгенерировать продолжение к 21 главе, смотивировало меня сделать эту Свитечку
частично потому, что мне настолько он не понравилось и у меня появилось желание сделать «по-нормальному».И всё-таки, спасибо тебе.— А что у тебя с глазами?
— Язь
— Что? — опешила она.
— За то время, что я тут живу, я ни разу не видел ни одного целого глаза. Видимо потому, что я всегда смотрела на мир другими глазами.
— Ох…
Я скорчила рожицу и вернула на глаза привычное выражение.
— Что, если тебе нужен кто-то, кто позаботится о тебе?
— По крайней мере, это пони , — я ехидно улыбнулась. — И к тому же, кто лучше позаботится о не живом человеке, чем кьютимарка в виде глаза?
Я почувствовала как ее щечки наливаются румянцем
— Да, но… к тому же это будет первый раз, когда я действительно буду чувствовать себя чьей-то собственностью…
— Тогда чего ты ждешь? Давай, мы будем с тобой дружить! Я уже готова сделатьтебе такой пип-бак, что ты не сможешь заснуть без него, — я заобнимала ее и нежно прижалась к ее груди, ощущая как она прислонилась к моей груди.
— Давай пойдем ко мне и начнем все сначала, — она смущенно улыбнулась
— Нет! Все правильно! Давай придумаем другое название для нашего нового дружка! Или можно переименовать его в Спайка или Твайлайт или…
— Я не хочу переименовывать своего нового друга!
— А как тогда?
— Я… я не знаю.
— Ну, тогда просто…
— Спайк или Твайлайт.
— Хм… — я почесала подбородок. — А звучит неплохо. А что это вообще значит?
— Моя мама сказала что так называют кого-то, кто по крайней мере знает о своем имени, а еще они называют своих детей в честь книг которые любят. Я так думаю, это имя тебе подойдёт!
— Я поняла — Я поцеловала ее в губы и пошла в свой номер.
***
Ладно, надеюсь, что вскоре Свити сможет генерить и что-то «сос мыслом» =)
Мило?
Мы работаем над этимЯ проснулась и Рэйнбоу снова поцеловала меня. Мы обнимались. Я начала гладить ее гриву, как любимую. Она была очень мягкая, она очень красивая. Она была розовая, и кудрявая. Она была с гривой. У нее был хвост. У нее были голубые глаза, и она была розовая шёрстка, а у нее были радужная грива. Я гладила ее гриву.
***
— Эй, я проснулась, и увидела, как она спала на мне.
— Мда, не думала, что ты так быстро уснешься.
— Ты тоже.
— Что мне снился сон?
— Да, я шла с ней по улице. Мы смеялись, и целовались. А потом она мне стало страшно. Она испугалась, и я спряталась за ней. Я бежала и стала ее успокаивать, а она стала плакать.
— Давай пойдем уже спать.
— Пойдем.
***
Мы легли в кровать, и она обняла меня.
***
— Спокойной ночи.
***
— Да, я так и проснулся я проснулся.
— Привет, Дэш. Ты как всегда просыпаешься первым.
— Ага, как же. – я встал с кровати.
— Ну да, ты же, я еще не ложился спать. Я пойду, мне пора на работу. – она завтра.
— Конечно, удачи.
— Пока.
— Пока.
П.С.: На Хабре опубликовали интересный трюк по увеличению связности текста, создаваемого GPT-моделями. По идее, для GPT-2 тоже должно работать.
А по поводу трюка… один из его авторов как раз корпит над Свитьки переносом на ruGPT-3, поэтому, поверь, он будет в ближайшем обновлении ;)
This Pony Does Not Exist смотрел — оно основано на StyleGAN и натренировать должно быть несложно, т.к. вся методика полностью опубликована. Но там проблема в том, что очень мало влияния на результат, фактически выхлоп полностью рандомен (хотя можно смешивать понячьи мордочки).
Как закончу с CLIP, буду смотреть в сторону CycleGAN. Кстати, оно оказывается и к текстам применимо. Например, видел пример, где CycleGAN натренировали инвертировать отзывы с негативных на позитивные (этот товар полное дерьмо! -> этот товар просто обалденный!).
П.С.: Нашёл в сети Colab с минимальной моделью CLIP+diffvg на поиграться (осторожно, жрёт довольно много облачных ресурсов, смотрите чтоб Google ваш акк не сунул в баньку на неделю). Я использую такую же, но с разрешением в 5 раз большим, и помимо текста с описанием скармливаю ей эмбеддинги из изображений пони, чтобы создавать связи пони->словосочетание.
Кстати, интересно, а коль не секрет — а где достали достаточно размеченных данных? Неужели, дерпибура с тегами? И, насколько я знаю, генераторы изображений требуют совсем чудовищных мощностей для обучения. Я вот даже едва ухитряюсь GPT-3 обучать, ибо даже в колабовские мощности едва-едва лезет, и то, со смазкой.
И ещё, а не думали о пиксель-арте? Видели недавний чудо-колаб, который генерирует прям хорошо по запросу?
Только заметил. Хостите свои файлы у себя? Одобряем-с.
Основную часть датасета составили кадры из самого мультика (благо, сезонов там много), нарезанные и отфильтрованные полуавтоматически (большая часть работы сделана скриптами на OpenCV).
Если обучать с нуля, то да (за исключением узкоспециализированных моделек вроде pix2pix). Но вот тюнинг таких моделей, напротив, осуществляется куда проще, чем текстовых трансформеров вроде GPT. В общем-то достаточно, чтобы модель влезла в память, и всё. Там замораживаются почти все веса, и фактически тюнится только внешний слой, затраты вычислительных мощностей куда меньше, чем при обучении трансформеров.
Да, я даже ссылку на него оставил. Примерно похожий вариант я и использую (та же связка CLIP+diffvg, только большего размера, и дообучаю собственными связками картинка-термин).
Ну раз всё равно есть сервер, где хранятся Git-репы кода (и фанфиков), то почему бы туда же не сунуть и изображения? А то надоело уже, что прямые линки на фотохостинги либо не работают у половины читателей, либо грузят тонны рекламы, либо дохнут через полгодика.
это я автоматизирую, но когда занимаюсь схожим делом, пишу заметки для ведения D&D, то использую Obsidian. Кстати советую попробовать — крайне удобная вещь, легко позволяющая структурировать мир.Скринкаст снимался с помощью asciinema. Преимущество в том, что это не видеоролик, а именно текстовая трансляция — поставив на паузу любой кадр, можно спокойно выделять там любые строчки (да, даже те строки в начале с изображением Рэрити) и копировать чистым текстом.
А вот vim… Звучит, оно, конечно, круто, но я вырос в красивых IDE'шках, и боюсь, сменить не смогу. Да и не особенно и хочется, пожалуй. Слишком уж страшно звучат все эти комбинации.
Привлекает двумя вещами: сверхвысокой кастомизируемостью (ни один другой редактор кроме Emacs так не настроить) и тем, что идеально подходит под слепую печать.
Да, шорткаты выглядят ужасным извращением, но только до тех пор, пока пользователь не освоил слепой десятипальцевый метод печати. После этого на vim подсаживаются достаточно быстро.
Хотя, в последнее время я сильно стал использовать MobaXterm и mc становится используем всё реже.
(я вон под виндой скодько времени сидел с DN, забил только тогда, когда я понял, что LFN+Unicode для него совсем неперевариваемая смесь =/)
Когда до сих пор везде пытаешься искать по F7, а не по F3 или Ctrl+F — это та ещё профдеформация)
Ага, я заметил, когда недавно приходилось помогать с vqgan'ом. Ну хорошо, что от такого избавились.
Впечатляющая работа. Хм, я что-то и не додумался автоматизировать теггинг. Хорош.
Ну, судя по всему, у трансформеров тоже есть смысл переобучать только последние слои. Да и ещё с каким результатом!
Хех, прошу прощения. Был с телефона, не мог посмотреть. Просторы интернета… Не понификшн ли, случаем?
Хм, я бы кстати, вам посоветовал бы Nextcloud. Позволяет разместить у себя опенсурс-сервак, который не уступает в возможностях этим вашим яндекс/гугл-дискам, имеет возможность поднять свой аналог онлайн-редактирования документов и так далее. Так же, имеет свой стор, с кучей приложений — от системы ведения заметок и канбана, до программ документоборота, позволяющий работать средних размеров компании. Если интересно, могу дать гостевой аккаунт на своём cloud.monetka.name
Почему и собираюсь в дальнейшем плотно познакомиться с CycleGAN и его модификациями — там собственно генерация очень быстро идёт, и моделька в готовом виде (с отрезанным дискриминатором и второй половиной цикла) очень компактная, а результаты должны быть не хуже. Но тренировка адски сложная (фактически, это 4 нейросети, замкнутые друг на друга, причём три из них нужны только на этапе обучения, а потом отрезаются и выкидываются).
Надеюсь на успех с ЦиклоГАНами. Беда ещё не только в том, что моделей четыре — в отличие от обычных моделей, где нужно только за тем, чтобы не переобучились следить — обучаться ГАНы должны в балансе. Помню, друг у меня ночами не спал, ГАН балансировал, причём, простой всего с двумя частями! Как пережить четыре… Могу лишь пожелать удачи.
И всё-таки, выглядит даже сейчас — круто.
— Но не будем о плохом, пожалуй =)
(Честно, вот я серьёзно не могу понять тех, кто это читает...)
многомедленнее основного…– Ооооуу…
– Мммм… – Дэш тихо застонала, чувствуя как член скользит внутри неё, щекоча и покусывая изнутри. Её киска напряглась от таких ощущений и пегас не смог удержаться, чтобы не застонать ещё громче. Рог принцессы стал пульсировать, она ткнулась носиком в него, облизывая и проводя язычком по всей длине.
– Оооууу… – простонала она, толкая копытом член Дэса. Ей очень нравилось ощущать, как он движется внутри неё, и принцесса не могла дождаться, когда тот кончит, обхватит пегаса и крепко-крепко-крепко-крепко-крепко-крепко-крепко-крепко-крепко-крепко- крепко-крепко-о- о-ооо….
Подрихтовать действующих лиц — и вполне. Мне нравится. :)
Кстати, видел уже то, что если пихать в ту CLIP+diffvg модельку какое-то изображение, то это позволит увеличить качество генерации?
Например
Вот колаб с возможностью допихивать изображение.
Либо diffvg обновили так неудачно, либо (что скорее) что-то сломалось в связке pytorch-1.9.0 + CUDA, так что при установке diffvg в колабах теперь не собираются рабочие библиотеки.
И так там везде. Зависит от всего, начиная с glibc и конкретной сборки Python'а. Потом CUDA и связка драйверов. Потом бывает веселье, когда часть пакетов требует одну версию какого-нибудь tensorflow, а часть — совсем другую.
Отдельного веселья добавляют ещё и сами скриптики создания, загрузки и тренировки нейросеток. Они напоминают студенческие наколеночные поделки из дерьма и палок, кое-как слепленные синей изолентой. Прописать жёсткие пути? Не вопрос. Завязаться на какую-то переменную окружения? Конкретную версию wget или curl? Не, ну на моей же машине работает, чё ещё надо…
Собственно, единственный более-менее надёжно работающий способ поделиться нейросеткой — выкладывать сразу docker-контейнер, где всё будет смонтировано должным образом.
А уж с докером… Вот, недавно, как раз Свитьку деплоил на сервак. Сначала решил не барахтаться с докером — у него не тривиально подключается gpu — и просто в отдельный venv поставил по requerements.txt. И… Оно не заработало! Модель просто начала гнать NaN'ы! А почему? А Дискорд его знает. Ну ладно, докер, так докер. Накатал докерфайл, собираю… та же беда! А почему?.. В общем, пришлось собрать контейнер у себя на машине — и отправить на сервак — только так заработало. Что за магия — до сих пор не понятно. Причём, докерфайл — идентичный.
Страшно, страшно, очень страшно.
(… а году в 2040 будет новое поколоение, такое: «как? systemd? Оно когда-то и правда существовало?» =)
Лучше так, чем если «Существовали думающие машины? Дед, успокойся и съешь уже радтаракана!"
Linux with systemd
Так же и с systemd. У некоторых сервисов, к примеру, вообще в последнее время может не быть sysvinit-овых пускалок, а только systemd-шные сервисы. Да и как бы когда на одном и том же железе ОС Эльбрус стартует две минуты, а Alt Linux — за полминуты, это немного настораживает.
Причём качество генерации намного выше, формы читаются хорошо, мало пиксельного мусора. Единственная проблема — тайлит, зараза. Вон слева фиолетовое пятно — уже через 10 итераций оно развернётся во второй экземпляр пони. И это ещё не самый плохой вариант тайлинга, бывает хуже. Так что тут diffvg выигрывает, несмотря на более «мусорную» картинку.
ПримерТ.е. поньки ещё не успели до конца сформироваться, ещё бы итераций 50 покрутить, но блин уже посторонний объект прорастает.
Не зря вокруг моделей OpenAI столько шума. Вот если бы они ещё их не жлобили… Тот же DALL-E всё никак полноценно не опубликуют.
П.С.: Как же эта хрень затягивает, ужс… Хуже запоя. Уже вторую неделю всё свободное время на эти сетки упарываю, даже фанфик не пишется.
А вот с тем, что OpenAI любят жлобить — это да. Ещё, Дискорд их побери, любят прикрываться «моралью и общественной безопасностью». Тьфу, много людей пострадало от выпуска тех же ГПТшек? А сколько было хайпа об их угрозе… В общем, любят они раздувать проблемы ради большего внимания. Эх, а что поделать, в конце концов они и правда прекрасные штуки делают. Самые зрелищные уж точно.
З. Ы. Прекрасно понимаю. Хех, ту же Свитьку медленно полгода попинываю, и всё ещё куча всего, что можно сделать. Правда, думаю, таки заморозить проект после следующего обновления. Есть пара идей, и даже связанных с понями, с которыми хотелось бы поработать…
Небольшой пак нейропони
А как он с сложными запросами? Вроде, «Твайлайт в лаборатории» или «Пинки танцует»? Хотя, то что он может персонажа понять, уже хорошо.
Твайлайт в лабораторииТолько нужно было уточнять, что лаборатория алхимическая. А то FoE какое-то получилось…
А вот действия и позы отрабатываются плохо. Даже для людей оно максимум различает «сидеть», «стоять» и «лежать», более сложные позы уже нет. Для понек не выходит даже и этого, тут позы полностью случайны, хоть и более-менее вписаны в окружение.
С абстракциями же всё совсем паршиво, сразу такой психодел лезет… Вот так, например, оно визуализировало выражение «бляха муха»:
Осторожно, опасно для психики!
А вот с позами… Думаю, это логично. В датасете, я так понимаю, только имя поньки и указано? Тогда и понятно — не откуда ему такое выучить. Но разметить датасет подробнее — это та ещё задачка.
А с «бляха-мухой»… Тут, на ум сразу приходит старый анекдот:
Фубля — Мам, Мам, а можно я возьму на прогулку Фублю?
— КОГО?
— Фублю!
— Это что?
Девочка приносит куклу: без глаза, с отгрызанной собакой ногой, лысую, голую…
Мама:«ФУ, бля!»
Девочка: Вот папа её тоже так назвал!.
Увы, это только у Гугла есть возможность заставить миллиарды людей разгадывать капчу, указывая картинки с лодками и пожарными гидрантами…
Потому-то все так ждут публикацию новой модельки от OpenAI. Ей можно скормить три-четыре картинки, и она выделит набор общих признаков, имеющихся на каждой из картинок набора, и сохранит это в виде специального вектора — «гена». Далее эти гены можно скрещивать, присоединяя к запросу вместе с весами. В презентации они строили изображения химер, скрещивая животных, например дракона с жирафом. Получалось забавно.
Увы, прошло уже полгода, а они всё ещё задерживают публикацию — мол, надо исследовать социальные последствия. Дескать, модель настолько хороша, что художники могут остаться без работы (угу, видимо так же, как после публикации GPT без работы остались писатели).
Ну… Есть Толока у нас или Mechanical Turk у амазонов… Но вряд-ли кто-то будет готов скинуть тыщёнку долларов ради того, чтобы индусы размечали, где цветная лошадь стоит задом, а где — сидит ;)
А так, понятно, конечно, OpenAI любят такое. Ходят на грани — максимально хайпят о «безопасности», а потом, как штык, выпускают модель за полгода, до создания аналога какими-то китайцами. Всё-таки, чувствуются начальство Илона — гениального пиарщика. Ай, ладно, всё равно опубликуют, никуда не денутся.
Не работает =(
Перед тем, как грузить библиотеки и запускать, кликнете на иконку слева внизу (Command Palette), там выберете «Add code Cell». В добавленной ячейке введите:
!nvidia-smi
После чего запустите эту команду. Если в результате GPU не найдётся или он определится как Tesla K80
Пример, я подсветил где смотретьзначит нужно пробовать ещё раз — сбрасывать сессию и смотреть заново. Ну или ждать, пока будут ресурсы.
Чтобы сбросить сессию, используйте меню Runtime -> Manage sessions. И там нажмите «TERMINATE», это прибьёт текущую сессию.
П.С.: Конечно, намного удобнее запускать код на вашей собственной машине, там-то уж вы сами себе хозяин. Но для этого там должен стоять хороший GPU как минимум с 6Гб VRAM, а лучше 8 Гб (совсем хорошо, если 24 или даже 32 Гб).
И готовиться к тому, что сетка часто
выдаёт странное
Вот поэтому, СвитиБот v3 задерживается. Сейчас даже Pro подписка часто не получает хороших видеокарт.
Поэтому нужна мощная числодробилка, обычно заточенная именно под перемалывание тензоров. И либо у вас есть ваш собственный мощный GPU (или TPU) под нейронки, и тогда вы просто берёте и считаете, либо идёте на облако к чужому дяде и пользуетесь его ресурсами. Но тут понятно, что дядя вовсе не заинтересован, чтобы его вычислительными мощностями за просто так пользовались все подряд, и потому максимально затрудняет к ним доступ. У меня Google уже два аккаунта забанил за оверюз Colab'а, так что всё важное или длительное считаю только локально, а облако просто на поиграться.
Если хочется быстро и без проблем — есть вещи типа artbreeder (по сути, это связка из двух нейросеток — StyleGAN и BigGAN), но там нет понях, увы.
П.С.: Ещё есть вариант как вот со СвитиБотом, когда кто-то за свой счёт (довольно внушительный, т.к. сервера с GPU не из дешёвых) поднимает сервис для всеобщего пользования.
В общем, мне в принципе и не надо оно. И спасибо Вам за объёмный ответ =3
На следующей неделе буду работать над фиком, а потом займусь CycleGAN — там должно быть довольно интересно и в перспективе с возможностью развернуть сервис на сервере. Но быстрых результатов, увы, не будет — балансировка пачки взаимосвязанных GAN займёт время.
А вообще, я всё ещё думаю, что в прод это годно. Судя по статистике Свитьки — после пары дней популярности, будете иметь ~10 запросов в день. Ну, да ладно.
Над каким фиком будет работа, если не секрет?
А про балансировку GAN'ов прекрасно понимаю, это вам не это. Могу только удачки пожелать.
Эх, самому приходится на ИРЛ переключиться. Предположительно, через месяцок выпущу крупный апдейт, с переездом на руГПТ3 и модификацией алгоритма генерации, ну как пойдёт. На сим, думаю, буду считать проект ±завершённым. Тем более, с нейронками и фанфиками у меня есть более интересная идея, которая, к тому же, будет иметь хоть какой-то практический смысл.
Эх, тоже есть идеи по текстогенерации, но времени всё это жрёт столько, что лучше не распыляться, иначе так ничего и не будет сделано. Так что продолжу и дальше над генерацией картинок работать…
Процесс генерации Лун
А что за идеи с текстогенерацией, если, опять-таки, не секрет?
Луночка порисовывается. Красиво.
Нужно взять порядка 200Мб текста, посидеть несколько вечеров (порядка месяца), чтобы всё это разметить, и можно тренировать. Модель должна получиться компактной.
Но, как уже говорил, вместо этого сосредоточусь на генерации изображений. Тут тоже есть много перспективных вариантов.
Суть генерации в том, что существует набор наперёд прописанных «сюжетных» цепочек вопросов, а модель просто на них отвечает с учётом ранее сгенерированного текста.
Как такое разрешение получил? Через апскейл прогнал?
Модель вдвое больше их ViT-B-32 и требует не менее 11 Гб VRAM для запуска, но выдаёт просто шикарные вещи. Правда, есть у меня подозрение, что им в обучающую выборку попало изрядное количество японского арта или скринов каких-нибудь японских игрушек, потому что стиль, в котором оно генерирует, очень уж характерный.
Вот генерация персонажей просто как есть, безо всякого тюнинга модели на поней:
Твайлайт
Кризалис
Однако, результат и правда поражающий.
В 16 Гб не влезло. Впрочем, есть варианты затюнить даже такое. Но я этим заниматься пока не буду, отложив в сторону. Потому что сейчас собираюсь плотно заняться CycleGAN в надежде создать такой генератор, который не будет настолько дико жрать ресурсы и который можно будет выложить на всеобщее обозрение в виде сервиса.
Эх, печально. Когда нужно больше этого — появляются проблемы с ресурсами большего порядка. Ну да ладно.
Удачи с CycleGAN'ами, с ними она понадобится. У меня как раз сейчас друг пытается натренировать его. Правда, для работы с физическими данными. Что, впрочем, лишь добавляет веселья.
То ли должно было быть некое продолжение, то ли Пинки...(на этом мыль заканчивается, так как он ВНЕ логики)
Лирный сфинкс
Лира безликая
Её Пушистость
Суровая Лира
Ещё суровее
Стилизация
А вот Луна в исполнении RN50x16 и вправду жутковата, я уже выложил небольшой пак в четверговой темке с Луной.
ДублируюПрогулки под луной
Мир снов? Коннект!
В лунном сиянии
Печаль
Спасибо за дубляж, на Табуне я обитаю только здесь.
довольно интереснымРаз
Два
Три
Четыре
Ну и очередной сфинкс
Результат тюнинга на Флаттершай
П.С.: Это без апскейла, изображение сразу получается такого размера.
А то, что такое разрешение сходу — тоже очень круто.
Далее прогнал всё это через CLIP-энкодер, сохранив для каждой картинки эмбеддинг. И затем на этих эмбеддингах отдельно тюнились три дополнительных слоя классификатора, наброшенные поверх оригинальной модели.
А зачем три, если используется два?
По итогу, выходит, классификатор классифицировал по трём категориям?
Не совсем. В идеале после тренировки классификатор должен возвращать «степень правдоподобности» картинки, возвращая 1.0 для настоящих картинок, 0.5 для слегка искажённых и 0.0 для совсем перекрученных.
Вообще, у меня была идея написать заметку о генерации пони с помощью CLIP, но увы — на Табуне практически нет тех, кто интересуется нейросетками (даже не в плане генерации, а чтобы просто полюбоваться уже готовыми картинками), и ещё меньше тех, у кого есть доступные мощности для работы с нейронками.
Сейчас начинаю вникать в GAN'ы и готовлюсь запустить обучение самой простой «ванильной» LightweightGAN, просто чтобы вникнуть в тему. Вот там, при успешном развитии темы, можно будет попробовать создать сервис (хотя я почти уверен, что посещать его будет полтора человека в сутки).
— Мне было бы интересно послушать. Но, к сожалению, да. Тема узкая, а сообщество поней ещё уже. Увы.
— О, а это — круто! Буду рад, если выгорит. К сожалению, сервера весьма дороги. А по поводу количества народу — опять таки, людей мало. За всё время Свитьки, всего 623 захода на текущий момент. Хотя, есть люди, которым зашло, и теперь они чуть-ли не каждый день приходят. Таких людей 5-6. Мхм. С другой стороны — картинки проще и понятнее, так что, думаю, аудитории будет в разы больше.
Опробовал её на мелком пиксельарте с Луной, результаты
очень неплохиеПриведены пары оригинал — апскейл
=>
=>
Сейчас экспериментирую с параметрами, думаю можно выжать ещё большее качество.
копипастаЗдравствуй, дружище!
Как дела, как жена?
Знаешь, я зашёл сказать тебе, что ты обалденный, просто топ!
Кстати, мне кажется, что у нас упал продакшен, это просто моё личное мнение, понимаешь?
В связи с этим, что ты думаешь о том, чтобы откатить свои последние изменения?
Там всё было прекрасно, твой стиль заставил мурашки устроить балет на моей спине!
Но всё равно подумай, пожалуйста, что бы ты мог улучшить.
Я ни в коем случае не давлю на тебя, это твой выбор.
А сейчас мне пора бежать, дружище.
Нужно успеть продать акции компании, пока на хабре не написали о нашем последнем обновлении.
Пожалуйста подумай о том, что я тебе сказал!
Удачи, дружище!
Но, позволю заметить, не стоит мешать этих пидоров и честных представителей ЛГБТ. Пока ни один гей мне прод не ронял~