Перейти к содержимому
ПереводыDatawhale и китайские курсы

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
Устройство репозитория self-llm (схема переводчика)
Часть репозиторияЧто тамЗачем вам
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-сервис вокруг transformers8.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
полное дообучение / распределённое полное дообучениеполное дообучение, DeepSpeed6.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-it1десятки моделей можно гонять параллельно на разных картах
основная «рабочая лошадка»: сервис + RAG/агентQwen3-8B vLLM (перевод), DeepSeek-R1-Distill-Qwen-7B, gpt-oss-20b vLLM18B в bf16 ≈ 16 ГБ; gpt-oss-20b поставляется в 4-битном формате MXFP4
первое LoRA-дообучениеQwen3-8B LoRA (перевод), Qwen3-1.7B (медицинские рассуждения), Qwen3.5-4B LoRA, MiniCPM5-1B LoRA1с gradient_checkpointing 8B помещается на одну 32-ГБ карту
модели 14–32BQwen3-14B, Qwen3-30B-A3B (MoE: 30 млрд параметров, 3 млрд активных) — развёртывание и LoRA2–430B в bf16 ≈ 61 ГБ → --tensor-parallel-size 2 или 4
RL для рассужденийQwen3-8B GRPO, DeepSeek-R1-0528-Qwen3-8B-GRPO1–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 GRPORL с проверяемой наградой на реальной модели

«Руководство по употреблению открытых больших моделей»

Заголовок раздела ««Руководство по употреблению открытых больших моделей»»

Этот проект — учебник по большим моделям «специально для китайских малышей»: он построен вокруг открытых больших моделей, рассчитан на начинающих из Китая и работает на платформе Linux. Для самых разных открытых моделей он даёт сквозные инструкции — настройка окружения, локальное развёртывание, эффективное дообучение, — упрощает развёртывание, использование и применение открытых моделей, чтобы больше обычных студентов и исследователей могли ими пользоваться и чтобы открытые, свободные большие модели быстрее входили в жизнь обычных учащихся.

Основное содержание проекта:

  1. Руководство по настройке окружения для открытых LLM на Linux — с подробными шагами под требования разных моделей;
  2. Учебники по развёртыванию и использованию основных открытых LLM, китайских и зарубежных: LLaMA, ChatGLM, InternLM и др.;
  3. Инструкции по применению развёрнутых открытых LLM: вызов из командной строки, онлайн-демо, интеграция с фреймворком LangChain и др.;
  4. Методы полного и эффективного дообучения открытых 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)»

Используем официальную утилиту командной строки 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, только нужно указать адрес зеркала. Используем официальную утилиту 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.

Скачиваем модель функцией snapshot_download из modelscope: первый параметр — имя модели, параметр cache_dir — путь для скачивания.

Внимание: cache_dir лучше задавать абсолютным путём.

Установка зависимостей:

Окно терминала
pip install modelscope
pip install transformers

Создайте в текущей папке файл Python со следующим кодом и запустите его.

import torch
from modelscope import snapshot_download, AutoModel, AutoTokenizer
import os
model_dir = snapshot_download('Shanghai_AI_Laboratory/internlm-chat-7b', cache_dir='your path', revision='master')

Скачайте установщик с сайта git-lfs и установите git-lfs. После установки выполните в терминале git lfs install — и можно качать модели через git-lfs. Правда, для этого способа нужно немного «магии» (то есть доступ к зарубежным сайтам).

Окно терминала
git clone https://huggingface.co/internlm/internlm-7b

OpenXLab позволяет скачать веса модели напрямую, указав адрес репозитория модели, имя нужного файла, место сохранения и т. д.

Для скачивания скриптом Python сначала установите зависимость: pip install -U openxlab. Затем импортируйте модель из хаба функцией download.

from openxlab.model import download
download(model_repo='OpenLMLab/InternLM-7b', model_name='InternLM-7b', output='your local path')
РусскийПояснение
руководство по употреблениюшутливое «как это готовить и есть»
развёртывание (deployment)запуск модели как сервиса
вызовобращение к модели по API
дообучение (fine-tuning)LoRA, полное, GRPO, DPO
полное дообучениеобновляются все веса
эффективное дообучение (PEFT)LoRA, p-tuning и т. п.
смена зеркалаускорение pip/conda в Китае
зеркало; образhf-mirror.com; Docker-образ
«магия» — доступ к зарубежным сайтамкитайский интернет-жаргон
закрытые (свои) данныеданные компании или человека