self-llm: путеводитель по «Руководству по употреблению открытых моделей»
Обзор сборника Datawhale self-llm («Руководство по употреблению открытых больших моделей»): что внутри (рецепты развёртывания, оценки и дообучения 50+ открытых моделей), какие рецепты реально запустить на 4× RTX 4080, к каким урокам курса они относятся, плюс перевод вводной части и инструкции по скачиванию моделей.
self-llm — сборник Datawhale «Руководство по употреблению открытых больших моделей» (в названии шутливое «употреблять в пищу» — то есть «как это есть»). Это не учебник, а поваренная книга: для каждой открытой модели — Qwen, GLM, DeepSeek, Kimi, MiniMax, InternLM, Gemma, Llama и десятков других — даны пошаговые рецепты: как поставить окружение, скачать веса, поднять модель как сервис (vLLM, SGLang, FastAPI, LM Studio, Ollama), прикрутить веб-интерфейс или LangChain, оценить её и дообучить (LoRA, полное дообучение, GRPO, DPO) с графиками в SwanLab.
Репозиторий распространяется по лицензии Apache-2.0 — переводить и пересказывать можно свободно, с указанием источника; эта страница и переводы рецептов — тоже под Apache-2.0.
Что внутри
Заголовок раздела «Что внутри»flowchart LR G["General-Setting:<br/>зеркала pip/conda,<br/>скачивание моделей,<br/>порты AutoDL"] --> M M["models/МОДЕЛЬ/<br/>01 … 10 рецептов"] --> D["Развёртывание:<br/>vLLM, SGLang, FastAPI,<br/>WebDemo, LM Studio, Ollama"] M --> E["Оценка:<br/>EvalScope"] M --> F["Дообучение:<br/>LoRA, полное, GRPO, DPO<br/>+ SwanLab"] M --> A["Приложения:<br/>LangChain, Docker-образы"] X["examples/:<br/>Chat-Huanhuan, Tianji,<br/>AMChat, «Цифровая жизнь»"] --> F
| Часть репозитория | Что там | Зачем вам |
|---|---|---|
models/General-Setting/ | смена зеркал pip/conda (для Китая), открытие портов на облаке AutoDL, скачивание моделей (HF, зеркало, ModelScope, git-lfs) | скачивание пригодится всем; перевод — ниже |
models/<Модель>/ | 50+ папок, в каждой 2–11 пронумерованных рецептов: разбор архитектуры, развёртывание, оценка, дообучение | основной материал: берите модель → открывайте рецепт |
support_model.md | полный список моделей и рецептов с авторами | оглавление сборника |
examples/ | учебные проекты целиком: Chat-Huanhuan (LoRA под стиль героини сериала «Легенда о Чжэнь Хуань»), Tianji («Тяньцзи», агент для «житейских» социальных ситуаций: промпты, агенты, сбор данных, дообучение, RAG), AMChat (высшая математика на InternLM2-Math-7B через XTuner), «Цифровая жизнь» (дообучение модели «под себя» по своим перепискам) | пример полного цикла «данные → дообучение → приложение» |
dataset/ | учебные датасеты, например huanhuan.json — 3729 реплик Чжэнь Хуань | данные для первых LoRA |
models_amd/, models_ascend/, models_mlx/ | рецепты для AMD ROCm, китайских NPU Ascend, Apple Silicon (MLX) | вам не нужны — у вас NVIDIA |
Типы рецептов
Заголовок раздела «Типы рецептов»| Рецепт (название в оригинале, в переводе) | Что делаете | Урок курса |
|---|---|---|
| Blog: разбор архитектуры модели | читаете, как устроена модель (MoE, внимание, «думающий» режим) | 4.5.3, 5.3.1 |
| FastApi: развёртывание и вызов | пишете свой маленький HTTP-сервис вокруг transformers | 8.4.3 |
| vLLM / SGLang: развёртывание и вызов | поднимаете быстрый OpenAI-совместимый сервер | 7.1.2 |
| WebDemo / LMStudio / ollama + open-webui | чат в браузере, локальная модель «для себя» | 7.2.2 |
| Langchain: подключение | модель как «мозг» приложения | 8.1.1, 8.2.1 |
| EvalScope: оценка IQ и EQ / оценка под параллельной нагрузкой | оценка «интеллекта и эмпатии» и нагрузочный тест сервера | 7.3.1 |
| Lora: дообучение (+ графики в SwanLab) | LoRA-дообучение с графиками обучения | 6.2.1–6.2.2 |
| полное дообучение / распределённое полное дообучение | полное дообучение, DeepSpeed | 6.1.2, 5.4.3 |
| GRPO: дообучение / DPO: дообучение | обучение рассуждению и по предпочтениям | 6.4.5, 6.3.3 |
| Docker: образ | готовый образ окружения на облаке AutoDL | — |
Какие рецепты брать на вашей машине
Заголовок раздела «Какие рецепты брать на вашей машине»| Задача | Что брать из self-llm | Сколько GPU | Примечание |
|---|---|---|---|
| первое знакомство, быстрые опыты | Qwen3-0.6B / 1.7B / 4B, MiniCPM5-1B, Qwen3.5-4B, gemma-3-4b-it | 1 | десятки моделей можно гонять параллельно на разных картах |
| основная «рабочая лошадка»: сервис + RAG/агент | Qwen3-8B vLLM (перевод), DeepSeek-R1-Distill-Qwen-7B, gpt-oss-20b vLLM | 1 | 8B в bf16 ≈ 16 ГБ; gpt-oss-20b поставляется в 4-битном формате MXFP4 |
| первое LoRA-дообучение | Qwen3-8B LoRA (перевод), Qwen3-1.7B (медицинские рассуждения), Qwen3.5-4B LoRA, MiniCPM5-1B LoRA | 1 | с gradient_checkpointing 8B помещается на одну 32-ГБ карту |
| модели 14–32B | Qwen3-14B, Qwen3-30B-A3B (MoE: 30 млрд параметров, 3 млрд активных) — развёртывание и LoRA | 2–4 | 30B в bf16 ≈ 61 ГБ → --tensor-parallel-size 2 или 4 |
| RL для рассуждений | Qwen3-8B GRPO, DeepSeek-R1-0528-Qwen3-8B-GRPO | 1–4 | см. урок 6.4.5 |
| большие MoE (GLM-4.5-Air, MiniMax-M2.x, Kimi-K2.5, DeepSeek-V4-Flash) | только читать рецепты | — | сотни ГБ весов: даже 4-битные версии на пределе или не помещаются в 128 ГБ |
Маршрут по курсу
Заголовок раздела «Маршрут по курсу»| Когда в курсе | Рецепт self-llm | Что получите |
|---|---|---|
| после 6.2.1 «LoRA» | Qwen3-8B LoRA (или Qwen3-1.7B для скорости) | своя первая дообученная модель — «Чжэнь Хуань» |
| вместе с 6.2.2 «Практика дообучения» | любой LoRA-рецепт под свой датасет + SwanLab | навык читать кривые обучения и сравнивать запуски |
| после 7.1.2 «Сервинг» | Qwen3-8B vLLM | локальный OpenAI-совместимый сервер для всех заданий ступени 8 |
| вместе с 7.2.2 «Локальные LLM» | LM Studio / Ollama + open-webui | «ChatGPT у себя на компьютере» |
| вместе с 7.3.1 «Бенчмарки» | Qwen3-8B EvalScope | оценка своей и чужой модели одним инструментом |
| вместе с 6.4.5 «GRPO на практике» | Qwen3-8B GRPO | RL с проверяемой наградой на реальной модели |
Перевод: вводная часть README
Заголовок раздела «Перевод: вводная часть README»«Руководство по употреблению открытых больших моделей»
Заголовок раздела ««Руководство по употреблению открытых больших моделей»»Этот проект — учебник по большим моделям «специально для китайских малышей»: он построен вокруг открытых больших моделей, рассчитан на начинающих из Китая и работает на платформе Linux. Для самых разных открытых моделей он даёт сквозные инструкции — настройка окружения, локальное развёртывание, эффективное дообучение, — упрощает развёртывание, использование и применение открытых моделей, чтобы больше обычных студентов и исследователей могли ими пользоваться и чтобы открытые, свободные большие модели быстрее входили в жизнь обычных учащихся.
Основное содержание проекта:
- Руководство по настройке окружения для открытых LLM на Linux — с подробными шагами под требования разных моделей;
- Учебники по развёртыванию и использованию основных открытых LLM, китайских и зарубежных: LLaMA, ChatGLM, InternLM и др.;
- Инструкции по применению развёрнутых открытых LLM: вызов из командной строки, онлайн-демо, интеграция с фреймворком LangChain и др.;
- Методы полного и эффективного дообучения открытых LLM: распределённое полное дообучение, LoRA, p-tuning и др.
Главное содержание проекта — учебники, чтобы больше студентов и будущих специалистов узнали, как «употреблять» открытые большие модели! Любой может открыть issue или прислать PR и вместе строить и поддерживать проект.
Кто хочет участвовать глубже — свяжитесь с нами, мы добавим вас в число мейнтейнеров.
Совет по изучению: сначала изучите настройку окружения, затем развёртывание и использование моделей, и в конце — дообучение. Окружение — это основа, развёртывание и использование — тоже основа, дообучение — продвинутый уровень. Новичкам лучше начать с моделей Qwen1.5, InternLM2, MiniCPM и т. п.
Рекомендация для продолжения: если после этого проекта вы хотите глубже понять устройство больших языковых моделей и своими руками обучить свою модель с нуля, очень советуем другой открытый проект Datawhale — Happy-LLM: принципы и практика LLM с нуля. Он поведёт вас вглубь механизмов больших моделей и научит полному процессу обучения.
Примечание: кто хочет понять, из чего состоит большая модель, и с нуля написать RAG, Agent и Eval, может изучить другой проект Datawhale — Tiny-Universe. Большие модели — горячая тема глубокого обучения, но большинство учебников учат лишь вызывать API, и мало кто объясняет на уровне принципов устройство модели, RAG, Agent и Eval. Поэтому там всё написано вручную, без вызова API.
Примечание: тем, кто перед этим проектом хочет изучить теорию больших моделей, глубже разобраться в теоретических основах LLM и уже на этой базе понимать и применять LLM, подойдёт курс Datawhale so-large-llm.
Примечание: тем, кто после этого курса хочет сам разрабатывать приложения на больших моделях, подойдёт курс Datawhale «Разработка приложений на больших моделях своими руками» — учебник для начинающих разработчиков: на облачном сервере Alibaba Cloud, на примере проекта «помощник по личной базе знаний», показан весь процесс разработки приложения.
Зачем этот проект
Заголовок раздела «Зачем этот проект»Что такое большая модель?
Большая модель (LLM) в узком смысле — модель обработки естественного языка (NLP), обученная алгоритмами глубокого обучения и применяемая в основном для понимания и генерации языка; в широком смысле сюда входят и большие модели компьютерного зрения (CV), мультимодальные модели, модели для научных вычислений.
«Война ста моделей» в разгаре, открытые LLM появляются одна за другой. В Китае и за рубежом уже есть множество отличных открытых LLM: за рубежом — LLaMA, Alpaca, в Китае — ChatGLM, BaiChuan, InternLM и другие. Открытые LLM можно развернуть у себя и дообучить на своих закрытых данных — каждый может на их основе создать свою уникальную модель.
Но сейчас, чтобы обычный студент или пользователь мог пользоваться этими моделями, нужны определённые технические навыки: развернуть модель и работать с ней. А быстро освоить применение очередной открытой LLM — каждая со своими особенностями — довольно трудная задача.
Проект ставит цель: сначала, на опыте основных участников, сделать учебники по развёртыванию, использованию и дообучению основных открытых LLM; затем — собрать как можно больше соавторов и вместе обогащать этот мир открытых LLM, создавая всё больше и всё более полных учебников по моделям с особенностями. Из отдельных искр — в море огня.
Мы хотим стать лестницей между LLM и широкой публикой и, в свободном и равноправном духе open source, обнять величественный и бескрайний мир LLM.
Для кого
Заголовок раздела «Для кого»Проект подойдёт, если вы:
- хотите пользоваться LLM или попробовать их, но не имеете возможности получить или использовать соответствующие API;
- хотите долго, дёшево и много применять LLM;
- интересуетесь открытыми LLM и хотите сами с ними поработать;
- изучаете NLP и хотите дальше изучать LLM;
- хотите на базе открытой LLM создать свою LLM для конкретной области;
- а также — самый широкий и самый обычный круг студентов.
Перевод: «Скачивание моделей» (General-Setting, файл 03)
Заголовок раздела «Перевод: «Скачивание моделей» (General-Setting, файл 03)»Hugging Face
Заголовок раздела «Hugging Face»Используем официальную утилиту командной строки huggingface-cli. Установка зависимостей:
pip install -U huggingface_hubЗатем создайте файл Python со следующим кодом и запустите его.
resume-download— докачка после обрыва;local-dir— локальный путь для сохранения (в Linux нужно указывать абсолютный путь).
import os
# Скачиваем модельos.system('huggingface-cli download --resume-download internlm/internlm-chat-7b --local-dir your_path')Скачивание через зеркало Hugging Face
Заголовок раздела «Скачивание через зеркало Hugging Face»То же, что скачивание с Hugging Face, только нужно указать адрес зеркала. Используем официальную утилиту
huggingface-cli. Установка зависимостей:
pip install -U huggingface_hubЗатем создайте файл Python со следующим кодом и запустите его.
resume-download— докачка после обрыва;local-dir— локальный путь для сохранения (в Linux нужно указывать абсолютный путь).
import os
# Задаём переменную окруженияos.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
# Скачиваем модельos.system('huggingface-cli download --resume-download internlm/internlm-chat-7b --local-dir your_path')Подробнее о зеркале — на сайте HF Mirror.
ModelScope
Заголовок раздела «ModelScope»Скачиваем модель функцией snapshot_download из modelscope: первый параметр — имя модели, параметр cache_dir —
путь для скачивания.
Внимание: cache_dir лучше задавать абсолютным путём.
Установка зависимостей:
pip install modelscopepip install transformersСоздайте в текущей папке файл Python со следующим кодом и запустите его.
import torchfrom modelscope import snapshot_download, AutoModel, AutoTokenizerimport osmodel_dir = snapshot_download('Shanghai_AI_Laboratory/internlm-chat-7b', cache_dir='your path', revision='master')git-lfs
Заголовок раздела «git-lfs»Скачайте установщик с сайта git-lfs и установите git-lfs. После установки выполните в
терминале git lfs install — и можно качать модели через git-lfs. Правда, для этого способа нужно немного
«магии» (то есть доступ к зарубежным сайтам).
git clone https://huggingface.co/internlm/internlm-7bOpenXLab
Заголовок раздела «OpenXLab»OpenXLab позволяет скачать веса модели напрямую, указав адрес репозитория модели, имя нужного файла, место сохранения и т. д.
Для скачивания скриптом Python сначала установите зависимость: pip install -U openxlab. Затем импортируйте
модель из хаба функцией download.
from openxlab.model import downloaddownload(model_repo='OpenLMLab/InternLM-7b', model_name='InternLM-7b', output='your local path')Что читать дальше
Заголовок раздела «Что читать дальше»- Qwen3-8B: vLLM — полный перевод рецепта
- Qwen3-8B: LoRA и SwanLab — полный перевод рецепта
- Tiny Universe и Happy-LLM — те же авторы, но «изнутри»: как устроено то, что self-llm учит запускать.
- Официальная документация vLLM и PEFT — когда рецепт устарел.
Словарик
Заголовок раздела «Словарик»| Русский | Пояснение |
|---|---|
| руководство по употреблению | шутливое «как это готовить и есть» |
| развёртывание (deployment) | запуск модели как сервиса |
| вызов | обращение к модели по API |
| дообучение (fine-tuning) | LoRA, полное, GRPO, DPO |
| полное дообучение | обновляются все веса |
| эффективное дообучение (PEFT) | LoRA, p-tuning и т. п. |
| смена зеркала | ускорение pip/conda в Китае |
| зеркало; образ | hf-mirror.com; Docker-образ |
| «магия» — доступ к зарубежным сайтам | китайский интернет-жаргон |
| закрытые (свои) данные | данные компании или человека |