Я від учора (25 серпня): LLM з відкритим кодом переможе GPT-4 за кілька місяців для генерації коду. Я зараз: Сьогодні, насправді.
Учора відкритий код Meta Llama, базова модель, що спеціалізується на генерації коду, стала безкоштовною для дослідницьких і комерційних цілей.
Існує три варіанти параметрів серії моделей Code Llama, кількість параметрів 7B, 13B і 34B. І підтримує кілька мов програмування, включаючи Python, C++, Java, PHP, Type (Java), C# і Bash.
Версії Code Llama, надані Meta, включають:
Code Llama, модель базового коду;
Код 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 ZeRO3 і 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 не випустила цю версію, але досягла значного підвищення продуктивності завдяки навчанню з невеликою кількістю високоякісних закодованих даних.
Буквально через день деякі дослідники кинули виклик GPT-4. Вони походять від Phind (організація, яка прагне створити пошукову систему штучного інтелекту для розробників), яка випередила GPT-4** в оцінці людиною за допомогою **досконалого коду Llama-34B.
Співзасновник 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», опублікованому в березні цього року).
Коли справа доходить до тонкого налаштування, набори даних, природно, незамінні. Дослідження точно налаштувало Code Llama-34B і Code Llama-34B-Python на власному наборі даних, що містить близько 80 000 високоякісних проблем програмування та рішень.
Замість прикладів доповнення коду в цьому наборі даних використовуються пари інструкція-відповідь, що відрізняється від структури даних Human. Потім у дослідженні було навчено модель Phind для двох епох із загалом близько 160 000 прикладів. Дослідники розповіли, що технологія LoRA не використовувалася в навчанні, але використовувалася локальна тонка настройка.
Крім того, дослідження також застосували технології DeepSpeed ZeRO3 і 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 стає дурним, безпечніше використовувати дані в оригінальному технічному звіті.
Довідкове посилання: