Знакът на КАГАМИ КАГАМИ
kagami.bg/academy · lesson · machine-readable viewUPDATED 2026-10-03
IDENTITY
module
GX10-04-20 · Fine-tuning models with NVIDIA NeMo AutoModel on a GB10-class machine
series
GX10 (local AI server class: NVIDIA GB10, e.g. ASUS Ascent GX10 / DGX Spark)
level
Advanced
duration
1–2 h (playbook: 45–90 min for setup and first run)
prerequisites
A GB10-class machine with DGX OS, Docker, CUDA 12.0+, Python 3.10+, Git, at least 32 GB system memory; a Hugging Face account and token for gated models
trust_label
UPDATED 2026-10-03 (against NVIDIA DGX Spark playbook last updated 2026-07-31 and the NeMo documentation) · NOT TESTED (no GB10 machine available; no command was run)
versions
image nvcr.io/nvidia/nemo-automodel:26.02 (as in the playbook; newer tag not checked) · NeMo library Apache 2.0 · NeMo Framework container under the NVIDIA AI product agreement and contains Llama materials under the Meta licence
language
human view: bg · english edition: /en/academy/gx10/ (same file name)
previous / next
04-19_Unsloth_Fine_Tune.html / 04-21_PyTorch_GB10.html
PURPOSE

Run the NeMo AutoModel container on a GB10-class machine and fine-tune a Hugging Face model with the ready recipes (LoRA, QLoRA, full SFT); understand memory limits of 128 GB unified memory; keep results outside the container; handle data, tokens and licences safely.

KEY CONCEPTS
COMMANDS / PATHS
CHECKLIST
NEXT MODULE

04-21 · PyTorch on GB10: BF16, torch.compile and Profiling (04-21_PyTorch_GB10.html) · offer: Quick experiment (kagami.bg/stalbata/) · series index: kagami.bg/academy/gx10/

SOURCES
TAGS
gx10nvidia-gb10arm64nemonemo-automodelfine-tuningloraqloradocker
ОБНОВЕНО · 03.10.2026

NeMo на GX10: фина настройка на модели с AutoModel

NVIDIA NeMo е семейство библиотеки за обучение и настройка на модели. За GX10 NVIDIA предлага практичен път: контейнерът NeMo AutoModel, с който настройваш модели от Hugging Face с LoRA, QLoRA или пълна фина настройка. Урокът показва този път и честно казва кое от по-старите ръководства вече не е актуално.

⏱ 1–2 ч Напреднали GX10 NVIDIA GB10 · 128 GB обща паметDocker · NeMo AutoModel · Hugging Face
NeMo AutoModel (контейнер)🔒 локално Hugging Face (изтегляне на модели)🌐 глобален модел
🔄
ОБНОВЕНО · 03.10.2026 — какво
Урокът е преработен по плейбука на NVIDIA за DGX Spark (последно обновен 31.07.2026). Старият вариант ползваше образа nemo:latest, скрипта megatron_gpt_sft.py с контролни точки .nemo и NeMo-Aligner за DPO. От версия 26.02 документацията насочва контейнера на NeMo Framework към Megatron-Bridge, а за настройка на модели от Hugging Face на DGX Spark има отделен плейбук с NeMo AutoModel и образ nemo-automodel:26.02. Заменихме командите с тези от плейбука. Махнахме таблицата с твърдения „Unsloth е 2× по-бърз“ и „Multi-node ❌“ (не са доказани) и описанието на модулите като равнопоставени. DPO сега е само насока към NeMo RL — не сме го пускали. Добавихме: сметка за паметта при голям модел, запазване на резултатите извън контейнера, защита на данните и лицензите. Примерите ползват публични набори за проба.
⚠️
Какво не сме пускали сами
При проверката нямахме машина от класа GB10. Нито една команда не е пускана от нас: те са преписани от плейбука и сверени с документацията, затова няма етикет „ТЕСТВАНО“. Не сме мерили време и памет (особено при 70B с QLoRA), нямаме проверка кой е най-новият образ в каталога NGC към днес и не сме сверявали формата на твои собствени данни.

