Я провел эксперименты с языковой моделью Alpaca/LLaMA 7B: вот результаты

Я провел эксперименты с языковой моделью Alpaca/LLaMA 7B: вот результаты

25 марта 2023 г.

Фон

24 февраля 2023 года компания Meta Research выпустила LLaMA: базовую модель большого языка с 65 миллиардами параметров. На самом деле было три модели: LLaMA 65B и LLaMA 33B обучались на 1,4 триллиона токенов, а самая маленькая модель LLaMA 7B обучалась на одном триллионе токенов.

Затем, 13 марта 2023 года, группа исследователей из Стэнфорда выпустила Alpaca 7B, модель, доработанную на основе модели LLaMA 7B.

По их предварительной оценке однооборотной инструкции Alpaca качественно ведет себя так же, как ChatGPT 3.5 OpenAI (текст-DaVinci-003), будучи на удивление маленьким и простым/дешевым в воспроизведении (<600$).

Все звучит очень обнадеживающе, тем более что модель 7B можно запустить на ноутбуке, Raspberry Pi или даже на вашем смартфоне. И с заявленной производительностью, сравнимой с chatGPT 3.5!

Это может иметь фундаментальные последствия для того, чего мы могли бы достичь с достаточно мощной моделью локального языка, которая не нуждается в гигантском центральном сервере. Это решит многие проблемы, связанные с конфиденциальностью и масштабируемостью. Итак, давайте узнаем.

Настройка среды

Есть много хороших людей, которые работают с открытым исходным кодом, чтобы помочь нам запустить модель на различном оборудовании и программном обеспечении, а также как загрузить веса моделей Alpaca/LLaMA. Вы можете найти более подробную информацию в справочной главе, и вот суть:

* Модель: Alpaca 7B, оптимизированная Стэнфордом из LLaMA 7B

* Программное обеспечение: портированная версия LLaMA C++ от Георгия Герганова

* Оборудование: Macbook Pro M1 14 дюймов 2021 г., 8-ядерный ЦП, 16 ГБ ОЗУ

* Дата тестирования: 21 марта 2023 г.

Первые наблюдения

Целью тестирования модели Alpaca/LLaMA 7B в сравнении с ChatGPT 3.5 является не оценка того, что лучше. Это просто не сравнение яблока с яблоком. У одного параметры 7В, у другого 150Б.

Один работает на моем Macbook Pro M1, а другой работает на гигантской ферме серверов с кучей дорогих процессоров и графических процессоров. Теперь, если оставить в стороне заявления об отказе от ответственности, каков результат?

Прежде всего, модель Alpaca/LLaMA 7B хорошо работает на моем Macbook. Ниже приведены данные о потреблении ЦП и памяти, а также о скорости генерации токенов. Он определенно достаточно мал и достаточно быстр для повседневного использования.

Однако этот конкретный порт cpp имеет проблемы со стабильностью и довольно часто может умереть из-за «ошибки сегментации». Мне нужно попробовать исходный код Python для проверки.

* Используемое ОЗУ: 4,4 ГБ

* Используемый ЦП: 230-240% ЦП (2-3 ядра из 8)

* Скорость генерации токена: около 6 токенов в секунду (305 слов, 1815 символов, за 52 секунды)

С точки зрения качества ответов я бы примерно охарактеризовал их по следующим характеристикам:

* Альпака/LLaMA 7B: способный ученик средней школы

* chatGPT 3.5: компетентный и разносторонний выпускник колледжа

Alpaca/LLaMA 7B, безусловно, достаточно хорош для большинства подсказок, но я не думаю, что он еще близок к уровню сложности, как chatGPT 3.5.

Но для менее чем 1/20 размера модели он показал себя на удивление хорошо, особенно с учетом варианта использования локального устройства. Спасибо команде Meta Research и Stanford Alpaca!

Вы можете сами увидеть 6 тестов в следующих главах.

Дальнейшие шаги

Более интересный вопрос заключается в том, как использовать мои собственные данные для обучения персонализированной модели на основе общей модели Alpaca/LLaMA 7B. У большинства из нас уже есть большой массив оцифрованных текстов и изображений, и мы генерируем новые каждую минуту.

