Метод компіляції оголошення класів мов WEB-програмування у мови байт-кодового типу на основі машинного навчання
Анотація
У даній статі пропонується метод, який дозволяє компілювати декларування класів мов WEB-програмування у мови байт-кодового типу на основі машинного навчання. Запропонований метод базується на ідеї використання двох видів штучного інтелекту. Для виконання перевірки введеної програми користувачем, запропоновано використати нейронну мережу, яка навчена для виконання задачі бінарної класифікації введеної програми на коректну і не коректну. Для навчання мережі було обрано алгоритм SDCA, що добре зарекомендував себе для розв’язку задач бінарної класифікації. З метою генерації інструкцій цільової мови на основі введеної програми у даній статті було використано генеративний штучний інтелект на основі LLM від компанії OpenAI. Для розв’язку задачі модель ChatGPT була донавчена на відповідних прикладах методом fine-tuning. Дослідження було апробоване на прикладі створення тестового компілятора, що перевіряє на коректність введену програму, що написана мовою TypeScript, та генерує відповідний код мовою CIL з достатньо високою точністю. Отриманий результат доводить, що використання методів машинного навчання для створення компіляторів є можливим. Такий підхід дозволить звести розробку компілятора тільки до підготовки правильного набору даних для донавчання відповідних моделей, що є значно простішим і менш часовитратним у порівнянні з класичним підходом, коли для кожного способу чи методу компіляції підмножини мови, що компілюється, необхідно вносити зміни і доопрацьовувати лексичний, синтаксичний, семантичний аналізатори та генератор коду для кожної нової чи зміненої конструкції вхідної мови програмування
Посилання
2. Yujia Li, David Choi, , Junyoung Chung and others. «Competition-level code generation with AlphaCode», Science, 2022, Vol 378, pp. 1092-1097.
3. AlphaCode Attention Visualization
4. Qiushi Sun, Nuo Chen, Jianing Wang, Xiang Li, Ming Gao. «TransCoder: Towards Unified Transferable Code Representation Learning Inspired by Human Skills», Proceedings of the 2024 Joint International Conference on Computational Linguistics, Language Resources and Evaluation, 2024, pp. 16713–16726
5. Документація TypeScript.


