Refresh

This website www.unite.ai/uk/llama-2-a-deep-dive-into-the-open-source-challenger-to-chatgpt/ is currently offline. Cloudflare's Always Online™ shows a snapshot of this web page from the Internet Archive's Wayback Machine. To check for the live version, click Refresh.

Зв'язатися з нами

Штучний Інтелект

Llama 2: глибоке занурення в Challenger ChatGPT з відкритим кодом

mm

опублікований

 on

МЕТА ЛАМА 2 LLM

Великі мовні моделі (LLM), здатні виконувати складні завдання на міркування, показали перспективу в таких спеціалізованих областях, як програмування та творче письмо. Однак світ магістерських програм — це не просто «підключи і працюй»; існують проблеми щодо зручності використання, безпеки та вимог до обчислень. У цій статті ми детально зануримося в можливості полум'я 2, водночас надаючи детальну інструкцію з налаштування цього високопродуктивного LLM за допомогою Hugging Face і графічних процесорів T4 у Google Colab.

Ця велика мовна модель із відкритим вихідним кодом, розроблена компанією Meta у партнерстві з Microsoft, спрямована на переосмислення сфер генеративного штучного інтелекту та розуміння природної мови. Llama 2 — це не просто ще одна статистична модель, навчена на терабайтах даних; це втілення філософії. Такий, який наголошує на підході з відкритим вихідним кодом як основі розвитку ШІ, особливо в генеративному просторі ШІ.

Llama 2 і його оптимізована для діалогів заміна Llama 2-Chat оснащені до 70 мільярдів параметрів. Вони проходять процес тонкого налаштування, спрямований на те, щоб узгодити їх із уподобаннями людини, що робить їх безпечнішими та ефективнішими, ніж багато інших загальнодоступних моделей. Цей рівень деталізації в тонкому налаштуванні часто зарезервований для закритих «продуктових» LLM, таких як ChatGPT і BARD, які зазвичай недоступні для громадського огляду чи налаштування.

Технічне глибоке занурення Llama 2

Для навчання модель Llama 2; як і його попередники, він використовує авторегресію трансформаторна архітектура, попередньо навчений обширному корпусу даних, що контролюються самостійно. Однак це додає додатковий рівень витонченості завдяки використанню Reinforcement Learning with Human Feedback (RLHF) для кращого узгодження з людською поведінкою та вподобаннями. Це дорого обчислювально, але життєво важливо для підвищення безпеки та ефективності моделі.

Навчальна архітектура Meta Llama 2

Навчальна архітектура Meta Llama 2

Попереднє навчання та ефективність даних

Фундаментальна інновація Llama 2 полягає в режимі попереднього навчання. Модель нагадує свою попередницю, Llama 1, але містить кілька важливих удосконалень для підвищення продуктивності. Примітно, що загальна кількість навчених токенів зросла на 40% і подвійне розширення довжини контексту. Крім того, модель використовує увагу згрупованих запитів (GQA) для посилення масштабованості висновків.

Контрольована точна настройка (SFT) і навчання з підкріпленням за допомогою зворотного зв’язку людини (RLHF)

Llama-2-chat було ретельно налаштовано за допомогою SFT і Reinforcement Learning with Human Feedback (RLHF). У цьому контексті SFT виступає невід’ємним компонентом структури RLHF, уточнюючи відповіді моделі, щоб тісно відповідати людським уподобанням і очікуванням.

OpenAI надав змістовну ілюстрацію, яка пояснює методології SFT і RLHF, які використовуються в InstructGPT. Подібно до LLaMa 2, InstructGPT також використовує ці передові методи навчання для оптимізації продуктивності своєї моделі.

Крок 1 на зображенні нижче зосереджується на контрольованому точному налаштуванні (SFT), тоді як наступні кроки завершують процес підкріплення навчання на основі зворотного зв’язку людини (RLHF).

Контрольована тонка настройка (SFT) — це спеціалізований процес, спрямований на оптимізацію попередньо підготовленої великої мовної моделі (LLM) для конкретного подальшого завдання. На відміну від неконтрольованих методів, які не вимагають перевірки даних, SFT використовує набір даних, який попередньо перевірено та позначено.

Як правило, створення цих наборів даних є дорогим і трудомістким. Підхід Llama 2 ставив якість над кількістю. Завдяки лише 27,540 XNUMX анотаціям команда Meta досягла рівня продуктивності, що конкурує з людьми-анотаторами. Це добре узгоджується з недавні дослідження показуючи, що навіть обмежені, але чисті набори даних можуть забезпечити високоякісні результати.

У процесі SFT попередньо навчений LLM надається до позначеного набору даних, де вступають у гру контрольовані алгоритми навчання. Внутрішні ваги моделі перекалібруються на основі градієнтів, обчислених за допомогою функції втрат для конкретного завдання. Ця функція втрат кількісно визначає розбіжності між прогнозованими виходами моделі та фактичними мітками реальності.

