Машинное Сердце Оригинал
Автор: Ду Вэй
Для больших моделей кода более важным, чем способность решать вопросы программирования, является то, можно ли их применить для разработки проектов на уровне предприятия, можно ли их беспрепятственно использовать в реальных сценариях разработки программного обеспечения, высока ли стоимость и может быть точным. В соответствии с потребностями бизнеса последнее является жесткой силой, о которой заботятся разработчики.
В настоящее время важной тенденцией стала интеграция больших языковых моделей в область программирования для выполнения задач генерации и завершения кода. В отрасли появился ряд привлекательных моделей большого кода, таких как CodeX от OpenAI, AlphaCode от Google DeepMind и StarCoder от HuggingFace, которые помогают программистам выполнять задачи по кодированию быстрее, точнее и с более высоким качеством, что значительно повышает эффективность.
Есть такая команда исследований и разработок, которая начала изучать использование глубокого обучения в разработке программного обеспечения 10 лет назад и является мировым лидером как в понимании кода, так и в его генерации. Это команда aiXcoder (называемая командой aiXcoder) из Института разработки программного обеспечения Пекинского университета. На этот раз они представили разработчикам новые эффективные инструменты кодирования.
4 луна 9 День, команда Открытый исходный код ПонятноПолностью собственная разработка модели кода aiXcoder 7B.,Он не только значительно опережает тот же уровень или даже превосходит его в задачах генерации и завершения кода, 15B、34B Большая модель кода с уровнями параметров и своими уникальными преимуществами в области персонализированного обучения, частного развертывания и индивидуальной разработки стала моделью большого кода, которая наиболее подходит для корпоративных приложений и может наилучшим образом удовлетворить потребности персонализированной разработки.
Все параметры модели и код вывода aiXcoder 7B имеют открытый исходный код и доступны через такие платформы, как GitHub, Hugging Face, Gitee и GitLink.
«Слушать — ложно, видеть — значит верить», все равно все должно основываться на реальных данных оценки и реальных эффектах задачи.
Чехарда
Может делать то, чего не могут другие модели большого кода
Легкость использования большой модели кода, конечно, должна быть проверена в задачах генерации и завершения кода, которые наиболее полезны и используются программистами.
Давайте сначала посмотрим на результаты сравнения генерации кода в тестах оценки эффекта генерации кода, таких как OpenAI HumanEval (состоит из 164 вопросов по программированию на Python), Google MBPP (состоит из 974 вопросов по программированию на Python) и HuggingFace MultiPL-E (включая 18 языков программирования). На съемочной площадке точность версии aiXcoder 7B намного превосходит нынешнюю распространенную модель большого кода, становясь самой сильной среди миллиардов или даже десятков миллиардов параметров.
кроме как в HumanEval Таким образом, достигается новая точность на тестовом наборе, ориентированном на нереальные сценарии разработки. SOTA,aiXcoder 7B Производительность в реальных сценариях разработки, таких как завершение кода, еще более замечательна.,Например, напишите выше, чтобы сделать код больше Модель Определен дополнительный текст или ссылки на перекрестные файлы.изметод、функция、Класс и т. д.
Пусть данные говорят сами за себя. В SantaCoder, однострочном оценочном наборе, учитывающем контекст, базовая версия aiXcoder 7B достигла лучших результатов в конкуренции с основными моделями с открытым исходным кодом того же масштаба, такими как StarCoder 2, CodeLlama 7B/13B. и DeepSeekCoder 7B, ставшие лучшими. Базовая модель завершения кода, подходящая для реальных сценариев программирования. Подробности показаны в следующей таблице:
Базовая версия aiXcoder 7B имеет лучший эффект завершения.,Не только точность выше,В реальной работе это также показало, что другие модели большого кода не так хороши или уступают их собственным возможностям.。осознать этоиз За этим стоит ряд специфичных для кода функций.из创新训练метод,Именно они делают aiXcoder 7B Base Выдачей дохода.
Во-первых, aiXcoder 7B Base версия предоставляется во время предварительного обучения 32k издлина контекста,Это самая большая среди существующих крупных моделей кода величины параметра 7Б.,Другие в основном 16 тыс. Мало того, метод интерполяции может напрямую увеличить длину контекста до 256k, с возможностью теоретического увеличения.
Он имеет наибольшую длину контекста перед обучением среди моделей одинакового размера и может быть гибко расширен, что становится важной основой для улучшения эффекта завершения кода базовой версии aiXcoder 7B.
Во-вторых, aiXcoder 7B Base версия в процессе завершения кода«Знать», когда пользователю нужно сгенерировать код, и автоматически останавливаться, когда содержимое кода завершено и больше не нужно генерировать.。Это становится Модельотносительно уникальныйиз Функция,Многие другие коды большой модели не могут этого сделать.
Команда aiXcoder заявила, что техническая реализация этой функции неотделима от структурированной технологии Span. При обучении модели технология структурированного Span используется для создания обучающих данных и связанных с ними задач, позволяя модели узнать, когда пользователю следует сгенерировать код или является ли завершенный контент полным с точки зрения синтаксиса и семантической структуры.
Это означает, что базовая версия aiXcoder 7B может автоматически «знать», где она определила, в то время как другим моделям необходимо вручную устанавливать условия завершения, если они хотят завершить работу. Автоматическое рассуждение устраняет эту проблему и помогает повысить эффективность работы.
Кроме того,в aiXcoder Расширенный набор тестов (aiXcoder Скамейка)начальство, aiXcoder 7B Base версия表现出Понятно Большая модель по сравнению с другими кодамииз Еще одна изюминка,Прямо сейчасПредпочитайте более короткий код для выполнения задач, заданных пользователем.。
Подробные результаты показаны в таблице ниже. При оценке автодополнения кода для языков программирования Java, C++, JavaScript и Python aiXcoder 7B Base не только дает лучший эффект, но и длина сгенерированных ответов, обведенных красными прямоугольниками, значительно короче, чем другие конкурирующие модели И очень близко, а иногда даже короче, чем стандартный ответ (Ссылка).
Команда aiXcoder отметила, что это последующее открытие по-прежнему неотделимо от структурированной технологии Span. Особое внимание они уделяли структуре кода на протяжении всего процесса обучения, а структурированный Span разбивает код в соответствии со структурой кода, что более способствует отражению семантики кода и в конечном итоге способствует «коротким» ответам модели, имея при этом превосходное качество. эффекты.
кроме как Отличная производительность в описанной выше задаче завершения контекстного кода одного файла, aiXcoder. 7B Base версияПроизводительность в сценариях завершения нескольких файлов также выше.,Эффект улучшается не только при многофайловом программировании.,Еще в таблице ниже CrossCodeEval В оценочном наборе было сделано важное открытие.
По словам команды aiXcoder, модель использует в качестве подсказки только результаты поиска с помощью курсора (просматривает только текущий написанный текст), в то время как другие модели используют результаты поиска GroundTruth (предоставляют файлы, содержащие ответы на эти модели) в качестве подсказки. При этом условии первое все же более эффективно, чем второе.
Как? Что касается других моделей, даже если имеется больше контекстной информации, они не могут определить, какие из них являются наиболее важными и важными. Базовая версия aiXcoder 7B может выбирать наиболее эффективные и основные детали контекста для текущего кода, записываемого из файла контекста, поэтому она дает хорошие результаты.
Здесь крайне важно понять, какая информация является наиболее эффективной. Благодаря дальнейшей обработке информации контекста в сочетании с кластеризацией связанного с файлом контента и графом вызовов кода строится взаимосвязь взаимного внимания между несколькими файлами, а затем и текущими. Получена самая важная информация.
Все эти инновационные методы обучения во многом определяют aiXcoder 7B Base версия может победить в соревнованиях среди множества больших моделей кода. также, 1,2 трлн высококачественных обучающих данных также вносят большой вклад.,Эта величина не только самая большая в модели такого же типа.,Или уникальные данные токена.
Среди них важную роль в эффекте модели играет 600 ГБ высококачественных данных с приоритетом. Другие данные в основном поступают из GitHub, Stack Overflow, Gitee и т. д. Часть естественного языка также включает часть данных CSDN, и все данные фильтруются. .
Talk is cheap, Show me the code
Очевидно, что базовая версия aiXcoder 7B превосходит другие модели большого кода по оценочным данным, но может ли она эффективно помочь разработчикам выполнять задачи кодирования? Это все еще зависит от реального боевого эффекта.
Сначала посмотригенеративная способность,Для фронтенд-разработки,aiXcoder 7B Base Версия может быстро создавать соответствующие веб-страницы с помощью комментариев:
Он также может решать сложные алгоритмические задачи, такие как классическая задача о разделении конфет. С помощью жадной стратегии минимальное количество конфет можно получить, дважды пройдя слева и справа.
Давайте рассмотрим более удобные сценарии завершения кода базовой версии aiXcoder 7B, такие как завершение длинного контекста. Здесь несколько функций инструмента используются для составления более 1500 строк кода, а модель должна дополнять комментарии в конце файла. Модель определила соответствующие функции в верхней части файла и успешно объединила информацию о функциях. для завершения соответствующих методов:
Существует также следующая задача межфайлового завершения, которая применяет динамическое программирование к древовидной структуре для реализации поиска на расстоянии редактирования. Код завершения модели распознает взаимосвязь между расчетом расстояния редактирования и расчетом минимального значения в подвижном массиве в другом файле и дает правильный результат прогнозирования:
Конечно, длину вывода также можно разумно подобрать. Когда пользователи корректируют содержание внедрения, модель может автоматически корректировать продолжительность завершения в зависимости от текущей ситуации внедрения:
Одним словом, с базовой версией модели большого кода aiXcoder 7B у программистов появляется дополнительный инструмент для повышения эффективности, будь то генерация или завершение кода, экономия времени и получение двойного результата с вполовину меньшими усилиями.
Лучшие эффекты, лучшие приложения
Используйте основную конкурентоспособность, чтобы стать первым выбором для предприятий.
Мы видели, что базовая версия aiXcoder 7B полностью продемонстрировала свою мощь в реальных сценариях разработки, таких как завершение кода. Однако эффективность модели большого кода не впечатляет корпоративных заказчиков. Только когда их потребности будут полностью удовлетворены, корпоративные клиенты без колебаний совершат покупку.
Базовая версия aiXcoder 7B — это именно то, что вам нужно для бизнеса.、решить ихизиндивидуальный Сексуальные потребности приходятиз。Создайте большую модель кода, наиболее подходящую для корпоративных приложений.,成为Понятно aiXcoder 7B Base Основная цель версии и еще одно основное преимущество, отличающее ее от других моделей.
Конечно, нелегко стать лучшим выбором для корпоративных приложений. Необходимо провести углубленное исследование реальной ситуации, бизнес-сценариев предприятия, потребностей и доступных затрат. Модель aiXcoder не только делает это, но и делает это до крайности.
Короче говоря, для реализации персонализированных приложений на уровне предприятия модель aiXcoder работает в трех аспектах: частное развертывание, персонализированное обучение и индивидуальная разработка, создавая основные преимущества по сравнению с другими моделями большого кода.
Первый взгляд наЧастное развертывание。дляпредприятие С точки зрения,Большой код Модельна локальном сервереиз Частное При запуске развертывания в первую очередь необходимо учитывать, смогут ли его поддерживать собственные вычислительные мощности. В этот момент, aiXcoder модель для бизнеса GPU Меньшие требования к ресурсам и низкие инвестиции в приложения значительно снижают порог развертывания модели.
Кроме того, у разных компаний разное программное и аппаратное обеспечение, включая отечественные чипы и зарубежные видеокарты, такие как Nvidia. На основе этого модель aiXcoder подвергается целевой аппаратной адаптации, дальнейшему обучению модели и оптимизации вывода, например, использованию технологии кэширования на уровне обработки информации, чтобы полностью удовлетворить разнообразные требования к развертыванию.
Во-вторых, также aiXcoder МодельподчеркиватьизПерсонализированное обучение。мы знаемдорога,предприятиеиз Фактическую ситуацию нельзя обобщать,и aiXcoder Модель способна адаптироваться к любой ситуации и предоставить «пакет» персонализированных решений для обучения модели.
С одной стороны, создается набор данных для конкретного предприятия и оценочный набор. Набор данных создается на основе характеристик кода компании и привычек сотрудников в области кодирования и специализируется на предварительной обработке данных кода и связанных документов. на основе реальных сценариев развития для моделирования и оценки ожидаемых результатов модели в практических приложениях.
С другой стороны, мы объединяем внутренний фактор корпоративного кода с внешним фактором вычислительных ресурсов предприятия, полностью учитываем количество вычислительных ресурсов и объем кода различных предприятий и предоставляем им гибкие персонализированные планы обучения и оптимизации для максимального улучшения. эксклюзивный Эффект раннего обучения и последующий эффект применения модели большого кода.
ТретийИндивидуальная разработка。aiXcoder Модель ориентирована на реальные условия различных отраслей и предприятий и предоставляет им гибкие индивидуальные услуги, основанные на индивидуальных потребностях предприятий. Благодаря богатому и зрелому опыту индивидуальной разработки модели, построенные на основе корпоративного кода и вычислительных ресурсов, полностью соответствуют реальным потребностям, что делает повышение эффективности бизнеса ощутимым. В настоящее время клиенты распространились по банковскому делу, ценным бумагам, страхованию, военной промышленности, операторам, энергетике, транспорту и другим отраслям.
можно увидеть,Большая модель по сравнению с другими кодами,aiXcoder также может предоставлять продукты и услуги «Персонализированное обучение» для предприятий.,Это единственный в отрасли。
Команда позади
Десять лет упорного труда и накоплений
Возможности кодирования, продемонстрированные на этот раз большой моделью кода базовой версии aiXcoder 7B, вызвали у нас еще больший интерес к команде, стоящей за этой моделью.
Понятно, что команда aiXcoder начала исследования по анализу кода на основе глубокого обучения в 2013 году и является первой командой в мире, которая применила технологию глубокого обучения в областях генерации и понимания кода.
За последние десять лет команда опубликовала более 100 соответствующих статей на ведущих конференциях, таких как NeurIPS, ACL, IJCAI, ICSE, FSE и ASE. Многие статьи были признаны международными учеными «первыми достижениями» и широко цитируются. Они неоднократно получали награду ACM «Выдающиеся работы».
В 2017 году aiXcoder приобрел форму, а в 2018 году был официально выпущен aiXcoder 1.0, обеспечивающий функции автоматического завершения кода и поиска.
2021 Год 4 луна, команда запустила полностью независимый код прав интеллектуальной собственности с миллиардом уровней параметров Модель aiXcoder L версия, поддерживающая автодополнение кода и рекомендации на естественном языке. Это также первый коммерческий продукт интеллектуального программирования, основанный на «большой модели» в Китае.
После этого команда продолжила бороться с трудностями, и в 2022 году Год 6 луна в очередной раз запустила первую отечественную индивидуальную систему с поддержкой генерации кода на уровне методов из Модель aiXcoder XL версия, также имеет полностью независимые права интеллектуальной собственности.
2023 Год 8 луна, Фокус на предприятии Адаптацияиз aiXcoder Europa В режиме онлайн он может предоставлять предприятиям частные услуги по развертыванию и персонализированному обучению с учетом их требований к безопасности данных и вычислительной мощности, эффективно снижая порог приложения для больших моделей кода и повышая эффективность разработки.
На этот раз команда aiXcoder открыла исходный код базовой версии aiXcoder 7B, предложив всем новую протестированную модель кода. С одной стороны, революционные возможности модели в реальных сценариях разработки, таких как завершение кода со шкалой параметров 7B, а также ее многоядерная конкурентоспособность в корпоративной адаптации, помогут способствовать общему прогрессу индустрии больших моделей кода. С другой стороны, эта модель окажет глубокое влияние на более широкий спектр автоматизации разработки программного обеспечения, ускоряя этот процесс и одновременно гарантируя, что все сферы жизни продолжат повышать эффективность бизнеса и трансформировать методы производства.
Мало того, по сравнению с обычными моделями, которые также имеют возможности кода, базовая версия aiXcoder 7B позволяет нам видеть, что большие модели с выделенным кодом имеют меньшие затраты на обучение и вывод, затраты на развертывание на предприятии, а также лучшее и более стабильное воздействие на код уровня корпоративного проекта. .Всесторонние преимущества.
В настоящее время aiXcoder обслуживает большое количество ведущих клиентов в банковской сфере, сфере ценных бумаг, страховании, военной промышленности, высоких технологиях, операторах, энергетике, транспорте и других отраслях, а также активно обслуживает финансовую отрасль. работал с известной в отрасли компанией по ценным бумагам над применением «больших моделей кода в индустрии ценных бумаг». Проект «Практика» получил такие награды, как десять лучших потенциальных случаев применения искусственного интеллекта AIIA 2023 года и Китайская академия информации. и выдающиеся дела AI4SE Silver Bullet от Communications Technology.
В то же время aiXcoder постоянно пользуется спросом на рынке капитала из-за его дальновидного направления исследований и практичной практики внедрения. Ведущие в отрасли фонды, такие как Hillhouse, Qingliu и Binfu, инвестировали в команду aiXcoder. Он быстро вырос!
Очевидно, что команда aiXcoder хорошо подготовлена к будущему соревнованию AIGC.
Ссылка на открытый исходный код aiXcoder:
https://github.com/aixcoder-plugin/aiXcoder-7B
https://gitee.com/aixcoder-model/aixcoder-7b
https://www.gitlink.org.cn/aixcoder/aixcoder-7b-model
https://wisemodel.cn/codes/aiXcoder/aiXcoder-7b