Об этом проекте

## Обзор проекта Chinese-LLaMA-Alpaca — это проект с открытым исходным кодом для больших языковых моделей, ориентированных на обработку китайского языка. Его цель — способствовать открытым исследованиям больших моделей в китайском сообществе. На основе оригинальной LLaMA проект расширяет китайский словарь и проводит повторное предобучение на китайских корпусах для улучшения базового семантического понимания китайского языка. На этой основе модель Chinese Alpaca дополнительно настраивается на китайских инструктивных данных, что усиливает способность понимать и выполнять инструкции. К проекту прилагается технический отчёт «Efficient and Effective Text Encoding for Chinese LLaMA and Alpaca» (arXiv:2304.08177). ## Основные возможности - Расширение китайского словаря для оригинальной LLaMA, повышение эффективности китайского кодирования и декодирования. - Открытые веса Chinese LLaMA, предобученного на китайских текстах, и Chinese Alpaca, прошедшего инструктивную настройку. - Предоставление скриптов предобучения и инструктивной настройки для продолжения обучения по необходимости. - Поддержка локального квантования и развёртывания на CPU/GPU персонального компьютера (ноутбука). - Совместимость с экосистемными инструментами: transformers, llama.cpp, text-generation-webui, LlamaChat, LangChain, privateGPT и другими. ## Версии моделей Открыты модели масштабов 7B, 13B, 33B; для каждого масштаба доступны базовые версии, Plus и Pro. Серия Plus использует больше обучающих данных, серия Pro улучшена для проблемы слишком коротких ответов. Модели делятся на два типа: - Chinese LLaMA: базовая модель, обученная классическим методом CLM, подходит для продолжения текста, не предназначена для понимания инструкций и многораундовых диалогов. - Chinese Alpaca: модель понимания инструкций, настроенная на инструктивных данных, подходит для вопросов-ответов, написания текстов, рекомендаций и многораундового контекстного понимания. Из-за лицензионных ограничений оригинальной LLaMA проект публикует только веса LoRA; для получения полной модели их необходимо объединить с оригинальной LLaMA, отдельно они не работают. ## Порядок использования 1. Скачать соответствующие веса LoRA с Hugging Face, ModelScope или Baidu Netdisk. 2. Объединить веса LoRA с оригинальной LLaMA, следуя онлайн-конвертации (Colab notebook) или руководству по ручной конвертации. 3. Выбрать способ инференса и развёртывания: llama.cpp, Transformers, text-generation-webui, LlamaChat, LangChain, privateGPT, Colab Gradio Demo или API-демо в стиле OpenAI. 4. Выбрать подходящую модель и параметры запуска в зависимости от задачи; например, для Alpaca требуется формат ввода, соответствующий шаблону. Размер объединённой модели зависит от масштаба: например, 7B в FP16 — около 13 ГБ, после 4-битного квантования — около 3,9 ГБ; 33B в FP16 — около 60 ГБ, после 4-битного квантования — около 17,2 ГБ. ## Детали обучения Процесс обучения включает три части: расширение словаря, предобучение и инструктивную настройку. Код расширения словаря находится в merge_tokenizers.py; код предобучения и инструктивной настройки основан на run_clm.py из transformers и части обработки данных Stanford Alpaca. Соответствующие скрипты обучения открыты в Wiki. ## Оценка Проект провёл объективную оценку нескольких моделей на наборе данных C-Eval; тестовый набор содержит около 12,3 тыс. вопросов с выбором ответа, охватывающих 52 дисциплины. В README приведены средние результаты zero-shot и 5-shot на valid/test наборах для каждой модели, например, Chinese-Alpaca-Plus-33B на test 5-shot — 43,5. Проект также предоставляет примеры оценки качества генерации и онлайн-платформу для сравнения. ## Ограничения и заявления Проект явно указывает, что модели могут генерировать непредсказуемый вредный контент или контент, не соответствующий человеческим предпочтениям; из-за ограничений вычислительных ресурсов и данных обучение недостаточно полное, понимание китайского языка всё ещё требует улучшения; проект сам не предоставляет онлайн-интерактивное демо, пользователям необходимо разворачивать модель локально. Соответствующие ресурсы предназначены только для академических исследований, коммерческое использование строго запрещено; точность выходного контента не гарантируется. ## Связанные проекты Официальные последующие проекты включают Chinese-LLaMA-Alpaca-2 (китайские большие модели LLaMA-2 и Alpaca-2) и Visual-Chinese-LLaMA-Alpaca (мультимодальные китайские большие модели LLaMA и Alpaca).