Ця оптимізація дозволяє LLM осягати складні закономірності та нюанси, вбудовані в позначений набір даних. Отже, модель є не просто узагальненим інструментом, а перетворюється на спеціалізований актив, здатний виконувати цільове завдання з високим ступенем точності.

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

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

Llama 2-Chat використовував двійковий протокол порівняння для збору даних про вподобання людини, відзначаючи помітну тенденцію до більш якісних підходів. Цей механізм інформує моделі винагороди, які потім використовуються для точного налаштування розмовної моделі ШІ.

Примарна увага: багатоповоротні діалоги

Meta представила нову функцію Ghost Attention (GAtt), яка призначена для покращення продуктивності Llama 2 у багатоходових діалогах. Це ефективно вирішує постійну проблему втрати контексту під час поточних розмов. GAtt діє як якір, пов’язуючи початкові інструкції з усіма наступними повідомленнями користувача. У поєднанні з методами навчання з підкріпленням це допомагає виробляти послідовні, релевантні та узгоджені з користувачем відповіді протягом довгих діалогів.

З мета-сховища Git за допомогою download.sh

  1. Відвідайте веб-сайт Meta: Перейти до Офіційний сайт Meta Llama 2 і натисніть «Завантажити модель»
  2. Заповніть Деталі: Прочитайте та прийміть положення та умови, щоб продовжити.
  3. Підтвердження електронної пошти: Коли форму буде подано, ви отримаєте електронний лист від Meta з посиланням для завантаження моделі з їхнього сховища git.
  4. Виконайте download.sh: клонуйте сховище Git і виконайте download.sh сценарій. Цей сценарій запропонує вам пройти автентифікацію за допомогою URL-адреси з Meta, термін дії якого закінчується через 24 години. Ви також можете вибрати розмір моделі — 7B, 13B або 70B.

З Hugging Face

  1. Отримати електронний лист про прийняття: Отримавши доступ із Meta, перейдіть до Обіймати обличчя.
  2. Попросити доступ: Виберіть потрібну модель і надішліть запит на надання доступу.
  3. Підтвердження: Очікуйте електронного листа "надано доступ" протягом 1-2 днів.
  4. Створення маркерів доступу: перейдіть до «Налаштувань» у своєму обліковому записі Hugging Face, щоб створити маркери доступу.

Випуск Transformers 4.31 повністю сумісний з LLaMa 2 і відкриває багато інструментів і функцій в екосистемі Hugging Face. Від сценаріїв навчання та логічного висновку до 4-розрядного квантування з бітами і байтами та ефективного тонкого налаштування параметрів (PEFT) — набір інструментів великий. Щоб почати, переконайтеся, що ви використовуєте останню версію Transformers і ввійшли у свій обліковий запис Hugging Face.

Ось спрощений посібник із запуску модельного висновку LLaMa 2 у a google colab середовища, використовуючи середовище виконання GPU:

Модель Google Colab – графічний процесор T4

Модель Google Colab – графічний процесор T4

 

 

 

 

 

 

Встановлення пакета

!pip install transformers
!huggingface-cli login

Імпортуйте необхідні бібліотеки Python.

from transformers import AutoTokenizer
import transformers
import torch

Ініціалізуйте модель і токенізер

На цьому кроці вкажіть, яку модель Llama 2 ви будете використовувати. Для цього посібника ми використовуємо meta-llama/Llama-2-7b-chat-hf.

model = "meta-llama/Llama-2-7b-chat-hf"
tokenizer = AutoTokenizer.from_pretrained(model)

Налаштуйте конвеєр

Використовуйте конвеєр Hugging Face для створення тексту з певними налаштуваннями:

pipeline = transformers.pipeline(
    "text-generation",
    model=model,
    torch_dtype=torch.float16,
    device_map="auto")

Створення текстових послідовностей

Нарешті, запустіть конвеєр і згенеруйте текстову послідовність на основі введених даних:

sequences = pipeline(
    'Who are the key contributors to the field of artificial intelligence?\n',
    do_sample=True,
    top_k=10,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
    max_length=200)
for seq in sequences:
    print(f"Result: {seq['generated_text']}")

Інтерфейс A16Z для LLaMa 2

Andreessen Horowitz (A16Z) нещодавно запустив передовий інтерфейс чат-бота на основі Streamlit, розроблений для Llama 2. Розміщений на GitHub, цей інтерфейс користувача зберігає історію сеансів чату, а також забезпечує гнучкість вибору з кількох кінцевих точок API Llama 2, розміщених на Повторювати. Цей дизайн, орієнтований на користувача, спрямований на спрощення взаємодії з Llama 2, що робить його ідеальним інструментом як для розробників, так і для кінцевих користувачів. Для тих, хто зацікавлений у цьому, доступна демо-версія в прямому ефірі за адресою Llama2.ai.

