Я вчора: LLM з відкритим кодом перевершить GPT-4 за кілька місяців щодо генерації коду. Я зараз: Сьогодні, насправді.
Вчора відкритий код Meta Llama, базова модель, що спеціалізується на генерації коду, стала безкоштовною для дослідницьких і комерційних цілей.
Існує три варіанти параметрів серії моделей Code Llama, кількість параметрів - 7B, 13B і 34B. Він підтримує кілька мов програмування, включаючи Python, C++, Java, PHP, Type (Java), C# і Bash.
Версії Code Llama, надані Meta, включають:
Code Llama, базова модель коду;
Code Llama-Python, налаштована версія Python;
Code Llama-Instruct, налаштована версія інструкцій природною мовою.
З точки зору ефекту, різні версії Code Llama мають коефіцієнт проходження генерації (pass@1) для наборів даних Human і MBPP, який перевищує GPT-3.5.
Крім того, pass@1 версії Code Llama "Unnatural" 34B на наборі даних Human близький до GPT-4 (62,2% проти 67,0%). Однак Meta не випустила цю версію, але досягла значного підвищення продуктивності завдяки навчанню з невеликою кількістю високоякісних закодованих даних.
Джерело:
Буквально через день деякі дослідники кинули виклик GPT-4. Вони походять від Phind (організація, яка прагне створити пошукову систему штучного інтелекту для розробників), яка випередила GPT-4** в оцінці людиною за допомогою **досконалого коду Llama-34B.
Співзасновник Phind Майкл Ройзен сказав: «Це лише ранній експеримент, спрямований на відтворення (і перевершення) результатів «Unnatural Code Llama» у статті Meta. У майбутньому ми матимемо експертне портфоліо різних моделей CodeLlama, які, я думаю, будуть конкурентоспроможними в реальних робочих процесах. "
Обидві моделі мають відкритий код:
Дослідники опублікували ці дві моделі на Huggingface, і кожен може піти, щоб перевірити їх.
Phind-CodeLlama-34B-v1:
Phind-CodeLlama-34B-Python-v1:
Далі подивимося, як було реалізовано це дослідження.
** Точне налаштування коду Llama-34B, щоб перемогти GPT-4**
Давайте спочатку подивимося на результати. У цьому дослідженні Code Llama-34B і Code Llama-34B-Python було вдосконалено за допомогою внутрішнього набору даних Phind і отримано дві моделі, Phind-CodeLlama-34B-v1 і Phind-CodeLlama-34B-Python-v1 відповідно.
Дві нещодавно отримані моделі досягли 67,6% і 69,5% pass@1 відповідно на Human.
Для порівняння, CodeLlama-34B pass@1 становить 48,8%, CodeLlama-34B-Python pass@1 — 53,7%.
А GPT-4 pass@1 на Human становить 67% (дані, опубліковані OpenAI у «Технічному звіті GPT-4», опублікованому в березні цього року).
Джерело:
Джерело:
Коли справа доходить до тонкого налаштування, набори даних є обов’язковими, і це дослідження точно налаштувало Code Llama-34B і Code Llama-34B-Python на власному наборі даних, що містить ~80 000 високоякісних програмних проблем і рішень.
Замість прикладів доповнення коду в цьому наборі даних використовуються пари інструкція-відповідь, що відрізняється від структури даних Human. Потім у дослідженні було навчено модель Phind для двох епох із загалом близько 160 000 прикладів. Дослідники розповіли, що технологія LoRA не використовувалася в навчанні, але використовувалася локальна тонка настройка.
Крім того, у дослідженні також були використані технології DeepSpeed ZeRO 3 і Flash Attention 2. Їм знадобилося три години на 32 графічних процесорах A100-80GB, щоб навчити ці моделі з довжиною послідовності 4096 токенів.
Крім того, дослідження застосувало метод дезактивації OpenAI до набору даних, щоб зробити результати моделі більш ефективними.
Як ми всі знаємо, навіть дуже потужний GPT-4 зіткнеться з дилемою забруднення даних.Просто кажучи, навчена модель, можливо, була навчена на даних оцінки.
Ця проблема є дуже складною для LLM. Наприклад, у процесі оцінки ефективності моделі, щоб зробити науково достовірну оцінку, дослідник повинен перевірити, чи проблема, яка використовується для оцінки, є в навчальних даних моделі. Якщо так, модель може запам’ятати ці запитання, і при оцінці моделі вона, очевидно, працюватиме краще з цими конкретними запитаннями.
Це як людина вже знає екзаменаційні питання ще до того, як здавати іспит.
Щоб вирішити цю проблему, OpenAI розкрив, як GPT-4 оцінює забруднення даних у публічному технічному документі GPT-4 «Технічний звіт GPT-4». вони оприлюднили це
Стратегії кількісного визначення та оцінки цього забруднення даних.
Зокрема, OpenAI використовує зіставлення підрядків для вимірювання перехресного забруднення між набором даних оцінки та даними попереднього навчання. Дані оцінки та навчання обробляються шляхом видалення всіх пробілів і символів, залишаючи лише символи (включно з цифрами).
Для кожного прикладу оцінки OpenAI випадковим чином вибирає три підрядки по 50 символів (або використовує весь приклад, якщо символів менше 50). Збіг визначається, якщо будь-яка з трьох вибіркових підрядків оцінки є підрядком обробленого навчального прикладу.
Це створює список зіпсованих прикладів, які OpenAI відкидає та запускає повторно, щоб отримати незаплямований бал. Але цей метод фільтрації має певні обмеження, збіг підрядків може призвести до хибно негативних результатів (якщо є невеликі відмінності між даними оцінки та навчання), а також хибно позитивних результатів. Таким чином, OpenAI використовує лише частину інформації в прикладах оцінки, використовуючи лише запитання, контекст або еквівалентні дані, але ігноруючи відповіді, відповіді чи еквівалентні дані. У деяких випадках варіанти множинного вибору також були виключені. Ці виключення можуть призвести до збільшення помилкових спрацьовувань.
Для цієї частини зацікавлені читачі можуть звернутися до статті для отримання додаткової інформації.
Адреса паперу:
Однак існує певна суперечка щодо оцінки людини Phind, яка використовується під час порівняльного аналізу GPT-4. Деякі люди кажуть, що останній результат тесту GPT-4 досяг 85%. Але Фінд відповів, що відповідне дослідження, яке вивело цю оцінку, не проводило дослідження забруднення, і неможливо визначити, чи бачив GPT-4 дані тесту Human під час проходження нового раунду тестування. Враховуючи деякі нещодавні дослідження про те, що GPT-4 стає дурним, безпечніше використовувати дані в оригінальному технічному звіті.
Однак, враховуючи складність широкомасштабної оцінки моделі, питання про те, чи можуть ці результати оцінки відображати справжні можливості моделі, все ще є спірним питанням. Ви можете завантажити модель і випробувати її на собі.
Довідкове посилання:
Переглянути оригінал
Контент має виключно довідковий характер і не є запрошенням до участі або пропозицією. Інвестиційні, податкові чи юридичні консультації не надаються. Перегляньте Відмову від відповідальності , щоб дізнатися більше про ризики.
Через день після випуску кодування Code Llama значно покращилося, а налаштована версія Human_ отримала більше балів, ніж GPT-4
Вчора відкритий код Meta Llama, базова модель, що спеціалізується на генерації коду, стала безкоштовною для дослідницьких і комерційних цілей.
Існує три варіанти параметрів серії моделей Code Llama, кількість параметрів - 7B, 13B і 34B. Він підтримує кілька мов програмування, включаючи Python, C++, Java, PHP, Type (Java), C# і Bash.
Версії Code Llama, надані Meta, включають:
З точки зору ефекту, різні версії Code Llama мають коефіцієнт проходження генерації (pass@1) для наборів даних Human і MBPP, який перевищує GPT-3.5.
Крім того, pass@1 версії Code Llama "Unnatural" 34B на наборі даних Human близький до GPT-4 (62,2% проти 67,0%). Однак Meta не випустила цю версію, але досягла значного підвищення продуктивності завдяки навчанню з невеликою кількістю високоякісних закодованих даних.
Джерело:
Співзасновник Phind Майкл Ройзен сказав: «Це лише ранній експеримент, спрямований на відтворення (і перевершення) результатів «Unnatural Code Llama» у статті Meta. У майбутньому ми матимемо експертне портфоліо різних моделей CodeLlama, які, я думаю, будуть конкурентоспроможними в реальних робочих процесах. "
Далі подивимося, як було реалізовано це дослідження.
** Точне налаштування коду Llama-34B, щоб перемогти GPT-4**
Давайте спочатку подивимося на результати. У цьому дослідженні Code Llama-34B і Code Llama-34B-Python було вдосконалено за допомогою внутрішнього набору даних Phind і отримано дві моделі, Phind-CodeLlama-34B-v1 і Phind-CodeLlama-34B-Python-v1 відповідно.
Дві нещодавно отримані моделі досягли 67,6% і 69,5% pass@1 відповідно на Human.
Для порівняння, CodeLlama-34B pass@1 становить 48,8%, CodeLlama-34B-Python pass@1 — 53,7%.
А GPT-4 pass@1 на Human становить 67% (дані, опубліковані OpenAI у «Технічному звіті GPT-4», опублікованому в березні цього року).
Джерело:
Замість прикладів доповнення коду в цьому наборі даних використовуються пари інструкція-відповідь, що відрізняється від структури даних Human. Потім у дослідженні було навчено модель Phind для двох епох із загалом близько 160 000 прикладів. Дослідники розповіли, що технологія LoRA не використовувалася в навчанні, але використовувалася локальна тонка настройка.
Крім того, у дослідженні також були використані технології DeepSpeed ZeRO 3 і Flash Attention 2. Їм знадобилося три години на 32 графічних процесорах A100-80GB, щоб навчити ці моделі з довжиною послідовності 4096 токенів.
Крім того, дослідження застосувало метод дезактивації OpenAI до набору даних, щоб зробити результати моделі більш ефективними.
Як ми всі знаємо, навіть дуже потужний GPT-4 зіткнеться з дилемою забруднення даних.Просто кажучи, навчена модель, можливо, була навчена на даних оцінки.
Ця проблема є дуже складною для LLM. Наприклад, у процесі оцінки ефективності моделі, щоб зробити науково достовірну оцінку, дослідник повинен перевірити, чи проблема, яка використовується для оцінки, є в навчальних даних моделі. Якщо так, модель може запам’ятати ці запитання, і при оцінці моделі вона, очевидно, працюватиме краще з цими конкретними запитаннями.
Це як людина вже знає екзаменаційні питання ще до того, як здавати іспит.
Щоб вирішити цю проблему, OpenAI розкрив, як GPT-4 оцінює забруднення даних у публічному технічному документі GPT-4 «Технічний звіт GPT-4». вони оприлюднили це
Стратегії кількісного визначення та оцінки цього забруднення даних.
Зокрема, OpenAI використовує зіставлення підрядків для вимірювання перехресного забруднення між набором даних оцінки та даними попереднього навчання. Дані оцінки та навчання обробляються шляхом видалення всіх пробілів і символів, залишаючи лише символи (включно з цифрами).
Для кожного прикладу оцінки OpenAI випадковим чином вибирає три підрядки по 50 символів (або використовує весь приклад, якщо символів менше 50). Збіг визначається, якщо будь-яка з трьох вибіркових підрядків оцінки є підрядком обробленого навчального прикладу.
Це створює список зіпсованих прикладів, які OpenAI відкидає та запускає повторно, щоб отримати незаплямований бал. Але цей метод фільтрації має певні обмеження, збіг підрядків може призвести до хибно негативних результатів (якщо є невеликі відмінності між даними оцінки та навчання), а також хибно позитивних результатів. Таким чином, OpenAI використовує лише частину інформації в прикладах оцінки, використовуючи лише запитання, контекст або еквівалентні дані, але ігноруючи відповіді, відповіді чи еквівалентні дані. У деяких випадках варіанти множинного вибору також були виключені. Ці виключення можуть призвести до збільшення помилкових спрацьовувань.
Для цієї частини зацікавлені читачі можуть звернутися до статті для отримання додаткової інформації.
Адреса паперу:
Однак існує певна суперечка щодо оцінки людини Phind, яка використовується під час порівняльного аналізу GPT-4. Деякі люди кажуть, що останній результат тесту GPT-4 досяг 85%. Але Фінд відповів, що відповідне дослідження, яке вивело цю оцінку, не проводило дослідження забруднення, і неможливо визначити, чи бачив GPT-4 дані тесту Human під час проходження нового раунду тестування. Враховуючи деякі нещодавні дослідження про те, що GPT-4 стає дурним, безпечніше використовувати дані в оригінальному технічному звіті.
Довідкове посилання: