Yi-Coder: мощная серия маломасштабных моделей для генерации кода, редактирования и понимания долгих контекстов
Ландшафт больших языковых моделей (LLM) для кодирования обогатился выпуском Yi-Coder от 01.AI – серии открытых моделей, разработанных для эффективной и мощной работы с кодом. Несмотря на свой относительно небольшой размер, Yi-Coder обеспечивает результаты на уровне передовых технологий, позиционируя себя как серьезный игрок в области генерации и завершения кода. Доступные в двух конфигурациях, 1,5 миллиарда и 9 миллиардов параметров, Yi-Coder демонстрирует, что больше не всегда значит лучше, предлагая впечатляющий набор возможностей, нацеленных на разработчиков, ищущих высокопроизводительные модели с минимальными ресурсами.
Варианты моделей, опубликованные на Hugging Face:
Yi-Coder-9B-Chat: модель, разработанная для генерации текста, с акцентом на задачи, связанные с кодом, предлагающая интерактивные и разговорные возможности. Она демонстрирует результаты на уровне передовых технологий в соревновательном программировании и генерации кода с длинным контекстом.
Yi-Coder-9B: более крупная базовая модель в серии, предлагает мощную генерацию и понимание кода на 52 языках программирования. Она была обновлена для оптимизации обработки длинного контекста и отлично справляется с выполнением сложных задач на уровне проекта.
Yi-Coder-1.5B-Chat: более компактная модель, разработанная для задач чат-кодирования, обеспечивает впечатляющие результаты в редактировании кода и интерактивном завершении кода. Недавнее обновление сосредоточено на улучшении ее производительности в реальном времени и точности в приложениях разговорного кодирования.
Yi-Coder-1.5B: базовая модель предлагает эффективное решение для разработчиков, нуждающихся в быстрой генерации кода с меньшими вычислительными ресурсами. Недавнее обновление улучшает ее способность справляться с базовыми программными задачами, делая ее очень универсальным инструментом для разработчиков с ограниченным оборудованием.
Yi-Coder-9B, более крупная из двух моделей, выделяется своим продвинутым обучением. Она строится на базе Yi-9B с дополнительными 2,4 триллионами высококачественных токенов, полученных из обширного корпуса кода на GitHub и данных, связанных с кодом, отфильтрованных из CommonCrawl. Эти токены охватывают 52 основных языка программирования, позволяя Yi-Coder предлагать непревзойденную профессиональную подготовку в различных средах программирования.
Одним из наиболее впечатляющих аспектов Yi-Coder является его конкурентоспособная производительность, особенно модели Yi-Coder-9B-Chat. В рамках строгих оценок Yi-Coder-9B-Chat достигла показателя прохождения 23,4% на LiveCodeBench, платформе, разработанной для оценки LLM с использованием задач соревновательного программирования в реальном времени, полученных из LeetCode, AtCoder и CodeForces. Заметно, что производительность Yi-Coder превзошла гораздо более крупные модели, включая DeepSeek-Coder-33B-Instruct и CodeGeex4-All-9B, что делает ее единственной моделью с числом параметров менее 10 миллиардов, преодолевшей порог в 20%.
Помимо своих преимуществ в соревновательном программировании, Yi-Coder проявила себя в стандартных бенчмарках генерации кода, таких как HumanEval, MBPP и CRUXEval-O. С показателем прохождения 85,4% на HumanEval и 73,8% на MBPP, Yi-Coder-9B-Chat превзошла многих своих конкурентов, демонстрируя свою способность справляться с базовыми и сложными задачами программирования. Она также стала первой открытой моделью LLM, превысившей 50% точности на CRUXEval-O, что дополнительно подтверждает ее статус высокопроизводительной модели в сообществе программистов.
Yi-Coder не ограничивается генерацией кода; она также проявляет себя в задачах редактирования кода. Используя CodeEditorBench, бенчмарк, разработанный для оценки способности модели выполнять отладку, перевод, переключение языка и полировку кода, Yi-Coder последовательно превосходила своих конкурентов. Модель продемонстрировала впечатляющие победы над другими открытыми моделями, особенно в отладке и переводе кода. Это делает Yi-Coder привлекательной для разработчиков, стремящихся оптимизировать процессы улучшения своего кода.
Еще одной ключевой областью, в которой Yi-Coder блеснет, является завершение кода между файлами, ключевое требование современных интегрированных сред разработки (IDE). На бенчмарке CrossCodeEval, который тестирует способность моделей понимать и завершать код с зависимостями между файлами, Yi-Coder превзошла модели схожего размера как в контексте извлечения, так и в контексте без извлечения. Этот результат можно объяснить ее обширным обучением на корпусах кода на уровне репозитория, позволяющим ей улавливать долгосрочные зависимости и эффективно завершать задачи по коду, охватывающие несколько файлов.
Понимание долгих контекстов является одним из наиболее уникальных преимуществ Yi-Coder. В синтетической задаче под названием “Иголка в коде” Yi-Coder продемонстрировала свою способность обрабатывать последовательности длиной до 128 тысяч токенов, вдвое больше, чем используется в сравнимых оценках, например, тех, которые проводятся CodeQwen1.5. Модель безупречно выполнила эту задачу, демонстрируя свою профессиональную подготовку в извлечении ключевой информации из обширных кодовых баз, что является важным навыком для разработчиков, работающих над крупными проектами.
Помимо своих возможностей в области кодирования, Yi-Coder показала потенциал в математическом рассуждении. С использованием языковых моделей, поддерживаемых программой (PAL), Yi-Coder-9B достигла средней точности 70,3% по семи бенчмаркам математического рассуждения, превзойдя производительность более крупной модели DeepSeek-Coder-33B. Это демонстрирует, что сильные навыки кодирования могут переноситься и на другие области, такие как решение сложных математических задач.
В заключение, выпуск Yi-Coder является важным шагом в развитии LLM, ориентированных на код. Несмотря на свое относительно небольшое количество параметров, модель предлагает конкурентное преимущество перед более крупными альтернативами, выделяясь в понимании долгих контекстов, математическом рассуждении и редактировании кода. Ее доступность в базовых и чат-версиях обеспечивает гибкость для пользователей, ищущих эффективные варианты вывода и обучения. Открытие Yi-Coder 01.AI значительно внесло вклад в развитие сообщества разработчиков. Замечательная производительность модели в различных задачах программирования и ее эффективная архитектура позиционируют Yi-Coder как мощный инструмент для разработчиков, стремящихся расширить границы того, что могут достичь небольшие LLM в разработке программного обеспечения.