Новий фреймворк S* допомагає моделям AI писати більш якісний і надійний код

Нова платформа S* дає змогу мовним моделям AI генерувати потужніший і надійніший код. Дослідники з Каліфорнійського університету в Берклі створили фреймворк під назвою S*, який покращує спосіб генерації коду моделями мови AI. Система об’єднує два різні підходи – паралельне та послідовне масштабування – з новим способом вибору найкращих результатів.

Хоча генерація кількох фрагментів коду одночасно і вибір найкращого з них (паралельне масштабування) не є чимось новим, команда Берклі додала щось додаткове. Вони об’єднали це з послідовним масштабуванням, коли система безперервно покращує свої рішення за допомогою систематичного налагодження.

Фреймворк представляє варіацію обчислень під час тесту як один зі своїх будівельних блоків. На відміну від поточних моделей міркувань, таких як OpenAI o1, S* включає зовнішній зворотний зв’язок, а не покладається виключно на внутрішні ланцюжки міркувань. Така конструкція робить її сумісною як із традиційними моделями великих мов (LLM), так і з більш новими моделями міркувань (LRM).

Друге ключове нововведення – це те, що команда називає «адаптивним синтезом вхідних даних». Під час тестування вони використовували GPT-4o mini для генерації тестових вхідних даних для різних потенційних рішень. Запускаючи ці вхідні дані та аналізуючи фактичні результати, ШІ може надійно визначити найкраще рішення.

Система просить модель AI створити тестові входи, спеціально призначені для виявлення відмінностей між двома програмами. Вона використовує ретельно продумані підказки, які говорять моделі враховувати прикордонні випадки (наприклад, порожні входи або екстремальні значення), генерувати складні, але керовані тестові випадки і створювати входи, які можуть виявити потенційні помилки.

Потім система запускає обидві програми, використовуючи ці тестові вхідні дані, і повертає результати моделі AI, яка вирішує, яке рішення працює краще, ґрунтуючись на реальних результатах тестування.

Команда протестувала S* з 12 різними мовними моделями різних розмірів і типів, виявивши послідовні поліпшення в усіх напрямках: Qwen2.5-7B-Coder-Instruct з S* показала результати приблизно на 10% кращі, ніж Qwen2.5-32B-Coder-Instruct без нього, а в деяких випадках менші моделі з використанням S* перевершили більші моделі міркувань – GPT-4o mini з S* перевершила o1-Preview. Навіть потужні моделі міркувань показали поліпшення при використанні фреймворку.

Фреймворк має деякі чіткі обмеження. Наразі його оптимізовано лише для завдань із програмування і не тестували на складніших завданнях із програмної інженерії. Команда також зосередилася виключно на підвищенні точності, залишивши осторонь питання ефективності ресурсів.

Підхід, що поєднує ітеративні поліпшення з можливостями пошуку, імовірно, сприяв успіху OpenAI в тесті ARC, де вони робили кілька паралельних запитів до своєї моделі міркувань o3 і вибирали найкращі відповіді, хоча точний метод залишається невідомим. S* слідує схожій філософії та може призвести до поліпшення можливостей генерації коду в майбутньому.

Джерело

Популярні Пости