Перейти до основного вмісту

Розгортання моделі

Огляд

Після компіляції моделі необхідно розгорнути на пристрої Modalix для виконання. Model Compiler надає утиліту llima-deploy, щоб спростити цей процес:

sima-user@docker-image-id:/home/docker$ llima-deploy <source_directory> <destination_directory>

Де:

  • source_directory – шлях до каталогу зі скомпільованою моделлю (містить sima_files/ з підкаталогами devkit/, mpk/ і, за потреби, npy_files/).
  • destination_directory – цільова директорія на пристрої Modalix (або локальний шлях для розгортання за допомогою rsync).

Під час виконання цієї команди інструмент розгортання виконує три основні етапи:

  1. Перевіряє, чи містить вихідний каталог необхідні файли (sima_files/devkit/ та sima_files/mpk/).
  2. Витягує ELF-файли з MPK-архівів (*.tar.gz).
  3. Синхронізує наступне з кінцевою точкою за допомогою rsync:
    • devkit/ – файли для оркестрування середовища виконання.
    • elf_files/ – Вилучені бінарні файли.
    • npy_files/ – ваги адаптера LoRA (автоматично додаються, якщо вони є).

Цей інструмент використовує rsync для ефективного передавання файлів, і він пропускатиме файли, які вже є в актуальній версії.

Процес розгортання

Після компіляції вашої моделі за допомогою llima-compile, ви отримаєте таку структуру каталогів:

Llama-3.2-3B-Instruct_out/
├── onnx_files/
└── sima_files/
├── devkit/
└── mpk/

Щоб здійснити розгортання на пристрої Modalix, у вас є два варіанти:

Варіант А: Пряме розгортання на пристрій Modalix

Якщо ваша основна машина має мережевий доступ до пристрою Modalix:

sima-user@docker-image-id:/home/docker$ llima-deploy Llama-3.2-3B-Instruct_out sima@192.168.1.20:/media/nvme/llima/llama3_2

Варіант B: Розміщення в локальній папці для подальшого ручного перенесення

sima-user@docker-image-id:/home/docker$ llima-deploy Llama-3.2-3B-Instruct_out llama3_2
sima-user@docker-image-id:/home/docker$ scp -r llama3_2 sima@192.168.1.20:/media/nvme/llima/
примітка

192.168.1.20 — це приклад IP-адреси Modalix. Використовуйте IP-адресу вашого пристрою.

Після розгортання підключіться до пристрою Modalix за допомогою SSH і запустіть модель:

modalix:~$ ssh sima@192.168.1.20

Потім запустіть модель за допомогою командного рядка llima. Детальнішу інформацію див. у документації LLiMa CLI.

modalix:~$ llima run <model_name>

Спекулятивні моделі декодування.

Коли llima-compile отримує --draft_model_path, її вивід містить цільові та чернеткові результати компіляції в одному батьківському каталозі. Розгорніть цей батьківський каталог за допомогою однієї команди:

llima-deploy compiled-eagle3 spec-decoding-output

Розгорнутий пакет містить дві звичайні директорії моделей для середовища виконання:

spec-decoding-output/
├── <target-model>/
│ ├── devkit/
│ └── elf_files/
└── <draft-model>/
├── devkit/
└── elf_files/

Запустіть батьківську директорію, щоб LLiMa могла ідентифікувати та завантажити обидві моделі з їхнього збереженого файлу конфігурації для спекулятивного декодування:

llima run spec-decoding-output

Усунення несправностей.

Помилка: «devkit directory cannot be found»

Переконайтеся, що вихідний каталог є каталогом, який створила команда llima-compile, і що в ньому міститься підкаталог sima_files.

Помилка: «mpk directory cannot be found»

Перевірте, чи успішно завершено компіляцію. У каталозі sima_files/mpk/ мають міститися файли .tar.gz.

Повільне розгортання

  • Використовуйте rsync зі стисненням: за замовчуванням інструмент використовує rsync -aP.
  • Розгорніть систему на NVMe-накопичувачі в Modalix, щоб пришвидшити завантаження моделі.
  • Розгляньте можливість розгортання лише змінених файлів під час компіляції за допомогою --resume.