1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-belle

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README_en.md

BELLE: Будь Ядром Великой Модели Языка для Всех

Китайская версия README.

GitHub Repo stars Кодовая лицензия Generic badge Generic badge Generic badge

Цель этого проекта — продвижение развития открытого сообщества для китайских разговорных моделей большого языка, с видением статья ядром LLM, которое поможет каждому.


Цель этого проекта — продвижение развития открытого сообщества для китайских разговорных моделей большого языка, с видением статьи ядром LLM, которое поможет каждому.Вместо того, чтобы сосредотачиваться на том, как эффективно предобучать модели большого языка, BELLE больше заботится о том, как построить на основе открытых предобученных моделей большого языка, чтобы помочь каждому получить свою высокопроизводительную, инструкционную модель языка, тем самым снижая барьеры для исследования и применения моделей большого языка, особенно китайских. В этом контексте проект BELLE будет постоянно предоставлять доступ к данным обучения по инструкциям, связанным моделям, коду обучения, сценариям применения и т.д., а также оценивать влияние различных данных обучения и алгоритмов обучения на производительность модели. BELLE оптимизирована для китайского языка, и процесс тонкой настройки модели использует только данные, созданные ChatGPT (без включения каких-либо других данных).

Приложение ChatBELLE

Попробуйте наше кросс-платформенное чат-приложение для запуска 4-битной квантовой модели BELLE-7B нативно на вашем устройстве. Следующий скриншот был выполнен на процессоре M1 Max в реальном времени (без скоростного ускорения).

Загрузка приложения: Releases

Сопутствующая модель приложения и её использование

🔄 Что нового

  • [2024/03/15] Обновлен технический отчет Dial-insight. Dial-insight: Подгонка больших языковых моделей с использованием высококачественных предметно-специфических данных для предотвращения коллапса способностей.
  • [2024/01/16] Обновлен технический отчет RAISE. RAISE экспериментально установил, что создание небольшого количества образцов данных может эффективно стимулировать большие модели и генерировать более управляемые диалоги.
  • [2023/12/29] Открытая модель ASR с улучшенными китайскими возможностями Belle-whisper-larger-v2-zh и Belle-distilwhisper-large-v2-zh была выпущена, что делает использование больших языковых моделей в сценариях речи более удобным для всех.
  • [2023/11/24] Открытая многомодельная большая языковая модель BELLE-VL была выпущена, расширяя визуальные возможности модели на основе языковой модели с улучшенными китайскими языковыми способностями. Это предоставляет сообществу более гибкие варианты. В настоящее время последняя версия BELLE-VL набрала 1620.10 баллов в оценке восприятия MME, превзойдя Qwen-VL, Llava и mplug-owl.
  • [2023/10/27] Обновлен технический отчет DUMA.pdf), исследующий агента на основе архитектуры быстрого-медленного мозга в сценариях диалога
  • [2023/09/26] Обновлен код обучения RLHF, поддерживающий PPO и DPO обучение. Подробности: README_RLHF.md
  • [2023/08/16] На основе train_3.5M_CN добавлено поле категории инструкции с 13 категориями. Подробности: train_3.5M_CN_With_Category
  • [2023/08/10] Обновлен код вывода на основе ZeRO Inference. Подробности: train/README_ZERO_INFERENCE.md
  • [2023/08/07] Обновлены коды непрерывного предобучения и детального обучения инструкций, добавлен flash attention 2. Подробности: train/README.md. Упакованная среда выполнения доступна по адресу: train/docker/README.md
  • [2023/07/31] Обновлен технический отчет, исследование стратегий поэтапной предобучаемости + настраиваемого обучения на конкретных доменах.
  • [2023/07/27] Выпущен BELLE-Llama2-13B-chat-0.4M, обученный на 400 000 качественных диалогов на основе Llama-2-13B. Улучшена производительность на наборе оценки по сравнению с моделью BELLE-LLaMA-EXT-13B.
  • [2023/05/14] Выпущен BELLE-LLaMA-EXT-13B, расширен словарь китайских слов из LLaMA-13B-chat, обучен на 4 миллиона качественных диалогов.
  • [2023/05/11] В BELLE/10M представлен новый датасет с названием "train_3.5M_CN".5M_CN"]((https://huggingface.co/datasets/BelleGroup/train_3.5M_CN)) с 3,5 миллионами новых разнообразных данных по инструкциям.
  • [2023/04/18] Код для обучения обновлен и доступен в BELLE/train. Встроен Deepspeed-Chat, а также предоставлены соответствующие контейнеры Docker.
  • [2023/04/17] Опубликованы две новые статьи, сравнивающие влияние различных методов генерации данных обучения и различных методов обучения (LoRA, fine-tuning) на производительность модели.
  • [2023/04/12] Выпущен ChatBELLE App, кросс-платформенный приложение для реального времени чата на основе модели BELLE-7B, основанное на llama.cpp и Flutter.
  • [2023/04/08] В BELLE/10M представлен новый датасет с названием "Generated Chat" с новыми многоповоротными диалогами с заданными ролями, а также новый датасет с названием "train_2M_CN" с 2 миллионами новых разнообразных данных по инструкциям.
  • [2023/04/05] Предоставлен код для инференса, который можно запустить на Colab## 📝 В этом репозитории содержится### 🚀 Рецепт обучения

