Библиотека Python, которая запускает большие языковые модели послойно и позволяет выполнять инференс моделей класса 70B на одной GPU с 4 ГБ памяти без квантования.
DLLXW/baby-llama2-chinese
Полный пайплайн предобучения с нуля и SFT небольшой китайской модели в стиле LLaMA2, который можно запустить на одной видеокарте с 24 ГБ памяти.
- Звёзды
- 2,923
- Форки
- 354
- Открытые issues
- 42
- Последний коммит
- 2 месяца назад
Что это?
Baby-Llama2-Chinese — учебный проект, в котором с нуля создают небольшую языковую модель для китайского языка в стиле LLaMA2. Он охватывает токенизацию корпуса, предобучение, supervised fine-tuning (SFT) на датасетах инструкций и инференс. Заявленная цель — обучить модель для чата с базовыми навыками ответов на вопросы по-китайски, используя одну видеокарту с 24 ГБ памяти.
В пайплайне используется токенизатор ChatGLM2-6B с вокабуляром из 64 793 токенов, который помещается в формат uint16; корпусы для предобучения, такие как Wikipedia-zh, BaiduBaiKe, C4_zh и WuDaoCorpora, преобразуются в бинарные файлы. Предобучение запускается через torchrun на нескольких GPU, а скрипты SFT формируют примеры «запрос—ответ» и вычисляют loss только для ответа. Для скачивания опубликованы чекпойнты предобученных моделей размером от 92M до 218M параметров, а также несколько вариантов SFT для общего и медицинского чата.
В репозитории также есть скрипты очистки данных: фильтрация коротких текстов и дедупликация с помощью MinHash или SimHash, а также единый infer.py, который загружает исторические чекпойнты и автоматически определяет размерности модели. Reward model и этап обучения с подкреплением указаны в планах, но пока не реализованы.
Ключевые возможности
- 01В одном репозитории собраны настройка токенизатора, предобучение и полно-параметрический SFT.
- 02Предобучает китайскую модель размером от 92M до 218M параметров на одной видеокарте с 24 ГБ памяти.
- 03Преобразует корпусы в бинарные файлы uint16 с помощью токенизатора ChatGLM2-6B.
- 04Содержит скрипты дедупликации корпусов с помощью MinHash и SimHash.
- 05Предоставляет infer.py, который загружает чекпойнты предобучения и SFT и автоматически определяет размерности модели.
- 06Публикует для скачивания веса предобученных моделей и моделей после дообучения.
Сценарии использования
- Изучение того, как с нуля предобучают и дообучают небольшую модель в стиле LLaMA.
- Эксперименты с китайскими корпусами для предобучения на ограниченных GPU-ресурсах.
- Сравнение влияния размера модели и вокабуляра на loss при предобучении.
- Создание небольшой чат-модели для конкретной предметной области, например модели для медицинских вопросов и ответов, на основе имеющихся данных SFT.
Быстрый старт
- 1
Скачайте токенизированный корпус для предварительного обучения по ссылке Baidu Netdisk (около 118 ГБ).
- 2
Поместите скачанные данные в каталог ./data и запустите скрипт обработки данных.
python data_process.py - 3
Запустите предварительное обучение с помощью torchrun на 4 GPU (пример конфигурации из README).
torchrun --standalone --nproc_per_node=4 pretrain.py - 4
Запустите дообучение SFT.
python sft.py
Что важно знать
- В примере конфигурации предварительного обучения из README предполагается наличие нескольких GPU; автор отмечает, что оборудование с 4 картами 3090 ограничивает размер модели и корпуса.
- Полный корпус для предварительного обучения занимает около 118 ГБ, его необходимо скачать с Baidu Netdisk.
- Большинство данных и моделей размещено на Baidu Netdisk, доступ к которому может быть неудобен за пределами Китая.
- Документация написана преимущественно на китайском языке, а этап обучения с подкреплением всё ещё помечен как TODO.
Темы
Частые вопросы
- Что такое baby-llama2-chinese?
- Полный пайплайн предобучения с нуля и SFT небольшой китайской модели в стиле LLaMA2, который можно запустить на одной видеокарте с 24 ГБ памяти. Baby-Llama2-Chinese — учебный проект, в котором с нуля создают небольшую языковую модель для китайского языка в стиле LLaMA2. Он охватывает токенизацию корпуса, предобучение, supervised fine-tuning (SFT) на датасетах инструкций и инференс. Заявленная цель — обучить модель для чата с базовыми навыками ответов на вопросы по-китайски, используя одну видеокарту с 24 ГБ памяти.
- baby-llama2-chinese можно использовать бесплатно? Какая у него лицензия?
- baby-llama2-chinese распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- baby-llama2-chinese всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в baby-llama2-chinese — 13 авг. 2026 г..
- Для чего можно использовать baby-llama2-chinese?
- Изучение того, как с нуля предобучают и дообучают небольшую модель в стиле LLaMA. Эксперименты с китайскими корпусами для предобучения на ограниченных GPU-ресурсах. Сравнение влияния размера модели и вокабуляра на loss при предобучении. Создание небольшой чат-модели для конкретной предметной области, например модели для медицинских вопросов и ответов, на основе имеющихся данных SFT.
- Как установить baby-llama2-chinese?
- Скачайте токенизированный корпус для предварительного обучения по ссылке Baidu Netdisk (около 118 ГБ). Поместите скачанные данные в каталог ./data и запустите скрипт обработки данных.: python data_process.py Запустите предварительное обучение с помощью torchrun на 4 GPU (пример конфигурации из README).: torchrun --standalone --nproc_per_node=4 pretrain.py Запустите дообучение SFT.: python sft.py
- Где скачать baby-llama2-chinese?
- Исходный код и инструкции по установке — на GitHub: https://github.com/DLLXW/baby-llama2-chinese
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Практическое руководство и кодовая база на PyTorch для обучения LLM-трансформера с нуля: предобучение, SFT, reward modeling, DPO/PPO/GRPO и генерация.
Минималистичный, удобный для модификации инструментарий для полного цикла работы с LLM — от токенизации и предобучения до дообучения, оценки и чата; запускается на одном узле с GPU.
Библиотека Hugging Face для пост-тренинга языковых трансформеров: SFT, GRPO, DPO, KTO и обучение reward-моделей.
Бесплатный фреймворк с открытым исходным кодом для дообучения и постобучения больших языковых моделей с настройкой через YAML-файлы.
CLI-инструмент для дообучения и посттренинга LLM по одному YAML-конфигу, в том числе на потребительских GPU с небольшим объёмом VRAM.