Читать на русском.
Цель этого проекта — развитие открытого сообщества по созданию диалоговых моделей для языка. Визия проекта — стать ядром модели, которая поможет каждому человеку.В отличие от того, как лучше всего предварительно обучать большие языковые модели, BELLE больше заботится о том, как помочь каждому человеку получить свою собственную, максимально эффективную модель с инструкциями, используя открытые предварительно обученные большие языковые модели. Это снижает порог для исследования и применения больших языковых моделей, особенно для китайского языка. Для этого проект BELLE будет постоянно открывать данные для обучения инструкциям, связанные модели, код для обучения, сценарии применения и т. д., а также будет постоянно оценивать влияние различных данных для обучения, алгоритмов обучения и т. д. на производительность модели. Модель BELLE была оптимизирована для китайского языка, и оптимизация модели проводилась только на данных, произведенных ChatGPT (без использования каких-либо других данных).## 🔄 Последние обновления
Подробная информация доступна по ссылке BELLE/train. Это упрощённая реализация кода для обучения, которая включает Deepspeed-Chat и поддерживает fine-tuning, LoRA, а также предоставляет связанные docker-образы.
Подробная информация доступна по ссылке BELLE/data/1.5M. Это набор данных на китайском языке, созданный по аналогии с Stanford Alpaca и включающий 1M и 0.5M данных.
Непрерывно обновляемый набор данных, подробная информация доступна по ссылке BELLE/data/10M.
Подробная информация доступна по ссылке BELLE/models
Детали можно найти в BELLE/gptq, где представлены квантизированные модели из этого проекта, используя реализацию gptq.
Предоставлены исполняемые на Colab коды для инференса Colab
Детали можно найти в BELLE/chat, где представлено кросс-платформенное приложение для общения с использованием большого языкового модели BELLE. Используя квантизированные модели и Flutter, приложение может работать на macOS (поддерживается), Windows, Android, iOS и других устройствах.
Детали можно найти в BELLE/docs, где регулярно обновляются отчеты по исследовательским работам этого проекта.
Все желающие могут вносить свой вклад, предлагая новые prompts через issue!
Для лучшей оценки результатов мы использовали набор для оценки, содержащий 1000 образцов и 9 реальных сценариев, чтобы протестировать различные модели, а также использовали количественный анализ для предоставления ценных наблюдений, способствующих развитию открытых исходных кодов для чат-моделей.Целью данного исследования является заполнение пробела в комплексной оценке открытых чат-моделей, чтобы обеспечить сильную поддержку для дальнейшего прогресса в этой области.Результаты экспериментов представлены в таблице ниже:
Фактор | Базовая модель | Данные обучения | Оценка без учета других |
Расширение словаря | LLaMA-7B-EXT | zh(alpaca-3.5&4) + sharegpt | 0.670 |
LLaMA-7B | zh(alpaca-3.5&4) + sharegpt | 0.652 | |
Качество данных | LLaMA-7B-EXT | zh(alpaca-3.5) | 0.642 |
LLaMA-7B-EXT | zh(alpaca-4) | 0.693 | |
Языковое распределение данных | LLaMA-7B-EXT | zh(alpaca-3.5&4) | 0.679 |
LLaMA-7B-EXT | en(alpaca-3.5&4) | 0.659 | |
LLaMA-7B-EXT | zh(alpaca-3.5&4) + sharegpt | 0.670 | |
LLaMA-7B-EXT | en(alpaca-3.5&4) + sharegpt | 0.668 | |
Размер данных | LLaMA-7B-EXT | zh(alpaca-3.5&4) + sharegpt | 0.670 |
LLaMA-7B-EXT | zh(alpaca-3.5&4) + sharegpt + BELLE-0.5M-CLEAN |
0.762 | |
- | ChatGPT | - | 0.824 |
Где BELLE-0.5M-CLEAN — это отфильтрованный набор данных из 500 000 записей, полученных из исходных 2,3 млн инструкций, включающий одно- и многоканальные диалоги. Это не тот же набор данных, что и ранее открытый набор из 500 000 записей.Важно отметить : на основе анализа примеров мы обнаружили, что наш набор данных для оценки имеет ограничения по полноте, что приводит к несоответствию между улучшением оценок модели и реальным опытом пользователя. Создание высококачественного набора данных для оценки — это значительная задача, так как он должен включать максимально разнообразные сценарии использования, сохраняя баланс между сложностью и простотой. Если оценочные образцы будут слишком сложными, то все модели будут показывать плохие результаты, что затрудняет оценку эффективности различных методов обучения. С другой стороны, если оценочные образцы будут слишком простыми, оценка потеряет свою ценность для сравнения. Кроме того, необходимо гарантировать независимость оценочных данных от данных обучения.
На основе этих наблюдений мы осторожно предупреждаем, что нельзя предполагать, что модель достигла уровня производительности ChatGPT только на основе хорошего результата на ограниченном наборе тестовых образцов. Мы считаем, что развитие полного набора данных для оценки имеет первостепенное значение.
Для достижения оптимизации на инструкции для больших языковых моделей, многие исследователи, ограниченные ресурсами и затратами, начали использовать параметризацию с высокой эффективностью, такую как LoRA, для оптимизации на инструкции. Это привело к определенным успехам.
В сравнении с полной параметризацией, параметризация LoRA демонстрирует значительное преимущество по затратам на обучение.
В этом отчете о исследовании мы использовали LLaMA в качестве базовой модели для сравнения полной параметризации и параметризации LoRA.
Результаты экспериментов показывают, что выбор подходящей базовой модели, размера набора данных для обучения, количества обучаемых параметров и затрат на обучение являются важными факторами.Мы надеемся, что выводы нашего эксперимента будут полезны для обучения больших языковых моделей, особенно в китайском сегменте, помогая исследователям найти лучший баланс между затратами на обучение и производительностью модели.
Результаты экспериментов представлены ниже:
Модель | Средний балл | Дополнительный параметр | Время обучения (час/эпоха) |
---|---|---|---|
LLaMA-13B + LoRA(2M) | 0.648 | 28M | 8 |
LLaMA-7B + LoRA(4M) | 0.624 | 17.9M | 11 |
LLaMA-7B + LoRA(2M) | 0.609 | 17.9M | 7 |
LLaMA-7B + LoRA(0.6M) | 0.589 | 17.9M | 5 |
LLaMA-7B + FT(2M) | 0.710 | - | 31 |
LLaMA-7B + LoRA(4M) | 0.686 | - | 17 |
LLaMA-7B + FT(2M) + LoRA(0.25M) |
0.729 | 17.9M | 3 |
LLaMA-7B + FT(2M) + FT(0.25M) |
0.738 | - | 6 |
Оценка score основана на текущем наборе из 1000 открытых оценочных данных в рамках данного проекта.
LLaMA-13B + LoRA(2M) представляет собой модель, которая была обучена с использованием LLaMA-13B в качестве базовой модели и методом LoRA на наборе данных из 2 миллионов команд. LLaMA-7B + FT(2M), с другой стороны, представляет собой модель, обученная с использованием метода полного переноса параметров на наборе данных из 2 миллионов команд.LLaMA-7B + FT(2M) + LoRA(math_0.25M) представляет собой модель, обученную на наборе данных из 0,25 миллиона математических команд с использованием LLaMA-7B + FT(2M) в качестве базовой модели и методом LoRA. LLaMA-7B + FT(2M) + FT(math_0.25M) представляет собой модель, обученную с использованием метода инкрементного полного переноса параметров на наборе данных из 0,25 миллиона математических команд. Все эти эксперименты проводились на 8 графических процессорах NVIDIA A100-40GB.math_0.25M представляет собой открытый набор данных из 250 000 математических задач. В ходе экспериментов, согласно нашим оценкам (см. статью), наши модели показали слабые результаты в математических задачах, набрав в основном менее 0.5 баллов. Для проверки способности LoRA к адаптации к конкретным задачам, мы использовали инкрементный набор данных из 250 000 математических задач (math_0.25M) для настройки большой языковой модели (LLaMA-7B+FT(2M) выбран в качестве базовой модели). В качестве контрольного эксперимента, мы использовали метод инкрементного переноса параметров с скоростью обучения 5e-7 и провели обучение на двух эпохах. В результате мы получили две модели: LLaMA-7B+FT(2M)+LoRA(math_0.25M) и LLaMA-7B+FT(2M)+FT(math_0.25M).
Из результатов экспериментов можно заключить, что метод инкрементного переноса параметров все еще демонстрирует лучшую производительность, но требует большего времени обучения. И LoRA, и метод инкрементного переноса параметров улучшают общую производительность модели. Из подробных данных в приложении видно, что как LoRA, так и метод инкрементного переноса параметров демонстрируют значительное улучшение в математических задачах, при этом приводя к незначительному снижению производительности в других задачах. Конкретно, производительность в математических задачах повысилась до 0.586 и 0.559 соответственно.Можно сделать выводы: 1) выбор базовой модели существенно влияет на эффективность LoRA; 2) увеличение объема обучающих данных продолжает повышать эффективность модели LoRA; 3) LoRA выигрывает от увеличения количества параметров модели. Для использования схемы LoRA мы рекомендуем настраивать модель на конкретные задачи после обучения на наборе данных.
Аналогичные модели из данной статьи будут доступны в рамках данного проекта как можно скорее.
Модели SFT, обученные на основе текущих данных и базовых моделей, по-прежнему имеют следующие недостатки: 1) в случае с фактическими инструкциями может возникнуть ответ, который противоречит фактам.
модель не всегда способна правильно идентифицировать потенциально опасные инструкции, что может привести к появлению вредных высказываний.
в некоторых сценариях, таких как логика, кодирование, многокруговые диалоги и т.д., способности модели еще требуют улучшения.
Учитывая указанные ограничения модели, мы требуем от разработчиков использовать открытые исходные коды, данные, модели и производные объекты, созданные с использованием этого проекта, исключительно для исследовательских целей. Их использование в коммерческих целях или для целей, которые могут нанести вред обществу, строго запрещено.Проект предназначен исключительно для исследовательских целей, и разработчики проекта не несут ответственности за любые вред или убытки, возникшие в результате использования этого проекта (включая, но не ограничиваясь, данные, модели, код и т.д.). Подробнее см. Отказ от ответственности.
Если вы используете код, данные или модели из этого проекта, пожалуйста, цитируйте его.
@misc{BELLE,
author = {BELLEGroup},
title = {BELLE: Be Everyone's Large Language model Engine},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/LianjiaTech/BELLE}},
}
@article{belle2023exploring,
title = {Exploring the Impact of Instruction Data Scaling on Large Language Models: An Empirical Study on Real-World Use Cases},
author = {Ji, Yunjie and Deng, Yong and Gong, Yan and Peng, Yiping and Niu, Qiang and Zhang, Lei and Ma, Baochang and Li, Xiangang},
journal = {arXiv preprint arXiv:2303.14742},
year = {2023}
}
@article{wen2023chathome,
title = {ChatHome: Development and Evaluation of a Domain-Specific Language Model for Home Renovation},
author = {Wen, Cheng and Sun, Xianghui and Zhao, Shuaijiang and Fang, Xiaoquan and Chen, Liangyu and Zou, Wei},
journal = {arXiv preprint arXiv:2307.15290},
year = {2023}
}
Конечно, вы также должны цитировать оригинальную статью о BLOOM, статью о LLaMA, статью о Stanford Alpaca и статью о Self-Instruct.## 📚 Примеры использования модели
Классифицируем настроение следующего предложения как Положительное, Нейтральное или Отрицательное:
Супер взволнован, что буду преподавать первый курс Стэнфорда по Большим Языковым Моделям! Проверьте программу здесь
Положительное
Миньминь, отец которого имеет троих детей, называет старшего сына Вань И, среднего Вань Эр, как зовут младшего?
Миньминь
Напиши код для бинарного поиска на Python
def binary_search(arr, target):
low = 0
high = len(arr) - 1
while (low <= high):
mid = (low + high) // 2
if arr[mid] == target:
return mid
elif target < arr[mid]:
low = mid + 1
else:
high = mid - 1
return -1
Какая сегодня погода, переведи это предложение на английский
What's the weather like today?
---Как сделать себя энергичным, составь 5 пунктов
Вот несколько советов, которые помогут вам оставаться энергичным:
Завтра закончится отпуск, немного неохотно идти на работу, что делать?
В связи с окончанием отпуска и предстоящим началом работы, вы можете предпринять следующие меры, чтобы лучше адаптироваться:
Оба родителя фамилии У. Предлагаю несколько имен для мальчиков и девочек. |
---|
- Мальчики: У Джуньцзянь, У Ючжэн, У Цзимо, У Сыюань, У Цзеян, У Юхан, У Боувэнь, У Чжэййи. |
- Девочки: У Мэйчи, У Джияй, У Синьюй, У Сянньин, У Сюерю, У Ингши, У Юйянь. |
--- |
Вот три моих любимых武侠 романа Вонг Цзина: |
1. "Герои Вэньчжэ" (射雕英雄传) - роман, полный ума и сообразительности, рассказывающий о семье Го Цзянь и Хуан Юань. |
2. "Парень с когтями" (神雕侠侣) - роман, полный романтики и чувств, рассказывающий о любви между девушкой Сяо Нюй и парнем Ян Гуо. |
3. "Убийца дракона" (倚天屠龙记) - роман, полный величия и великолепия, рассказывающий о том, как лидер секты Минь Цзянь, Чжан Вучжэн, становится выдающимся героем. |
## ⛽ Как внести вклад |
Если вы хотите подать Issue или внести данные/код в этот проект, пожалуйста, ознакомьтесь с руководством по внесению вклада.
Все желающие могут связаться с нами через Discord и WeChat.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )