Розробка моделі для доповнення коду на основі LSTM і Transformer
Loading...
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Актуальність. Зараз у сфері програмування все більше уваги приділяється інструментам, які можуть автоматично виконувати рутинні завдання. Одним із таких напрямів є системи автодоповнення коду, які допомагають розробникам писати код швидше та з меншими зусиллями. Завдяки появі великих мовних моделей (LLM) з’явилися нові можливості для створення розумніших і точніших інструментів автодоповнення.
Багато сучасних середовищ розробки (IDE) вже мають функції штучного інтелекту, які допомагають програмістам. Але побудувати модель, яка справді розуміє, що відбувається в коді, і може підказувати щось дійсно корисне – досить складна задача. Для цього потрібні спеціальні архітектури, які добре працюють з послідовностями.
Однією з найуспішніших архітектур для таких завдань є Transformer. Вона лежить в основі багатьох або можна навіть сказати більшості сучасних мовних моделей. Раніше аналізу послідовностей використовували LSTM, але в неї є певні обмеження – особливо коли мова йде про довгі послідовності або потребу в швидких обчисленнях.
Метою даної дипломної роботи полягає у розробці моделі для інтелектуального доповнення коду на основі архітектури Transformer. Для практичного застосування розробленої моделі передбачається створення плагіна для популярного редактора коду VS Code, що забезпечить зручний інтерфейс для користувачів.
Для досягнення поставленої мети необхідно вирішити наступні задачі:
1.Провести огляд існуючих інструментів, які використовують великі мовні моделі (LLM) для генерації та доповнення коду. Зокрема, розглянути такі рішення, як GitHub Copilot та Codeium (раніше відомий як Windsurf).
2.Оглянути архітектуру Transformer як основну технологію, використану в більшості мовних моделей для генерації коду, порівняти її з альтернативними підходами (RNN/LSTM) та пояснити переваги Transformer.
3.Розробити власну модель доповнення коду, використовуючи сучасні архітектури (на основі модифікованого Transformer), та навчити її на релевантному наборі даних, включаючи відкриті репозиторії з GitHub, приклади коду та спеціалізовані інструкції.
4.Реалізувати інтерфейс взаємодії з користувачем у вигляді інтерфейсу, що дозволяє задавати запити до моделі у зручній текстовій формі.
Проєктування даної роботи охоплює реалізацію наступних ключових компонентів:
1.Модель автодоповнення коду – створена на базі архітектури Transformer і навчена на великій кількості прикладів коду.
2.Інтеграція з IDE – зроблений плагін для VS Code, який дозволяє використовувати цю модель прямо під час написання коду.
3.Оцінка результатів – були проведені тести, щоб перевірити, наскільки добре і швидко працює як сама модель, так і плагін.
Технології, що використовуються:
1.Архітектура моделі: Transformer
2.Мови програмування: Python (для розробки моделі та серверу), JavaScript (для плагіна VS Code)
3.Бібліотека машинного навчання: PyTorch
4.Середовище розробки: VS Code та VS Code API для створення плагіна.
Description
Keywords
системи автодоповнення коду, штучний інтелект, чат-інтерфейс, мовні моделі, auto-complete code systems, artificial intelligence, chat interface, language models
Citation
Костенко А.В. Розробка моделі для доповнення коду на основі LSTM і Transformer : дипломна робота ... бакалавра : 122 Комп’ютерні науки. Київ, 2025. 75 с.