01Какво ще научиш

02Преди да започнеш

ЧастЗа какво е (по документацията)
NeMo AutoModelОбучение и настройка на езикови и визуално-езикови модели от Hugging Face с PyTorch; LoRA, QLoRA, пълна настройка
Megatron-BridgeОт 26.02 към него сочи документацията на контейнера NeMo Framework
NeMo RLОбучение с подсилване и предпочитания: има ръководства за GRPO и DPO
Curator · Evaluator · Export-Deploy · RunПодготовка на данни, оценка, износ и пускане, управление на експерименти (по имената в документацията; не сме ги ползвали)
Речеви моделиРазпознаване (ASR) и синтез (TTS) на реч в самата библиотека NeMo; пускането им в производство е с NVIDIA Riva
ИнструментКак го описва NVIDIAУрок
NeMo AutoModelОбучение на модели от Hugging Face от една видеокарта до много; рецепти в YAML, промени от командния ред04-20
LLaMA FactoryЕдин интерфейс за обучение с учител, подсилване и ефективни методи04-18
UnslothОптимизирана фина настройка04-19
⚠️
Лицензи
Библиотеката NeMo е с лиценз Apache 2.0; контейнерът на NeMo Framework е под лицензното споразумение на NVIDIA за AI продукти и съдържа материали на Llama под лиценза на Meta. Моделите, които настройваш, имат собствени лицензи — прочети ги, преди да използваш резултата в работа.

