Розгортання моделі
Огляд
Після компіляції моделі необхідно розгорнути на пристрої 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).
Під час виконання цієї команди інструмент розгортання виконує три основні етапи:
- Перевіряє, чи містить вихідний каталог необхідні файли (
sima_files/devkit/таsima_files/mpk/). - Витягує ELF-файли з MPK-архівів (
*.tar.gz). - Синхронізує наступне з кінцевою точкою за допомогою
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.