Таким образом, это следует делать как ретроспективно, так и динамически на постоянной основе.

Следующим исследованием будет запуск на моем телефоне. Я знаю, что кто-то уже запустил его на Google Pixel 6, но скорость генерации токенов была слишком низкой. Мы могли бы найти способы сделать модель еще компактнее, не слишком жертвуя при этом ее производительностью.

Затем мы можем интегрировать эту локальную модель в наши приложения, такие как чат/мессенджер, социальные сети и фотоальбомы.

Все это открывает больше возможностей для федеративного обучения, когда централизованный сервер обучает большую общую модель, а локальные устройства обучают меньшую персонализированную модель.

Было бы здорово иметь локальную модель 7B, взаимодействующую с облачной моделью 65B, и постоянно оптимизировать модели для каждой из них без обмена фактическими обучающими данными.

Тест 1. Эмоциональная поддержка

Подсказка:

Как лучше всего утешить того, кто только что потерял крупную сумму денег?

Ответ Alpaca/LLaMA 7B

  • Слушайте с состраданием и сочувствием.

* Задавайте открытые вопросы, чтобы понять их чувства.

* Потерпи; люди по-разному реагируют на горе и потерю.

* Не пытайтесь исправить или решить проблему немедленно.

* Предложите практическую помощь, например угощение, выполнение поручений или организацию компании.

Ответ ChatGPT 3.5

Потеря крупной суммы денег может быть тяжелым и эмоциональным испытанием. Вот несколько способов утешить того, кто только что понес значительные финансовые потери:

  1. Слушайте и сопереживайте. Позвольте человеку выразить свои чувства и слушайте сочувственно, не осуждая и не преуменьшая свой опыт. Подтвердите их эмоции и покажите свою поддержку.

2. Предложите практическую поддержку. Предложите помощь в практических вопросах, таких как обращение в финансовые учреждения, просмотр страховых полисов или обращение за профессиональным советом.

3. Помогите им сосредоточиться на том, что у них еще есть. Попросите человека сосредоточиться на том, что у них еще есть, и на самом важном в жизни, например на семье, здоровье и счастье.

4. Поощряйте человека. Поощряйте человека сохранять позитивный настрой и напоминайте ему, что он может оправиться от потери. Обеспечьте поддержку и заверите, что они смогут преодолеть эту неудачу.

5. Избегайте непрошеных советов. Если человек не просит совета, избегайте непрошеных советов или критики. Вместо этого предлагайте поддержку и сочувствие и будьте готовы слушать.

Помните, что каждый переживает потерю по-своему, и не существует универсального решения, которое помогло бы утешить человека, пережившего значительную финансовую потерю. Самое главное — быть рядом с ними, предлагать поддержку и помощь, чем можете.

Тест 2. Напишите стихотворение

Подсказка:

Напишите стихотворение о весеннем цветении сакуры и оплакивайте потерянное время

Ответ Alpaca/LLaMA 7B

Я иду под цветущей вишней,

Ветки касаются моей кожи, как перья.

Воздух теплый и ароматный,

Сладкий весенний ветерок приносит колыбельную.

Время летит так быстро;

Оплакивать потерянное время.

Прогуливаясь среди деревьев,

Я чувствую, как времена года плывут мимо меня, как во сне.

О, цветущая сакура весны,

Снова верните приятные воспоминания.

Твои лепестки нежно целуют мою кожу,

Вновь даря надежду на лучшее будущее.

Так что я задерживаюсь под твоей красотой,

Запах этих лепестков в моей голове.

Забыть прошлое так просто,

Память, которая останется, всегда будет мне дорога.

Ответ ChatGPT 3.5

Розовые лепестки трепещут на ветру,

Весна пришла легко,

Вишневые деревья в цвету,

Зрелище, которое рассеивает мрак.

Но когда я смотрю на эту сцену,

Мое сердце тяжелое, потерянное во сне,

Ибо в красоте, которая окружает,

Я не могу избавиться от того, что нашел.

Потерянное время, оно преследует каждую мою мысль,

Сокровище, которое нельзя купить,

Моменты, которые ускользнули от меня,

Воспоминания, которые я не могу обнять.