03Стъпки

  1. Проверка на системата

    Пет бързи проверки преди изтегляне: CUDA, Python, видеокарта, памет, Docker.

    bash · на машината
    nvcc --version
    python3 --version
    nvidia-smi
    free -h
    docker ps

    Ако docker ps казва „permission denied“, добави потребителя си към групата docker по указанията на NVIDIA или пиши sudo пред командите. На GB10 редът за памет в nvidia-smi може да казва „Not Supported“ — паметта е обща.

  2. Изтегли образа и пусни контейнера

    Закачаме версията на образа — 26.02 е тази в плейбука към 03.10.2026; по-нов таг провери в каталога NGC на NVIDIA. Флагът --rm изтрива контейнера при изход, а с него — и всичко, записано вътре. Затова добавяме папка от машината за резултатите (това е наше допълнение към плейбука):

    bash
    docker pull nvcr.io/nvidia/nemo-automodel:26.02
    
    mkdir -p ~/nemo-out
    docker run \
      --gpus all \
      --ulimit memlock=-1 \
      -it --ulimit stack=67108864 \
      -v ~/nemo-out:/out \
      --entrypoint /usr/bin/bash \
      --rm nvcr.io/nvidia/nemo-automodel:26.02

    Вътре виж готовите рецепти: cd /opt/Automodel && ls examples/llm_finetune/. Не е пускано от нас.

  3. Достъп до модели от Hugging Face

    За модели с ограничен достъп нужни са две неща от един и същи профил: приет лиценз на страницата на модела (и одобрение) и токен. Самото задаване на токена не дава достъп.

    bash
    export HF_TOKEN=<твоят-токен>

    Токенът е тайна: не го записвай в скриптове, чат или хранилище и не го показвай на снимки на екрана.

  4. Първа настройка с LoRA

    LoRA променя малка добавка към модела, не всичките му тегла — затова иска много по-малко памет. Командата от плейбука взема рецептата за малък модел и подменя модела с Llama-3.1-8B; max_steps 20 е само проба:

    bash · /opt/Automodel
    python3 examples/llm_finetune/finetune.py \
      -c examples/llm_finetune/llama3_2/llama3_2_1b_squad_peft.yaml \
      --model.pretrained_model_name_or_path meta-llama/Llama-3.1-8B \
      --packed_sequence.packed_sequence_size 1024 \
      --step_scheduler.max_steps 20

    Параметрите с -- подменят стойностите от YAML рецептата; хиперпараметрите (ранг на LoRA, скорост на учене) идват от рецептата. Данните в рецептата са публичен учебен набор, не твои.

  5. QLoRA за голям модел и пълна настройка

    QLoRA държи теглата на модела в 4 бита и настройва малка добавка. Плейбукът показва командата за 70B модел; пълната настройка (SFT) променя всички тегла и е показана за по-малък модел (Qwen3-8B). И двете са проба с 20 стъпки:

    bash · QLoRA
    python3 examples/llm_finetune/finetune.py \
      -c examples/llm_finetune/llama3_1/llama3_1_8b_squad_qlora.yaml \
      --model.pretrained_model_name_or_path meta-llama/Meta-Llama-3-70B \
      --loss_fn._target_ nemo_automodel.components.loss.te_parallel_ce.TEParallelCrossEntropy \
      --step_scheduler.local_batch_size 1 \
      --packed_sequence.packed_sequence_size 1024 \
      --step_scheduler.max_steps 20
    bash · пълна настройка
    python3 examples/llm_finetune/finetune.py \
      -c examples/llm_finetune/qwen/qwen3_8b_squad_spark.yaml \
      --model.pretrained_model_name_or_path Qwen/Qwen3-8B \
      --step_scheduler.local_batch_size 1 \
      --step_scheduler.max_steps 20 \
      --packed_sequence.packed_sequence_size 1024
    💡
    Сметка за паметта (само теглата, приблизително)
    70 милиарда параметъра × 2 байта (BF16) = около 140 GB — повече от 128 GB обща памет, така че пълна настройка или BF16 на 70B не се побира. В 4 бита (× 0,5 байта) теглата са около 35 GB, затова при QLoRA остава място за добавката, оптимизатора и данните. 8B модел е около 16 GB в BF16. Това е груба оценка: не включва активации, кеш и системата; реалната памет и времето не сме мерили.
  6. Провери резултата и го запази

    След успешно пускане в папката checkpoints/LATEST/ трябва да има файл config.yaml и папки като model, optim, dataloader и rng (по плейбука). Копирай ги към споделената папка, преди да излезеш от контейнера:

    bash · /opt/Automodel
    ls -lah checkpoints/LATEST/
    cp -r checkpoints /out/
  7. Твои данни, лицензи и оценка

    Форматът на собствен набор и как се задава в рецепта е описан в хранилището на NeMo AutoModel — ние не го сверихме (⚠️), затова не даваме готов пример. Общите правила са:

    • Разделяй данните на обучаващи и проверочни; измервай на непокритите данни.
    • Не настройвай модел с лични данни, договори или поверителни документи без правно основание и защита; настроеният модел може да „запомни“ части от тях.
    • Провери лиценза на базовия модел: дали позволява настройка и търговско ползване.
    • Настроен модел се проверява с примери от реалната задача, а не само със загубата по време на обучение.
    • DPO и други методи с предпочитания: виж ръководствата в документацията на NeMo RL. Не сме ги пускали.
  8. Почистване

    Контейнерът се изтрива при изход. Образът заема място на диска; ако не ти трябва повече, махни го (после ще го теглиш отново):

    bash
    docker rmi nvcr.io/nvidia/nemo-automodel:26.02

04Проверка

Тест

1. Кой образ ползва плейбукът на NVIDIA за настройка на модели на DGX Spark?

2. Защо се задава HF_TOKEN?

3. Побира ли се пълна настройка на 70B модел в BF16 в 128 GB?

4. Какво става с резултатите, ако контейнерът е пуснат с --rm и нищо не е копирано навън?

05Какво следва

06Източници

  1. NVIDIA DGX Spark: Fine-Tune with NVIDIA NeMo — плейбукът, изискванията и рецептите (обновен 31.07.2026). · инструкции — командите от стъпките.
  2. NeMo AutoModel в GitHub — рецепти и изходен код. · документация — на NeMo AutoModel.
  3. NeMo Framework: преглед — състав, речеви модели, лицензи, насочване към Megatron-Bridge от 26.02.
  4. NeMo RL — ръководства за DPO и GRPO (не пускани от нас).