Для упрощенного реализации кода обучения, включающего интеграцию Deepspeed-Chat и поддержку fine-tuning и LoRA, обратитесь к BELLE/train. Также предоставляются соответствующие контейнеры Docker.

📊 Выпуск данных

Подробности в BELLE/data/1.5M, китайский набор данных сгенерирован 1M + 0.5M, используя Stanford Alpaca в качестве ссылки.

Дополнительные 10M данных будут постепенно выпущены, подробности в BELLE/data/10M. В настоящее время у нас есть 0.8M многоповоротных данных и 0.25M математических данных.

🧐 Набор оценки и метод оценки

Подробности в BELLE/eval. Набор тестовых данных с более чем 1000 образцами и соответствующими промптами для оценки. Включает несколько категорий и оценивается с использованием либо GPT-4, либо ChatGPT.

🤖 Модели

Подробности в BELLE/models

  • Модель, оптимизированная на основе BLOOMZ-7B1-mt: BELLE-7B-0.2M, BELLE-7B-0.6M, BELLE-7B-1M, BELLE-7B-2M* Fine-tuned модели на основе Meta LLaMA: BELLE-LLaMA-7B-0.6M-enc, BELLE-LLaMA-7B-2M-enc, BELLE-LLaMA-7B-2M-gptq-enc, BELLE-LLaMA-13B-2M-enc. Учитывая ограничения лицензии LLaMA, модель предназначена только для исследований и обучения. Пожалуйста, строго соблюдайте политику использования LLaMA. Пользователям рекомендуется fine-tuning модели с использованием открытых скриптов и наборов данных. Мы не имеем права публиковать веса для LLaMA, даже fine-tuned, но нет проблем с публикацией разницы, патча, который мы рекомендуем применить к файлам. Шифрование представляет собой простое XOR между файлами, гарантирующее, что только те, кто имеет доступ к исходным весам (из полностью легальных источников, конечно), могут преобразовать их в fine-tuned веса. Вы можете найти код для расшифровки на BELLE/models.

⚖️ Квантованные моделиДетали в BELLE/gptq, ссылаясь на реализацию GPT-Q, соответствующие модели в этом проекте были квантованы.

🌐 Colab

Открыть в Colab предоставляет доступ к Colab в BELLE/notebook

💬 Приложение ChatBELLE

Детали в BELLE/chat, многоплатформенное приложение для чата с LLM с использованием BELLE с квантованными локальными моделями и интерфейса Flutter, работающего на macOS (готово), Windows, Android, iOS и других.

📑 Исследовательские отчеты

Для регулярных обновлений по исследовательским отчетам, связанным с этим проектом, обратитесь к BELLE/docs.

Добро пожаловать с дополнительными запросами через issues!


📑 Исследовательские отчеты

К лучшим моделям языковых систем для китайского языка: Исследование влияния данных обучения и оценки

Чтобы способствовать развитию открытых больших языковых моделей, было вложено много усилий в разработку моделей с низкой стоимостью, подобных ChatGPT.

Во-первых, чтобы улучшить производительность и эффективность обучения/вывода модели в китайском сегменте, мы расширили словарь LLaMA и провели дополнительное предобучение на 3,4 миллиарда китайских слов.Кроме того, в настоящее время существует три типа данных обучения инструкций, сгенерированных на основе ChatGPT:

  1. данные self-instruct на основе GPT3.5, полученные с помощью Alpaca;
  2. данные self-instruct на основе GPT4, полученные с помощью Alpaca;
  3. данные, предоставленные пользователями, использующими ChatGPT, называемые ShareGPT.

