Исследователи из Университета Иллинойса представляют Magicoder серию полностью открытых моделей большого языка (LLM) для кода.

Университет Иллинойса представляет серию Magicoder - полностью открытых моделей большого языка (LLM) для кода

Команда исследователей из Университета Иллинойса в Урбана-Шампейне и университета Цинхуа ставила перед собой задачу создания кодовых задач с низкой степенью предубеждения и высокого качества на основе фрагментов открытого исходного кода путем использования Magicoder. Magicoder показывает лучшие результаты на различных кодовых бенчмарках, включая генерацию кода из текста на Python, многоязычное программирование и моделирование программ для науки о данных.

Известные базовые модели, такие как CodeGen, CodeT5, StarCoder и CODELLAMA, подтвердили возможность использования LLM в генерации и понимании кода. Была предложена настройка инструкций для улучшения предварительно обученных LLM путем их донастройки с использованием пар инструкция-ответ, а такие методы, как SELF-INSTRUCT и Evol-Instruct, использовались для генерации синтетических данных для настройки инструкций. Существующие кодовые бенчмарки, такие как HumanEval, MBPP, APPS и CodeContests, оценивают работу LLM на разработке программ с единой функцией на основе описания на естественном языке.

Magicoder представляет собой серию полностью открытых LLM для кода, обученных на 75 тысячах синтетических инструкционных данных с использованием OSS-INSTRUCT, подходом к «просветлению» LLM с помощью фрагментов открытого исходного кода для создания высококачественных инструкционных данных для кода. Этот метод побуждает LLM порождать проблемы и решения кодирования на основе исходных фрагментов кода с GitHub, обеспечивая разнообразие и актуальность реального мира. Оценка проводится с использованием бенчмарков, таких как HumanEval и MBPP, с акцентом на метрику pass1. INSTRUCTOR используется для категоризации данных, порождаемых OSS-INSTRUCT, на основе схожести эмбеддингов. Применяются методы очистки данных, включая дезинфекцию и фильтрацию подсказок, для повышения прочности.

Magicoder демонстрирует конкурентоспособность с ведущими моделями кода при размере параметра не более 7 миллиардов. Обученный на 75 тысячах синтетических инструкционных данных с использованием OSS-INSTRUCT, Magicoder превосходит передовые модели кода в генерации кода на Python, многоязычном программировании и моделировании программ для науки о данных. Улучшенная версия, MagicoderS, дополнительно улучшает производительность генерации кода, превосходя другие модели схожих или более крупных размеров на различных бенчмарках. MagicoderS-CL-7B одновременно достигает передовых результатов среди моделей кода, проявляя надежные и превосходные возможности по генерации кода.

В заключение, исследование подчеркивает эффективность использования OSS-INSTRUCT, которая использует LLM для создания кодовых задач на основе фрагментов открытого исходного кода. Magicoder, обученный с использованием OSS-INSTRUCT, показывает лучшие результаты по сравнению с другими LLM с большими параметрами на разнообразных кодовых бенчмарках. Кроме того, в сочетании с Evol-Instruct он улучшает модели MagicoderS, которые проявляют впечатляющую производительность на бенчмарках HumanEval, аналогичную ведущим моделям, таким как ChatGPT. В рамках исследования рекомендуется предоставить веса модели, обучающие данные и исходный код в открытый доступ, чтобы поддержать будущее исследование в области LLM для кода и масштабирование OSS-INSTRUCT на более мощные базовые модели для создания качественных данных для будущих работ.