ChatPaper.aiChatPaper

Обзор языковых моделей для работы с кодом

A Survey on Language Models for Code

November 14, 2023
Авторы: Ziyin Zhang, Chaoyu Chen, Bingchang Liu, Cong Liao, Zi Gong, Hang Yu, Jianguo Li, Rui Wang
cs.AI

Аннотация

В данной работе мы проводим систематический обзор последних достижений в области обработки кода с использованием языковых моделей, охватывая более 50 моделей, 30+ задач оценки и 500 связанных исследований. Мы разделяем модели обработки кода на общие языковые модели, представленные семейством GPT, и специализированные модели, которые предварительно обучаются на коде, часто с адаптированными целями. Мы обсуждаем взаимосвязи и различия между этими моделями, а также выделяем исторический переход от статистических моделей и рекуррентных нейронных сетей (RNN) к предобученным трансформерам и крупным языковым моделям (LLM), что в точности повторяет путь, пройденный в области обработки естественного языка (NLP). Мы также рассматриваем специфические для кода элементы, такие как абстрактные синтаксические деревья (AST), графы потока управления (CFG) и модульные тесты, а также их применение при обучении языковых моделей для кода, и определяем ключевые вызовы и потенциальные направления будущих исследований в этой области. Мы поддерживаем обзор в открытом и актуальном состоянии на GitHub-репозитории по адресу https://github.com/codefuse-ai/Awesome-Code-LLM.
English
In this work we systematically review the recent advancements in code processing with language models, covering 50+ models, 30+ evaluation tasks, and 500 related works. We break down code processing models into general language models represented by the GPT family and specialized models that are specifically pretrained on code, often with tailored objectives. We discuss the relations and differences between these models, and highlight the historical transition of code modeling from statistical models and RNNs to pretrained Transformers and LLMs, which is exactly the same course that had been taken by NLP. We also discuss code-specific features such as AST, CFG, and unit tests, along with their application in training code language models, and identify key challenges and potential future directions in this domain. We keep the survey open and updated on github repository at https://github.com/codefuse-ai/Awesome-Code-LLM.
PDF250December 15, 2024