Здесь мы сосредоточились на исследовании влияния категорий данных обучения на производительность модели. В частности, мы изучили факторы, такие как количество, качество и распределение языка данных обучения, а также собранные нами китайские многопользовательские данные разговоров и некоторые общедоступные высококачественные наборы данных руководства. Для лучшей оценки эффектов мы использовали набор для оценки, содержащий тысячу образцов и 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 cn(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 300 000 инструктивных данных, включающий одноходовые и многогоодовые данные диалога, и не является частью той же партии, что и ранее выпущенные 500 000 данных. **Важно отметить**, что на основе анализа случаев были выявлены ограничения в полноте нашего набора для оценки, что привело к несоответствиям между оценками модели и реальным опытом пользователей. Создание высококачественного набора для оценки является огромным вызовом, так как он требует включения как можно большего количества различных сценариев использования, при этом поддерживая баланс сложности. Если образцы для оценки будут слишком сложными, производительность всех моделей будет низкой, что затрудняет оценку эффективности различных стратегий обучения. С другой стороны, если образцы для оценки будут слишком простыми, оценка потеряет свою сравнительную ценность. Кроме того, крайне важно обеспечить независимость оценочных данных от данных обучения. На основе этих наблюдений мы предупреждаем против предположения, что модель достигла уровня производительности, сопоставимого с ChatGPT, просто получив хорошие результаты на ограниченном количестве тестовых образцов. Мы считаем, что непрерывное развитие всестороннего набора оценки имеет огромное значение.Релевантные данные и модели в этом проекте будут открыты до 19 апреля.

Сравнительное исследование полной настройки и настройки на основе 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(math_0.25M) | 0.729 | 17.9M | 3 | | LLaMA-7B + FT(2M)
+ FT(math_0.25M) | 0.738 | - | 6 |Балл основан на 1000 наборах оценки, которые в настоящее время открыты в этом проекте.

LLaMA-13B + LoRA(2M) представляет модель, обученную на 2 миллионах данных инструкций с использованием LLaMA-13B в качестве базовой модели и метода обучения LoRA. LLaMA-7B + FT(2M) представляет модель, обученную с использованием полной настройки. LLaMA-7B + FT(2M) + LoRA(math_0.25M) представляет модель, обученную на 0,25 миллионах данных с математическими инструкциями, используя LLaMA-7B + FT(2M) в качестве базовой модели и метод обучения LoRA. LLaMA-7B + FT(2M) + FT(math_0.25M) представляет модель, обученную с использованием инкрементного полномасштабного переобучения. Все эти эксперименты проводились на 8 NVIDIA A100-40GB GPU.

math_0.25M — это открытая база данных из 0,25 миллиона математических задач. В ходе эксперимента, согласно нашей оценке (см. статью для подробностей), наша модель плохо справлялась с математическими задачами, показывая результаты ниже 0,5. Для проверки адаптивности LoRA к конкретным задачам мы использовали инкрементную базу данных из 0,25 миллиона математических задач (math_0.25M) для корректировки большого языкового моделирования (мы выбрали LLaMA-7B+FT(2M) в качестве базовой модели) с использованием метода обучения LoRA. В качестве сравнения мы использовали инкрементное переобучение с темпом обучения 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 мы рекомендуем проводить адаптивное обучение с использованием LoRA для конкретных задач на основе моделей, завершивших обучение по инструкциям.

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

⚠️ Ограничения, ограничения использования и предупреждение

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

  1. Требуются улучшения в области логики и кодирования.

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

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


📌 Цитирование

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

@misc{BELLE,
  author = {BELLEGroup},
  title = {BELLE: Будьте всемирным двигателем большого языкового моделирования},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub репозиторий},
  howpublished = {\url{https://github.com/LianjiaTech/BELLE}},
}
```@article{belle2023exploring,
  title={Exploring the impact of scaling instruction data on large language models: An empirical study of real-world use cases},
  author={Yunjie Ji, Yong Deng, Yan Gong, Yiping Peng, Qiang Niu, Lei Zhang, Baochang Ma, Xiangang Li},
  journal={arXiv preprint arXiv:2303.14742},
  year={2023}
}

@article{wen2023chathome,
  title={ChatHome: Development and evaluation of domain-specific language modeling 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!| Human | Ассистент |
 | ----- | ------ |
 | Я — весенний дождь,<br/>Танцую на твоем лице и теле.<br/>Мои капельные крылья танцуют с тобой,<br/>Принеся жизнь каждому растению.<br/><br/>Шекспир, я здесь, чтобы встретиться с тобой.<br/>Твои работы наполнили мое сердце радостью.<br/>Красота природы в ее полноте<br/>Делает меня участником всего этого.<br/><br/>Когда листья шевелятся и шелестят,<br/>Мои капельные руки протягиваются к ним.<br/>Цветочные ароматы наполняют воздух,<br/>И приносят мне мир со всех сторон.<br/><br/>Также бабочки порхают вокруг,<br/>Сияя в лучах солнца.<br/>Их крылья сделаны из росы,<br/>Красивое зрелище для глаз.<br/><br/>Смотри, Шекспир, я тоже часть природы.<br/>Мои капельные волосы — символ надежды.<br/>Когда мы можем вернуться к нашим корням,<br/>Мы сможем вместе пережить этот сезон. |---

Классифицируем настроение следующего предложения как Положительное, Нейтральное или Отрицательное:  
Супер взволнован, что буду преподавать первый курс Стэнфорда по Большим Языковым Моделям! Проверьте программу здесь  
Положительное

---

Миньминь, отец которого имеет троих детей, старший сын называется Вань И, второй сын называется Вань Эр, как зовут младшего?  
Миньминь

---

Напишите код для бинарного поиска на Python
```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 is the weather like today?

---Как сохранить энергию, перечислите 5 советов Вот несколько советов, которые помогут вам сохранить энергию:

  1. Получайте достаточно сна. Убедитесь, что вы получаете достаточное количество сна каждый вечер.
  2. Участвуйте в физической активности. Проводите умеренные аэробные упражнения, такие как бег трусцой или плавание, чтобы повысить энергию и выносливость.
  3. Ешьте здоровую пищу. Выбирайте продукты, богатые белками, такие как курица, рыба и яйца, а также свежие фрукты и овощи.
  4. Уменьшите потребление кофеина. Избегайте употребления напитков с кофеином или продуктов, содержащих кофеин, в течение дня.
  5. Расслабляйте тело и ум. Попробуйте медитацию, йогу или другие методы расслабления, чтобы снизить уровень стресса и тревожности.---

Завтра закончится отпуск, немного неохотно идти на работу, что делать? Вот несколько мер, которые вы можете предпринять, чтобы лучше адаптироваться к завтрашнему дню после отпуска и начала работы:

  1. Составьте четкий рабочий план. Это поможет вам лучше организовать время и задачи, а также избежать путаницы на работе.
  2. Обсудите свои чувства и рабочие нагрузки с коллегами или друзьями. Это поможет снизить уровень тревожности, а также получить поддержку и советы.
  3. Перед началом рабочего дня потратьте время на расслабление тела и ума, например, на йогу, медитацию или другие методы расслабления. Эти методы помогут снизить физическую и умственную усталость, что сделает вас более энергичным для встречи с новыми вызовами.

Оба родителя фамилии У. Предлагаю несколько имен для мальчиков и девочек.
- Мальчики: У Джуньцзянь, У Ючжэн, У Цзымо, У Сыюань, У Цзеян, У Юхан, У Боувэнь, У Чжэййи.
- Девочки: У Мэйчи, У Джияй, У Синьюй, У Сянньин, У Сюерю, У Ингши, У Юйянь.

| --- | | - Мальчики: У Дунчжан, У Ючжэн, У Цзимо, У Сююань, У Чжэян, У Юхан, У Боувэнь, У Чжэййи. | | - Девочки: У Мэйчи, У Джиай, У Синьюй, У Сянньин, У Сюерю, У Ингши, У Юйянь. || Рекомендую несколько武侠 романов Вонг Цзина (Жань Юн) | | --- | | Вот три моих любимых武侠 романа Вонг Цзина: | | 1. "Герои Вэньчжэ" (射雕英雄传) - роман, полный ума и сообразительности, рассказывающий о семье Го Цзянь и Юань. | | 2. "Парень с когтями" (神雕侠侣) - роман, полный любви и чувств, рассказывающий о любовной истории между девушкой Сяо Нюй и парнем Юй Пином. | | 3. "Убийца дракона" (倚天屠龙记) - роман, полный величия и великолепия, рассказывающий о том, как лидер секты Минь Цзянь Чжан Ву Инь становится выдающимся героем. |

Перевод текста внутри кавычек:

Рекомендую несколько武侠 романов Вонг Цзина (Жань Юн)
Вот три моих любимых武侠 романа Вонг Цзина:
1. "Герои Вэньчжэ" (射雕英雄传) - роман, полный ума и сообразительности, рассказывающий о семье Го Цзянь и Юань.
2. "Парень с когтями" (神雕侠侣) - роман, полный любви и чувств, рассказывающий о любовной истории между девушкой Сяо Нюй и парнем Юй Пином.
3. "Убийца дракона" (倚天屠龙记) - роман, полный величия и великолепия, рассказывающий о том, как лидер секты Минь Цзянь Чжан Ву Инь становится выдающимся героем.

⛽️ Внесение вклада

Вы приветствуетесь к созданию проблем или внесению данных/кода. Пожалуйста, обратитесь к Как вносить вклад.

☎️ Свяжитесь с нами

Присоединяйтесь к нам на Discord или WeChat!

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

BELLE: Будь Ядром Большой Модели Языка для Всех (открытая китайская диалоговая модель на основе языка) Цель этого проекта — способствовать развитию открытого сообщества по созданию китайских диалоговых моделей на основе языка, с целью помочь каждому человеку. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-belle.git
git@api.gitlife.ru:oschina-mirror/mirrors-belle.git
oschina-mirror
mirrors-belle
mirrors-belle
main