Интервью Способность коммерческих моделей больших языков решать проблемы конкурентоспособного программирования можно значительно повысить, тщательно управляя их процессами посредством умного оперативного проектирования.
Чтобы продемонстрировать это, компания Codium AI, базирующаяся в Израиле, создала AlphaCodium и выпустил программное обеспечение на GitHub в этом месяце. AlphaCodium сам по себе не является большой языковой моделью. Вместо этого это метод, который улучшает возможности решения проблем генеративных инструментов искусственного интеллекта, таких как GPT-4, с помощью того, что генеральный директор Итамар Фридман называет «инжинирингом потоков».
Сначала в базовую модель большого языка передается вопрос по программированию, и его просят описать и резюмировать проблему. Эта информация затем определяет, как начать решать проблему. AlphaCodium определяет вещи, например, какими должны быть входные и выходные данные при поиске решения. Все это описано на естественном языке.
Затем модель начинает генерировать код, соответствующий только что описанным спецификациям. Соревнования по программированию, в которых участникам предлагается написать код по спецификации, обычно включают тесты, показывающие, что скрипт должен выводить при заданных входных данных. AlphaCodium генерирует больше таких тестовых примеров, а затем просматривает возможные решения, чтобы проверить, работает ли код должным образом.
Если ей не удается сопоставить ни один из выходных данных, определенных в каком-либо из тестов, модель генерирует разные решения до тех пор, пока они не пройдут все тесты или не потерпят неудачу. Ошибки могут возникнуть, когда код не компилируется или просто неправильный.
Вы можете увидеть различные этапы процесса проектирования потоков на диаграмме ниже. Он в основном разделен на этап предварительной обработки, на котором система анализирует проблему на естественном языке, и этап итерации кода, на котором сравниваются возможные решения с общедоступными тестами и тестами, созданными ИИ.
«Мы не берем проблему, не идем к модели и не говорим ей: «Эй, пожалуйста, сгенерируйте окончательное решение», — сказал Фридман. Регистр. «Мы просим модель переопределить эту проблему в пунктах». Упрощение и разбиение на части облегчает модели последующую генерацию кода для различных частей алгоритма.
По сути, проектирование потоков — это процедура, которая направляет процесс решения проблем модели, разбивая его на четко определенные этапы. Нам говорят, что предложение «разделить сгенерированный код на небольшие подфункции со значимыми именами и функциональностью» приводит к меньшему количеству ошибок и упрощает тестирование и исправление кода.
«По сути, мы потратили 95 процентов нашего времени на проектирование потоков и только 5 процентов на оперативное проектирование, и мы не меняли подсказки для каждого [шага]», — добавил Фридман.
Инженеры из Codium проверили производительность своей модели на сотнях задач, использованных при проверке и тестировании частей набора данных CodeForces, собранного Google DeepMind два года назад. Они утверждают, что AlphaCodium лучше справляется с проблемами кодирования, чем модели AlphaCode и AlphaCode2 от Google DeepMind.
Результаты представлены в arXiv бумаги [PDF] AlphaCodium смог правильно ответить на 44 процента вопросов по сравнению с 24 процентами AlphaCode, при этом создав только пять решений по сравнению с десятью выбранными AlphaCode решениями для 107 задач проверки. Интересно, что разрыв сократился, когда дело дошло до 165 тестовых задач: AlphaCodium решила 29 процентов по сравнению с 28 процентами AlphaCode.
AlphaCode выбирает десять наиболее перспективных решений из десятков тысяч или сотен тысяч возможных сценариев, которые он генерирует, что делает его запуск трудоемким.
«Мы гораздо больше сосредоточились на всем процессе тестирования», — сказал Фридман. «Что касается Google, они проделали очень большую работу над генерацией. Они пытаются создать сотни других вариантов, а мы создаем очень мало решений, но тщательно их тестируем, чтобы улучшить код».
AlphaCodium немного лучше, чем последняя модель AlphaCode2 от Google DeepMind, которая в 10,000 XNUMX раз эффективнее своей предшественницы AlphaCode, добавил он.
Фридман заявил, что он уверен, что производительность AlphaCodium не связана с утечкой данных, поскольку базовая модель была обучена и протестирована на тех же проблемах. Версия GPT-4, лежащая в основе AlphaCodium, обучалась на тексте, извлеченном из Интернета, вплоть до сентября 2021 года, тогда как проблемы, на которых она тестировала свою систему, были взяты из вышеупомянутого набора данных CodeForces, который был выпущен намного позже.
Однако лучшее сравнение «яблок с яблоком», которое оценивает процесс проектирования потоков, рассматривает способность GPT-4 решать те же самые вопросы с применением AlphaCodium и без него. Обычный старый GPT-4 мог правильно ответить только на 19 и 12 процентов задач в наборах проверки и тестирования соответственно, по сравнению с 44 и 29 процентами варианта на базе AlphaCodium.
Короче говоря, похоже, что внедрение тщательного конвейера, который генерирует дополнительные данные для управления генерацией кода и улучшения процесса тестирования, может быть более эффективным, чем попытка обучения большой языковой модели с нуля.
Codium недавно выпустила новый инструмент для поддержки разработчиков Python, которые теперь могут вызывать AlphaCodium для непосредственного решения проблемы кодирования в своей IDE. Вы можете играть с ним Вот. ®
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: https://go.theregister.com/feed/www.theregister.com/2024/02/19/codium_ai_interview/
- :имеет
- :является
- :нет
- :куда
- $UP
- 10
- 12
- 19
- 2021
- 24
- 28
- 29
- 7
- a
- способности
- способность
- в состоянии
- точность
- добавленный
- дополнительный
- против
- тому назад
- AI
- алгоритм
- Выравнивает
- Все
- an
- анализы
- и
- ответ
- любой
- появляется
- Применение
- возникать
- AS
- спросить
- спрашивающий
- оценивает
- At
- основанный
- в основном
- BE
- было
- начинать
- начинается
- ниже
- Лучшая
- Немного
- Повышенный
- Разрыв
- широкий
- ошибки
- построенный
- но
- by
- призывают
- Объявления
- пришел
- CAN
- тщательный
- осторожно
- случаев
- Генеральный директор
- изменение
- проверка
- выбранный
- утверждать
- CO
- код
- Кодирование
- приход
- коммерческая
- сравненный
- сравнение
- Соревнования
- конкурентоспособный
- скомпилированный
- вычислительно
- уверенный
- правильно
- может
- данным
- утечка данных
- набор данных
- DeepMind
- определенный
- Определяет
- демонстрировать
- описывать
- описано
- застройщиков
- диаграмма
- DID
- различный
- непосредственно
- делить
- Безразлично
- Дон
- два
- каждый
- легче
- Эффективный
- эффективный
- Проект и
- Весь
- ошибки
- ожидаемый
- не удается
- ФРС
- несколько
- меньше
- окончательный
- 5
- фиксированный
- поток
- внимание
- Что касается
- от
- функциональность
- разрыв
- порождать
- генерируется
- генерирует
- порождающий
- поколение
- генеративный
- Генеративный ИИ
- GitHub
- данный
- Go
- инструкция
- Гиды
- руководящий
- he
- Как
- Однако
- HTTPS
- Сотни
- if
- Осуществляющий
- улучшать
- улучшение
- улучшается
- in
- информация
- вход
- затраты
- вместо
- Интернет
- в
- мобильной
- Израиль
- IT
- итерация
- ЕГО
- JPG
- всего
- этикетка
- язык
- большой
- в значительной степени
- новее
- последний
- Лиды
- утечка
- такое как
- искать
- ДЕЛАЕТ
- Создание
- управлять
- Совпадение
- значимым
- метод
- модель
- Модели
- Месяц
- БОЛЕЕ
- более эффективным
- самых
- много
- имена
- натуральный
- Новые
- сейчас
- of
- Старый
- on
- только
- Опции
- or
- Другое
- наши
- внешний
- выходной
- выходы
- части
- pass
- для
- процент
- производительность
- фаза
- трубопровод
- одноцветный
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- Играть
- пожалуйста
- пунктов
- возможное
- Включение питания
- предшественник
- Проблема
- решение проблем
- проблемам
- процедуры
- процесс
- Процессы
- Программирование
- многообещающий
- наводящие
- обеспечивать
- что такое варган?
- Питон
- вопрос
- Вопросы
- RE
- на самом деле
- недавно
- переопределить
- выпустил
- Сообщается
- соответственно
- Итоги
- Run
- работает
- s
- Сказал
- то же
- поцарапать
- скрипт
- скрипты
- посмотреть
- сентябрь
- набор
- Наборы
- Короткое
- должен
- показ
- существенно
- упрощение
- небольшой
- So
- Software
- Решение
- Решения
- РЕШАТЬ
- Решение
- спецификации
- указанный
- потраченный
- раскол
- Этап
- современное состояние
- Шаг
- Шаги
- суммировать
- поддержка
- система
- взять
- приняты
- сказать
- 10
- десятки
- terms
- тестXNUMX
- проверенный
- Тестирование
- тестов
- текст
- чем
- который
- Ассоциация
- их
- Их
- тогда
- Эти
- они
- вещи
- этой
- те
- хоть?
- тысячи
- Через
- время
- в
- заявил
- инструментом
- инструменты
- Train
- специалистов
- стараться
- пытается
- два
- типично
- лежащий в основе
- до
- используемый
- через
- Проверка
- Вариант
- проверка
- версия
- очень
- законопроект
- we
- ЧТО Ж
- вполне определенный
- были
- Что
- когда
- в то время как
- в то время как
- КТО
- без
- Работа
- работает
- Неправильно
- лет
- Ты
- зефирнет