Тип работы:
Предмет:
Язык работы:


Генерация UML диаграмм с помощью больших языковых моделей

Работа №147611

Тип работы

Магистерская диссертация

Предмет

математика и информатика

Объем работы24
Год сдачи2024
Стоимость5500 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
26
Не подходит работа?

Узнай цену на написание


Введение 3
1. Обзор метрик качества 6
2. Сбор данных 8
3. Модели - кандидаты на дообучение 11
4. Инжиниринг подсказок 13
5. Дообучение 16
6. Основные результаты 20
Заключение 21
Список литературы 22


В 2017 году, на международной конференции NeurlPS, Vaswani A. et al. в статье «Attention is all you need» [2] представили миру трансформер — архитектуру глубокой нейронной сети, хорошо подходящую для многих задач обработки естественного языка, в частности, для задачи генерации текстов.
С тех пор появилось множество различных трансформерных нейронных сетей, например, GPT-3 от компании OpenAI [13] — модель, состоящая из 175 миллиардов параметров и обученная на примерно 45 терабайтах текстовых данных. Настолько большие модели очень дорого и долго дообучать, но даже без этого они достаточно хорошо справляются с поставленными задачами при наличии нескольких примеров решения в подсказке [14]. Со временем стало понятно, что увеличение размера языковых моделей не делает их лучше с точки зрения пользовательского опыта. Например, они могут генерировать неправдивые, неэтичные или просто бесполезные для пользователей данные. Чтобы бороться с этим, OpenAI решили использовать человеческую обратную связь для обучения модели InstructGPT [33]. Следующей версией этой модели в ноябре 2022 года стала ChatGPT [24], получившая широкое применение далеко выходя за область компьютерных наук.
Сегодня модели из серии GPT от OpenAI используются в науке, промышленном программировании, медицине, искусстве и многих других областях. С их помощью пишут код, делают умных чат-ботов, используют при изучении иностранных языков и многое другое. В данной работе я остановился на использовании этого инструмента для задачи генерации UML-диаграмм бизнес-моделей по текстовому описанию на английском языке.
UML (Unified Modeling Language) [37] — это язык визуального моделирования, предназначенный для предоставления стандартного способа графического описания проекта системы. UML часто используется в разработке программного обеспечения, а также для моделирования бизнес- процессов. Тем не менее, текст и изображения являются объектами разных модальностей. Чтобы применять языковые модели для генерации диаграмм, в рамках данной работы, используется PlantUML [32] — инструмент с открытым исходным кодом, позволяющий пользователям создавать диаграммы на простом текстовом языке.
В мае 2023 года Camara J. et al. [22] показали, что производительность актуальной в то время версии ChatGPT в задаче моделирования программного обеспечения с помощью PlantUML ограничена: её результаты имеют различные синтаксические и семантические недостатки, отсутствие согласованности в ответах и проблемы с масштабируемостью. Несмотря на это, моделирование бизнеса допускает гораздо большую степень свободы, поэтому использование для данной задачи языковых моделей не обречено на провал.
На рис. 1 приведен пример сгенерированной с помощью GPT-4 диаграммы бизнес-модели партнёрства компаний Duolingo и GitHub [10]. Из рисунка видно, что нейросеть хорошо определила основные сущности, их типы и взаимосвязи между отдельными элементами. При этом, объекты даже разделены по цветам, что положительно сказывается на визуальном восприятии.
Несмотря на то, что название OpenAI дословно переводится как открытый искусственный интеллект, лучшие их модели не представлены в открытом доступе. В связи с этим, использовать их в своих сервисах получится только через API [26]. Но такая реализация небезопасна, а в случае, когда запрос для генерации содержит защищенные политикой соглашения о неразглашении данные, и вовсе является неприемлемой. При этом, обучение собственного генеративного трансформера стоит больших денег, например, затраты на обучение GPT-4 превысили 100 млн долларов со слов Сэма Альтмана, CEO OpenAI [18].
Таким образом, цель моей работы — исследовать возможность генерации изображений с помощью языковых моделей. Более конкретно — приблизиться к качеству GPT-4 в задаче генерации PlantUML диаграмм по текстовому описанию на английском языке с помощью сравнительно небольших нейронных сетей трансформерного типа, использование и обучение которых можно осуществить на доступном и недорогом оборудовании.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Исходя из проделанной работы получаются следующие глобальные выводы:
■ Языковые модели можно использовать для генерации изображений с помощью специальных языков, таких как PlantUML.
■ Маленькие языковые трансформеры можно дообучать для решения конкретных, узконаправленных задач.
Полученные результаты можно улучшить с помощью простых эвристик, например, всегда добавлять «allowmixing» в начало кода диаграммы. Можно также попробовать заменить GPT-4 на недавно вышедшую GPT-4o, на мой взгляд это улучшит итоговое качество модели. Не составит труда придумать ещё несколько способов усовершенствования результата, тем не менее полученного качества вполне хватит для различных вариантов дальнейшего использования.
В дальнейшем, было бы интересно провести аналогичный эксперимент с другими языками для рисования диаграмм, например, Mermaid [15], а также попробовать использовать другие небольшие современные модели, такие как Mistral-7B-v0.3 [17] или гугловскую Gemma-7b [9].
В заключение хотелось бы отметить, что прогресс создания небольших моделей в области машинного обучения даёт надежды на увеличение доступности передовых научных разработок и исследований для широкого круга заинтересованных лиц. Однако следует также учитывать возможное увеличение риска распространения этически неприемлемого использования технологий искусственного интеллекта.