Llama 2: чим він відрізняється від GPT Models та його попередника Llama 1?

Різноманітність у масштабі

На відміну від багатьох мовних моделей, які пропонують обмежену масштабованість, Llama 2 надає вам безліч різних варіантів для моделей із різноманітними параметрами. Модель масштабується від 7 мільярдів до 70 мільярдів параметрів, забезпечуючи таким чином ряд конфігурацій для різноманітних обчислювальних потреб.

Розширена довжина контексту

Модель має збільшену довжину контексту на 4K токенів, ніж Llama 1. Це дозволяє їй зберігати більше інформації, таким чином підвищуючи її здатність розуміти та генерувати більш складний і широкий вміст.

Увага до згрупованого запиту (GQA)

В архітектурі використовується концепція GQA, призначений для прискорення процесу обчислення уваги шляхом кешування попередніх пар токенів. Це ефективно покращує масштабованість висновку моделі для підвищення доступності.

Показники ефективності

Порівняльний аналіз продуктивності моделей Llama 2-Chat із ChatGPT та іншими конкурентами

Аналіз продуктивності моделей Llama 2-Chat із ChatGPT та іншими конкурентами

LLama 2 встановила новий стандарт показників продуктивності. Він не тільки перевершує свого попередника, LLama 1, але й становить значну конкуренцію іншим моделям, таким як Falcon і GPT-3.5.

Найбільша модель Llama 2-Chat, 70B, також перевершує ChatGPT у 36% випадків і відповідає продуктивності ще в 31.5% випадків. Джерело: Папір

Відкритий вихідний код: сила спільноти

Meta та Microsoft мають намір зробити Llama 2 не просто продуктом; вони бачать це як інструмент, керований спільнотою. Доступ до Llama 2 вільний як для дослідницьких, так і для некомерційних цілей. Вони прагнуть демократизувати можливості ШІ, зробивши їх доступними для стартапів, дослідників і компаній. Парадигма відкритого вихідного коду дозволяє здійснювати «краудсорсингове усунення несправностей» моделі. Розробники та фахівці зі штучного інтелекту можуть проводити стрес-тести, виявляти вразливості та пропонувати рішення в прискореному темпі.

Хоча умови ліцензування для LLaMa 2 загалом є дозвільними, Винятки існують. Великі підприємства, які мають понад 700 мільйонів користувачів щомісяця, такі як Google, вимагають явного дозволу від Meta для його використання. Крім того, ліцензія забороняє використання LLaMa 2 для вдосконалення інших мовних моделей.

Поточні проблеми з Llama 2

  1. Узагальнення даних: і Llama 2, і GPT-4 іноді дають збій у рівномірно високій продуктивності під час різних завдань. У цих сценаріях якість і різноманітність даних є такими ж ключовими, як і обсяг.
  2. Прозорість моделі: Враховуючи попередні невдачі, коли штучний інтелект давав оманливі результати, дослідження обґрунтування прийняття рішень, що стоїть за цими складними моделями, є першорядним.

Code Llama – останній запуск Meta

Мета нещодавно оголосила Код Лама це велика модель мови, що спеціалізується на програмуванні з розмірами параметрів від 7B до 34B. Схожий на Інтерпретатор коду ChatGPT; Code Llama може оптимізувати робочі процеси розробників і зробити програмування більш доступним. Він підтримує різні мови програмування та має спеціальні варіації, наприклад Code Llama–Python для завдань, пов’язаних із Python. Модель також пропонує різні рівні продуктивності для задоволення різноманітних вимог до затримки. Code Llama має відкриту ліцензію та запрошує спільноту внести свій внесок для постійного вдосконалення.

Представляємо Code Llama, інструмент ШІ для програмування

Висновок

Ця стаття допоможе вам налаштувати модель Llama 2 для створення тексту в Google Colab із підтримкою Hugging Face. Ефективність Llama 2 забезпечується низкою передових методів від архітектур трансформатора з авторегресією до навчання з підкріпленням із зворотним зв’язком людини (RLHF). Маючи до 70 мільярдів параметрів і функцій, таких як Ghost Attention, ця модель перевершує поточні галузеві стандарти в певних сферах, а завдяки своїй відкритості прокладає шлях до нової ери в розумінні природної мови та генеративному штучному інтелекті.

Останні п’ять років я провів, занурюючись у захоплюючий світ машинного та глибокого навчання. Моя пристрасть і досвід допомогли мені внести свій внесок у понад 50 різноманітних проектів розробки програмного забезпечення, зосередивши особливу увагу на ШІ/ML. Моя постійна цікавість також привела мене до обробки природної мови, галузі, яку я хочу досліджувати далі.