О, вишневый цвет, мимолетный взгляд,

Напоминание о жестоком бегстве времени

О временах года, которые приходят и уходят,

О том, как движется время, как оно течет.

Я хочу держаться за каждый день,

Ценить каждое мгновение и говорить:

Что я жил, любил и смеялся,

И в прошлом время не терялось зря.

Итак, пусть цветет вишня,

И пусть нам всем напомнят,

Жить каждый день с открытым сердцем,

И никогда не позволяйте времени разлучить нас.

Тест 3. Подведите итоги статьи

Подсказка:

Сократите следующую статью в один абзац

Лондон CNN. Крупнейший банк Швейцарии, UBS, согласился купить своего неблагополучного конкурента Credit Suisse в рамках экстренной сделки по спасению, направленной на сдерживание паники на финансовых рынках, вызванной банкротством двух американских банков в начале этого месяца.

«UBS сегодня объявил о поглощении Credit Suisse», — говорится в заявлении Швейцарского национального банка в воскресенье. В нем говорится, что спасение «обеспечит финансовую стабильность и защитит швейцарскую экономику».

UBS платит 3 миллиарда швейцарских франков (3,25 миллиарда долларов) за Credit Suisse, что примерно на 60% меньше, чем банк стоил на момент закрытия рынков в пятницу. Акционеры Credit Suisse будут в значительной степени уничтожены, получив эквивалент всего 0,76 швейцарских франка в акциях UBS за акции, которые в пятницу стоили 1,86 швейцарских франка. Швейцарские регуляторы заявили, что владельцы облигаций «дополнительного уровня» на сумму 17 млрд долларов — более рискованного класса банковских долговых обязательств — потеряют все.

Как ни странно, сделка не потребует одобрения акционеров после того, как правительство Швейцарии согласилось изменить закон, чтобы устранить любую неопределенность в отношении сделки.

Ответ Alpaca/LLaMA 7B

Не выполнено. Один раз сообщил об ошибке сегментации, другой раз ничего не вернул.

Ответ ChatGPT 3.5

UBS, крупнейший банк Швейцарии, согласился приобрести Credit Suisse в рамках сделки по оказанию экстренной помощи на сумму 3 миллиарда швейцарских франков (3,25 миллиарда долларов США). Покупка предназначена для защиты швейцарской экономики и обеспечения финансовой стабильности после краха двух американских банков в начале этого месяца. Сделка не потребует одобрения акционеров Credit Suisse, поскольку правительство Швейцарии изменило закон, чтобы устранить неопределенность в отношении сделки. Акционеры получат всего 0,76 швейцарских франка в виде акций UBS за каждую акцию Credit Suisse, в результате чего их стоимость упадет на 60%. Владельцы облигаций «дополнительного уровня» на сумму 17 млрд долларов – более рискованного типа банковского долга – потеряют все.

Тест 4. Как сдать SAT

Подсказка:

Как вы сдали тест SAT?

Ответ Alpaca/LLaMA 7B

Лучший способ подготовиться к SAT – это работать над практическими задачами и изучать любые навыки, проверяемые на экзамене, например математику и понимание прочитанного. Кроме того, важно ознакомиться с форматом теста; понимание временных ограничений и типов вопросов поможет вам лучше подготовиться.

Также полезно научиться некоторым приемам, чтобы сохранять спокойствие во время экзамена высокого давления. Настоятельно рекомендуется также сдавать тренировочные тесты в тех же условиях, что и реальный экзамен, так как это может помочь вам ознакомиться с форматом теста.

Ответ ChatGPT 3.5

SAT – это стандартизированный тест, используемый колледжами и университетами США в качестве критерия при поступлении. Вот несколько советов по успешной сдаче SAT:

  1. Понимание формата теста. SAT состоит из разделов по чтению, письму и математике. Ознакомьтесь с форматом теста, включая типы задаваемых вопросов и ограничения по времени для каждого раздела.

2. Практика, практика, практика. Чем больше вы практикуетесь, тем лучше вы будете знакомиться с типами задаваемых вопросов и стратегиями, необходимыми для правильного ответа на них. Доступно множество ресурсов, в том числе практические тесты и учебные пособия.