[1] accelerate — pypi.org. — https://pypi.org/project/
accelerate/. — [Accessed 01-05-2024].
[2] Attention is All you Need / Vaswani A., Shazeer N., Parmar N., Uszkor- eit J., Jones L., Gomez A. N., Kaiser L. u., and Polosukhin I. // Advances in Neural Information Processing Systems / ed. by Guyon I., Luxburg U. V., Bengio S. et al. — Curran Associates, Inc. — 2017. — Vol. 30. — Access mode: https://proceedings.neurips.cc/paper files/paper/ 2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf.
[3] beautifulsoup4 — pypi.org. — https://pypi.org/project/ beautifulsoup4/. — 2010. — [Accessed 01-05-2024].
[4] bitsandbytes — pypi.org. — https://pypi.org/project/
bitsandbytes/. — [Accessed 01-05-2024].
[5] Codebleu: a method for automatic evaluation of code synthesis / Ren S., Guo D., Lu S., Zhou L., Liu S., Tang D., Sundaresan N., Zhou M., Blanco A., and Ma S. // arXiv preprint arXiv:2009.10297. — 2020.
[6] Customer stories — github.com. — https://github.com/customer- stories/. — 2013. — [Accessed 01-05-2024].
[7] EU-Startups Database — eu-startups.com. — https://www.eu- startups.com/directory/. — [Accessed 01-05-2024].
[8] Google Colab — colab.research.google.com. — https:// colab.research.google.com/. — 2017. — [Accessed 01-05-2024].
[9] google/gemma-7b • Hugging Face — huggingface.co. — https:// huggingface.co/google/gemma-7b. — [Accessed 26-05-2024].
[10] How Duolingo uses GitHub — github.com. — https://github.com/ customer-stories/duolingo. — 2023. — [Accessed 01-05-2024].
[11] Kivuhub — EU-Startups — eu-startups.com. — https://www.eu- startups.com/directory/kivuhub/. — 2017. — [Accessed 01-052024].
[12] Labonne M. Fine-Tune Your Own Llama 2 Model in a Colab Notebook — towardsdatascience.com. — https://towardsdatascience.com/ fine-tune-your-own-llama-2-model-in-a-colab-notebook- df9823a04a32. — [Accessed 01-05-2024].
[13] Language Models are Few-Shot Learners / Brown T., Mann B., Ryder N., Subbiah M., Kaplan J. D., Dhariwal P., Neelakantan A., Shyam P., Sastry G., Askell A., Agarwal S., Herbert-Voss A., Krueger G., Henighan T., Child R., Ramesh A., Ziegler D., Wu J., Winter C., Hesse C., Chen M., Sigler E., Litwin M., Gray S., Chess B., Clark J., Berner C., McCandlish S., Radford A., Sutskever I., and Amodei D. // Advances in Neural Information Processing Systems / ed. by Larochelle H., Ranzato M., Hadsell R. et al. — Curran Associates, Inc. — 2020. — Vol. 33. — P. 1877-1901. — Access mode: https://proceedings.neurips.cc/paper files/paper/ 2020/file/1457c0d6bfcb4967418bfb8ac142f64a-Paper.pdf.
[14] Language models are few-shot learners / Brown T., Mann B., Ryder N., Subbiah M., Kaplan J. D., Dhariwal P., Neelakantan A., Shyam P., Sas- try G., Askell A., et al. // Advances in neural information processing systems. — 2020. — Vol. 33. — P. 1877-1901.
[15] Mermaid — Diagramming and charting tool — mermaid.js.org. — https://mermaid. js.org/. — [Accessed 26-05-2024].
[16] microsoft/Phi-3-mini-128k-instruct • Hugging Face — hugging-
face.co. — https://huggingface.co/microsoft/Phi-3-mini-
128k-instruct. — [Accessed 01-05-2024].
[17] mistralai/Mistral-7B-v0.3 • Hugging Face — huggingface.co. — https: //huggingface.co/mistralai/Mistral-7B-v0.3. — [Accessed 2605-2024].
[18] Nast C. OpenAI’s CEO Says the Age of Giant AI Models Is Already Over
— wired.com. — https://www.wired.com/story/openai-ceo-sam- altman-the-age-of-giant-ai-models-is-already-over/. —
2023. — [Accessed 01-05-2024].
... Всего источников –38.


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