В данном репозетории представленна machine-learning часть продукта, разработанного для выступления на Хакатоне победы (от РТУ МИРЭА) Целью данного хакатона являлась разработка веб-приложения с тематикой Великой Отечественной Войны. Актуальность данной темы - сохранение памяти о павших солдатах в современной и интерактивной форме.
hugging face transformers - для использования предобученных моделей для работы с текстомhugging face diffusers - для использования предобученных моделей для работы с изображениямиtorch - фундаментальная библиотека глубокого обученияdetoxify - предобученная нейросеть для определения токстичности в текстеpython_tools - инструмент для постобработки текстаИзначально была взята предобученная модель ai-forever/rugpt3medium_based_on_gpt2. Но сгенерированный ей текст был очень плохого качества. Поэтому было принято решение дообучить (В папке fine_tuning лежит код для обучения ai-forever/rugpt3medium_based_on_gpt2) данную модель на датасете ptvnck/GPW_stories (его я собрал из сборника "100 военных рассказов"). Так же была добавленна качественная постобаботка сгенерированного текста, а именно разбиение на абзацы, орфография, а так же замена слэнговых слов нашего времени на соответсвующие по смыслу слова военного времени. detoxify проверял текст на токсичность и в случае большого колличества токсичных слов они заменялись литературными синонимами.
За основу была взято диффузионная модель stable-diffusion. В данном пайплайне для улучшения качества генерации картинок используется Helsinki-NLP/opus-mt-ru-en которая переводит промпт пользователя на английский язык (так как данной моделе комфортнее работать на английском языке). Так же идет поиск по заранее заготовленным сниппетам тем и существует заранее заготовленный промпт который задает определенные правила генерации (стилистику изображения). j-hartmann/emotion-english-distilroberta-base используется для анализа эмоциального профиля дневника.
В качестве модели была взята facebook/musicgen-small. Так же как и при генерации картинки используется Helsinki-NLP/opus-mt-ru-en для перевода промпта на английский язык. Изначально планировалось генерировать композицию длинной в 1 минуту, но модель генерировала это слишком долго поэтому мы остановились на 10 секундах.
Вообще у нас так же были подготовленны серверная часть и клиентская часть веб-приложения куда должны были быть подключенны данные модели, но к сожалению по техническим причинам мы не смогли этого сделать до защиты хакатона. Мой коллега Gleb Tolochkin разработал серверную часть с использованием django, redis и других фреймворков. Я планирую соединить наши пайпланы, но в случае если это не получится сделать я планирую разработать свое фулстэк веб-приложение.
Так же возможно улучшить качестве генерации контента заменой наших моделей на более мощные модели, более глубоким анализом и обработкой контента ну и конечно-же дообучением на более большом корпусе данных
2 commits
Python
100.0%
В данном репозетории представленна machine-learning часть продукта, разработанного для выступления на Хакатоне победы (от РТУ МИРЭА) Целью данного хакатона являлась разработка веб-приложения с тематикой Великой Отечественной Войны. Актуальность данной темы - сохранение памяти о павших солдатах в современной и интерактивной форме.
hugging face transformers - для использования предобученных моделей для работы с текстомhugging face diffusers - для использования предобученных моделей для работы с изображениямиtorch - фундаментальная библиотека глубокого обученияdetoxify - предобученная нейросеть для определения токстичности в текстеpython_tools - инструмент для постобработки текстаИзначально была взята предобученная модель ai-forever/rugpt3medium_based_on_gpt2. Но сгенерированный ей текст был очень плохого качества. Поэтому было принято решение дообучить (В папке fine_tuning лежит код для обучения ai-forever/rugpt3medium_based_on_gpt2) данную модель на датасете ptvnck/GPW_stories (его я собрал из сборника "100 военных рассказов"). Так же была добавленна качественная постобаботка сгенерированного текста, а именно разбиение на абзацы, орфография, а так же замена слэнговых слов нашего времени на соответсвующие по смыслу слова военного времени. detoxify проверял текст на токсичность и в случае большого колличества токсичных слов они заменялись литературными синонимами.
За основу была взято диффузионная модель stable-diffusion. В данном пайплайне для улучшения качества генерации картинок используется Helsinki-NLP/opus-mt-ru-en которая переводит промпт пользователя на английский язык (так как данной моделе комфортнее работать на английском языке). Так же идет поиск по заранее заготовленным сниппетам тем и существует заранее заготовленный промпт который задает определенные правила генерации (стилистику изображения). j-hartmann/emotion-english-distilroberta-base используется для анализа эмоциального профиля дневника.
В качестве модели была взята facebook/musicgen-small. Так же как и при генерации картинки используется Helsinki-NLP/opus-mt-ru-en для перевода промпта на английский язык. Изначально планировалось генерировать композицию длинной в 1 минуту, но модель генерировала это слишком долго поэтому мы остановились на 10 секундах.
Вообще у нас так же были подготовленны серверная часть и клиентская часть веб-приложения куда должны были быть подключенны данные модели, но к сожалению по техническим причинам мы не смогли этого сделать до защиты хакатона. Мой коллега Gleb Tolochkin разработал серверную часть с использованием django, redis и других фреймворков. Я планирую соединить наши пайпланы, но в случае если это не получится сделать я планирую разработать свое фулстэк веб-приложение.
Так же возможно улучшить качестве генерации контента заменой наших моделей на более мощные модели, более глубоким анализом и обработкой контента ну и конечно-же дообучением на более большом корпусе данных
2 commits
Python
100.0%