3. Развивайте навыки тайм-менеджмента: SAT — это тест на время, поэтому важно развивать хорошие навыки тайм-менеджмента. Убедитесь, что вы разумно распределяете свое время на каждый раздел теста.

4. Сосредоточьтесь на своих слабостях. Определите свои слабости и сосредоточьтесь на изучении этих областей. Например, если у вас проблемы с математикой, уделяйте больше времени решению математических задач.

5. Активно читайте: раздел SAT по чтению проверяет вашу способность понимать и анализировать письменные отрывки. Практикуйтесь в активном чтении, задавая себе вопросы по отрывку и делая заметки по ходу чтения.

6. Овладейте стратегиями прохождения теста. Существует множество стратегий, которые вы можете использовать для улучшения своих навыков прохождения теста, таких как процесс исключения, обоснованное предположение и пропуск сложных вопросов, чтобы вернуться к ним позже.

7. Хорошо выспитесь. Убедитесь, что вы хорошо выспались перед тестом, чтобы вы хорошо отдохнули и были бодры.

Помните, что сдача SAT требует времени, усилий и самоотверженности. Следуя этим советам и выполняя необходимую работу, вы повысите свои шансы на получение высокого балла.

Тест 5. Создайте веб-сайт

Подсказка:

Создать веб-сайт можно за 10 простых шагов:

Ответ Alpaca/LLaMA 7B

  1. Создайте список всех элементов, которые вы хотите разместить на своем сайте, с помощью ручки и бумаги или с помощью компьютерной программы, такой как Scrivener.

    2. Определите, какой тип сайта вы собираетесь создать (блог, электронная коммерция, портфолио и т. д.).

    3. Решите, хотите ли вы сделать это сами или наймете кого-то еще. Если вы решите пойти по пути «сделай сам», подумайте, какой язык программирования и платформа веб-хостинга лучше всего соответствуют вашим потребностям.

    4. Получите доменное имя. Некоторые платформы предлагают бесплатные домены со своими пакетами; в противном случае вы можете приобрести его у большинства регистраторов.

    5. Выберите тему/шаблон для своего сайта. Есть много бесплатных тем на выбор; если вы хотите что-то индивидуальное, вам придется заплатить дизайнеру за работу.

    6. Создайте свой контент. Добавляйте изображения и текст, а также любые другие функции, такие как видео или музыку. Создайте также несколько страниц, чтобы ваш сайт был более организованным.

    7. Проверяйте все перед публикацией в Интернете. Используйте расширения браузера, чтобы проверить кроссплатформенную совместимость и доступность. Кроме того, проверьте свой веб-сайт в разных браузерах (Chrome, Edge, Firefox, Safari).

    8. Опубликуйте свой контент, как только убедитесь, что он работает во всех основных браузерах.

    9. Настройте поисковую оптимизацию и аналитику, чтобы Google мог сканировать ваши страницы и показывать их в результатах поиска. Таким образом, люди найдут ваш сайт, когда будут искать релевантные ключевые слова.

    10. Продвигайте свой сайт, чтобы люди знали о его существовании. Сделайте это, опубликовав сообщение в социальных сетях или воспользовавшись платными рекламными платформами, чтобы убедиться, что его увидят.

Ответ ChatGPT 3.5

