Источник изображения: сгенерировано инструментом Unbounded AI
Stability AI известен своей генеративной моделью преобразования текста в изображение Stable Diffusion, но это не все, в разработке чего заинтересован стартап генеративного ИИ. Стабильность ИИ проникает в мир генерации кода.
8 августа Stability AI объявила о первом общедоступном выпуске StableCode, своей новой открытой модели большого языка (LLM), предназначенной для помощи пользователям в создании кода для языков программирования. StableCode имеет три разных уровня: базовая модель для общих случаев использования, модель инструкций и модель длинного контекстного окна, которая может поддерживать до 16000 токенов.
*Источник: Stability AI (Сравнение Stability AI с другими моделями с аналогичным количеством параметров и числом обученных токенов. Stability AI использует популярный тест Human со стандартными показателями pass@1 и pass@10.)*
Модели StableCode извлекают выгоду из исходных наборов данных языка программирования из проекта BigCode с открытым исходным кодом, с дополнительной фильтрацией и тонкой настройкой, обеспечиваемой Stability AI. Первоначально StableCode будет поддерживать разработку на языках программирования Python, Go, Java, Java, C, Markdown и C++.
«Мы хотим использовать эту модель, чтобы сделать что-то похожее на Stable Diffusion, целью которого является помочь каждому в мире стать художником, — сказал в эксклюзивном интервью VentureBeat директор по исследованиям Stability AI Кристиан Лафорте. Модель StableCode делает то же самое: пусть любой, у кого есть хорошая идея, напишет программу для решения этой проблемы».
StableCode: опираясь на BigCode и большие идеи
Обучение любого LLM опирается на данные, а для StableCode эти данные поступают из проекта BigCode. Использование BigCode в качестве основы для инструмента генеративного ИИ-кода LLM — не новая идея. HuggingFace и ServiceNow уже в мае этого года запустили открытый StarCoder LLM, основой которого является BigCode.
Главный исследователь Stability AI Натан Купер объяснил в эксклюзивном интервью VentureBeat, что обучение StableCode включало обширную фильтрацию и очистку данных BigCode.
«Нам очень нравится BigCode, они проделали огромную работу по управлению данными, управлению моделями и обучению моделей», — сказал Купер. «Мы взяли их набор данных и применили дополнительные фильтры качества, а также построили версию модели с большим контекстным окном, которая затем была обучена на нашем кластере».
По словам Купера, искусственный интеллект стабильности выполняет ряд этапов обучения в дополнение к базовой модели BigCode. Эти шаги включают последовательное обучение определенному языку программирования. Согласно описанию на официальном сайте, StableCode обучил модель с 560 миллиардами токенов кода на своем высокопроизводительном вычислительном кластере.
«Он использует подход, очень похожий на область естественного языка: сначала предварительно обучают модель общего назначения, а затем настраивают ее для определенного набора задач, в данном случае языка», — сказал Купер.
StableCode Увеличение длины токена изменит правила игры по генерации кода
Помимо основы BigCode, версия StableCode с длинным контекстом предоставляет пользователям значительные преимущества.
Версия StableCode с длинным контекстным окном имеет контекстное окно из 16 000 токенов, что, по словам Stability AI, больше, чем в любой другой модели. По словам Купера, более длинные контекстные окна позволяют использовать более специализированные и сложные подсказки для генерации кода. Это также означает, что пользователи могут использовать StableCode для просмотра базы кода среднего размера с несколькими файлами, чтобы помочь понять и создать новый код.
«Вы можете использовать это более длинное окно контекста, чтобы позволить модели узнать больше о вашей кодовой базе и о том, какие функции определены в других файлах», — сказал Купер. Кодовая база и требования».
Улучшенная генерация кода с помощью RoPE
Как и все современные генеративные модели ИИ, StableCode основан на нейронных сетях-трансформерах.
Вместо использования метода ALiBi (внимание с линейными смещениями) для локализации вывода в модели преобразователя (который StarCoder использует в своей открытой генеративной модели кодирования ИИ), StableCode использует метод под названием RoPE.
По словам Купера, подход ALiBi в модели трансформатора, как правило, имеет больший вес для текущих токенов, чем для прошлых. По его мнению, это не идеальный подход к коду, потому что, в отличие от естественного языка, код не имеет фиксированной повествовательной структуры с началом, серединой и концом. Функциональность кода может быть определена для любой точки процесса приложения.
«Я не думаю, что сам код соответствует идее, что этот компромисс сейчас более важен, чем раньше, поэтому мы используем… RoPE, [который] не имеет такой предвзятости».
В настоящее время StableCode находится на ранних стадиях, и цель первого релиза — понять, как эта модель будет принята и использована разработчиками.
«Мы будем взаимодействовать и сотрудничать с сообществом, чтобы увидеть, какие интересные направления они придумают, и исследовать пространство генеративной разработки», — сказал Купер.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Stability AI входит в область программирования и выпускает StableCode, инструмент с контекстным окном до 16 000 токенов.
Сценарист: Шон Майкл Кернер
Источник: VentureBeat
Stability AI известен своей генеративной моделью преобразования текста в изображение Stable Diffusion, но это не все, в разработке чего заинтересован стартап генеративного ИИ. Стабильность ИИ проникает в мир генерации кода.
8 августа Stability AI объявила о первом общедоступном выпуске StableCode, своей новой открытой модели большого языка (LLM), предназначенной для помощи пользователям в создании кода для языков программирования. StableCode имеет три разных уровня: базовая модель для общих случаев использования, модель инструкций и модель длинного контекстного окна, которая может поддерживать до 16000 токенов.
Модели StableCode извлекают выгоду из исходных наборов данных языка программирования из проекта BigCode с открытым исходным кодом, с дополнительной фильтрацией и тонкой настройкой, обеспечиваемой Stability AI. Первоначально StableCode будет поддерживать разработку на языках программирования Python, Go, Java, Java, C, Markdown и C++.
«Мы хотим использовать эту модель, чтобы сделать что-то похожее на Stable Diffusion, целью которого является помочь каждому в мире стать художником, — сказал в эксклюзивном интервью VentureBeat директор по исследованиям Stability AI Кристиан Лафорте. Модель StableCode делает то же самое: пусть любой, у кого есть хорошая идея, напишет программу для решения этой проблемы».
StableCode: опираясь на BigCode и большие идеи
Обучение любого LLM опирается на данные, а для StableCode эти данные поступают из проекта BigCode. Использование BigCode в качестве основы для инструмента генеративного ИИ-кода LLM — не новая идея. HuggingFace и ServiceNow уже в мае этого года запустили открытый StarCoder LLM, основой которого является BigCode.
Главный исследователь Stability AI Натан Купер объяснил в эксклюзивном интервью VentureBeat, что обучение StableCode включало обширную фильтрацию и очистку данных BigCode.
«Нам очень нравится BigCode, они проделали огромную работу по управлению данными, управлению моделями и обучению моделей», — сказал Купер. «Мы взяли их набор данных и применили дополнительные фильтры качества, а также построили версию модели с большим контекстным окном, которая затем была обучена на нашем кластере».
По словам Купера, искусственный интеллект стабильности выполняет ряд этапов обучения в дополнение к базовой модели BigCode. Эти шаги включают последовательное обучение определенному языку программирования. Согласно описанию на официальном сайте, StableCode обучил модель с 560 миллиардами токенов кода на своем высокопроизводительном вычислительном кластере.
«Он использует подход, очень похожий на область естественного языка: сначала предварительно обучают модель общего назначения, а затем настраивают ее для определенного набора задач, в данном случае языка», — сказал Купер.
StableCode Увеличение длины токена изменит правила игры по генерации кода
Помимо основы BigCode, версия StableCode с длинным контекстом предоставляет пользователям значительные преимущества.
Версия StableCode с длинным контекстным окном имеет контекстное окно из 16 000 токенов, что, по словам Stability AI, больше, чем в любой другой модели. По словам Купера, более длинные контекстные окна позволяют использовать более специализированные и сложные подсказки для генерации кода. Это также означает, что пользователи могут использовать StableCode для просмотра базы кода среднего размера с несколькими файлами, чтобы помочь понять и создать новый код.
«Вы можете использовать это более длинное окно контекста, чтобы позволить модели узнать больше о вашей кодовой базе и о том, какие функции определены в других файлах», — сказал Купер. Кодовая база и требования».
Улучшенная генерация кода с помощью RoPE
Как и все современные генеративные модели ИИ, StableCode основан на нейронных сетях-трансформерах.
Вместо использования метода ALiBi (внимание с линейными смещениями) для локализации вывода в модели преобразователя (который StarCoder использует в своей открытой генеративной модели кодирования ИИ), StableCode использует метод под названием RoPE.
По словам Купера, подход ALiBi в модели трансформатора, как правило, имеет больший вес для текущих токенов, чем для прошлых. По его мнению, это не идеальный подход к коду, потому что, в отличие от естественного языка, код не имеет фиксированной повествовательной структуры с началом, серединой и концом. Функциональность кода может быть определена для любой точки процесса приложения.
«Я не думаю, что сам код соответствует идее, что этот компромисс сейчас более важен, чем раньше, поэтому мы используем… RoPE, [который] не имеет такой предвзятости».
В настоящее время StableCode находится на ранних стадиях, и цель первого релиза — понять, как эта модель будет принята и использована разработчиками.
«Мы будем взаимодействовать и сотрудничать с сообществом, чтобы увидеть, какие интересные направления они придумают, и исследовать пространство генеративной разработки», — сказал Купер.