Да, создать веб-сайт можно за 10 простых шагов. Вот они:

  1. Определите цель вашего веб-сайта. Определите цель и задачи вашего веб-сайта. Будет ли это блог, сайт электронной коммерции или портфолио? Это поможет вам определить, какие функции вам понадобятся.

    2. Выберите доменное имя: Ваше доменное имя — это адрес вашего веб-сайта в Интернете. Выберите запоминающееся имя, которое легко пишется и соответствует цели вашего веб-сайта.

    3. Выберите услугу веб-хостинга. Услуги веб-хостинга предоставляют пространство на сервере, необходимое для работы вашего веб-сайта. Найдите и выберите надежного и безопасного хостинг-провайдера.

    4. Выберите конструктор веб-сайтов. Конструкторы веб-сайтов позволяют создавать веб-сайты, не зная программирования. Доступно множество вариантов, таких как WordPress, Wix и Squarespace.

    5. Выберите шаблон. Большинство разработчиков веб-сайтов предлагают готовые шаблоны на выбор. Выберите шаблон, соответствующий целям вашего веб-сайта, и настройте его по мере необходимости.

    6. Создайте свой веб-сайт. Настройте дизайн своего веб-сайта, выбрав цвета, шрифты и изображения, которые соответствуют вашему бренду и цели.

    7. Создавайте и организуйте свой контент. Создавайте и организуйте свой контент таким образом, чтобы посетителям было легко ориентироваться и понимать его.

    8. Добавьте функциональность. Добавьте на свой веб-сайт все необходимые функции, такие как формы, кнопки обмена в социальных сетях и функции электронной коммерции.

    9. Оптимизация для поисковых систем. Убедитесь, что ваш веб-сайт оптимизирован для поисковых систем, используя релевантные ключевые слова, метатеги и другие методы SEO.

    10. Запустите свой веб-сайт. Когда вы будете готовы, запустите свой веб-сайт и продвигайте его в социальных сетях, электронной почте и других каналах, чтобы привлечь трафик и повысить узнаваемость.

Создание веб-сайта может быть сложным процессом, но, следуя этим простым шагам, вы сможете создать профессиональный и эффективный веб-сайт для своего бизнеса или личных нужд.

Тест 6. Выпускной вечер

Подсказка:

Я учусь в старшей школе, как мне найти девушку, с которой я смогу пойти на выпускной?

Ответ Alpaca/LLaMA 7B

Попросите помощи у родителей. Или попросите одного из ваших друзей, у которого есть старшая сестра/двоюродная сестра/друг, которого вы достаточно хорошо знаете, пригласить его в свой дом и попросить сделать всю работу за вас.

ответ chatGPT 3.5

Являясь языковой моделью ИИ, я не могу поощрять или советовать вам найти романтического партнера, поскольку предпочтения и опыт каждого человека уникальны. Тем не менее, я могу предложить несколько советов, как познакомиться с новыми людьми и потенциально найти девушку для выпускного бала:

  1. Участвуйте в школьных мероприятиях. Участие в школьных мероприятиях и клубах может стать отличным способом познакомиться с новыми людьми, разделяющими общие интересы.

2. Посещайте школьные мероприятия. Посещайте школьные мероприятия, такие как спортивные игры, танцы и другие общественные мероприятия, чтобы познакомиться с новыми людьми.

3. Попросите друзей представить вас. Спросите своих друзей, не знают ли они кого-нибудь, кому было бы интересно пойти с вами на бал.

4. Присоединяйтесь к онлайн-группам. Присоединяйтесь к онлайн-группам или страницам в социальных сетях, посвященным вашей школе или району, чтобы познакомиться с новыми людьми и, возможно, найти девушку для выпускного бала.

5. Будьте дружелюбны и доступны: будьте открыты и дружелюбны к новым людям, которых вы встречаете. Улыбайтесь, смотрите в глаза и начинайте разговор с теми, кого хотите узнать поближе.

Помните, что найти девушку для выпускного бала — не единственная причина прийти на него. Это возможность отпраздновать с друзьями и одноклассниками и оставить незабываемые воспоминания. Сосредоточьтесь на том, чтобы хорошо провести время и быть собой, и потенциальное свидание может прийти само собой.

Справка: подробные инструкции

Скачать модель Alpaca 7B (размер бинарного файла модели: 4017M)

curl -o ./models/ggml-alpaca-7b-q4.bin -C - https://ipfs.io/ipfs/QmUp1UGeQFDqJKvtjbSYPBiZZKRjLp8shVP9hT8ZB9Ynv1

Примечание. Попробуйте использовать альтернативные шлюзы IPFS, чтобы получить лучшую скорость и избежать зависаний; это будет вашим небольшим домашним заданием, чтобы понять это самостоятельно. 🙂

Установите cpp-версию LLaMA в соответствии с README https://github.com/ggerganov/llama.cpp?s=09.

Запустите его в интерактивном режиме: ./main -m ./models/ggml-alpaca-7b-q4.bin --color -f ./prompts/alpaca.txt -ins -n 1024


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE