Компіляція моделі.
Огляд
Model Compiler надає інструмент командного рядка LLiMa під назвою llima-compile, який використовується для
компіляції моделей із файлів Hugging Face safetensors, GGUF, або попередньо квантованих
моделей compressed-tensors (GPTQ/AutoRound):
llima-compile [options] <model_path>
Формати вхідних даних для моделі.
LLiMa приймає три шляхи для введення даних у модель. Оберіть один із них, виходячи з наявності контрольних точок, вимог до точності та того, чи є модель LLM або VLM.
| Вхідні дані | Опис. | Коли використовувати. |
|---|---|---|
| Оригінал Hugging Face safetensors | Контрольна точка FP/BF16, яка LLiMa виконує квантування під час компіляції. | Немає точної попередньо квантованої відповідності, або потрібні оригінальні значення параметрів. |
| Попередньо квантовані Hugging Face safetensors (GPTQ/AutoRound) | Контрольна точка, квантовані ваги якої повторно використовуються LLiMa. | Рекомендується використовувати, коли колекція містить точну відповідність. |
| GGUF | Наявна квантована контрольна точка LLM. | Зручний варіант резервного копіювання LLM; не під тримується для VLM. |
Один лише формат вхідних даних не забезпечує сумісність. Архітектура моделі, її розмір, токенізатор і будь-які мультимодальні компоненти також повинні підтримуватися.
Почніть з SiMa.ai попередньо квантована модель
Перш ніж завантажувати оригінальні ваги Hugging Face або GGUF, перевірте колекцію попередньо квантованих моделей SiMa.ai . Вик ористовуйте точну відповідність для потрібної архітектури, розміру параметрів, варіанту та модальності, якщо така є.
Пункти збору даних залежать від конкретної моделі та попередньо налаштовані.LLiMa compressed-tensors
артефакти, які можна безпосередньо передавати до llima-compileВони дозволяють уникнути додаткового етапу компіляції, який передбачає перетворення чисел із рухомою комою на квантовані значення, і містять інформацію про походження квантування, необхідну для розуміння їхньої точності та структури. Вони є вхідними даними для компілятора, а не скомпільованим кодом. Modalix моделі.
Для індивідуального налаштування існуючої підтримуваної моделі відповідний репозиторій може містити специфічні для цієї моделі дані. quantize.py,
recipe.yamlі versions.txtПерегляньте інформаційну картку моделі для цього репозиторію та використовуйте
документований скрипт, що там наведено; не використовуйте повторно рецепт, який підходить лише для дещо схожої моделі.
hf download simaai/<model-repository> \
--revision <immutable-revision> \
--local-dir <prequantized-model-directory>
llima-compile <prequantized-model-directory> -o <output-directory>
Опишіть модель. Агент з LLiMa набір навичок, який це передбачає.
SiMa.ai LLiMa підтримує компіляцію моделі для агентів одразу після встановлення, за допомогою навичок, що входять до складу середовища розробки Neat (Neat SDK). Ці навички надають агентам, що виконують кодування, контекст для оцінки сумісності LLM та VLM, вибору точного попередньо квантованого вхідного значення, якщо воно доступне, використання встановленого CLI LLiMa та дотримання процесу розгортання та валідації Modalix.
Рекомендований процес для агентів може компілювати модель, розгортати її на доступному Modalix DevKit, перевіряти результати та діагностику, а також вдосконалювати компіляцію. Традиційна компіляція через CLI залишається паралельним шляхом для безпосереднього керування за допомогою тих самих інструментів. Обидва способи створюють стандартні, доступні для перевірки артефакти LLiMa, тому ви можете переглянути вибрану модель, команди, параметри та вихідні дані або переходити між двома процесами в міру зміни вимог. Див. Налаштування Neat SDK, щоб увімкнути компіляцію для агентів.
Запитайте повний процес природною мовою, наприклад:
Compile <model ID or local path> with LLiMa, deploy it to my Modalix at
<user@host>, and smoke-test it. Prefer an exact SiMa.ai pre-quantized
checkpoint when available.
Агент фіксує інформацію про модель і джерело рецепту, дотримується правил командного рядка (CLI) встановленої версії та повідомляє про будь-які непідтримувані межі моделі або недоступність апаратного забезпечення для перевірки, замість того щоб непомітно замінювати іншу модель або формат.
Результат компіляції.
За замовчуванням, повний процес обробки даних створює таку структуру каталогів:
output_directory/
└── sima_files/ # Compiled model files
├── devkit/ # Runtime configuration and model data
│ ├── tokenizer.json
│ ├── vlm_config.json
│ └── ...
├── mpk/ # MPK archives with compiled binaries
│ ├── layer_0.tar.gz
│ └── ...
├── npy_files/ # LoRA adapter weights (only when compiled with LoRA)
│ ├── <adapter_name>/
│ │ └── *.npy
│ └── ...
└── ...
Аргументи командного рядка
Інструмент llima-compile приймає різні аргументи для налаштування процесу компіляції. Наступні таблиці містять опис доступних параметрів:
| Аргумент | Опис. |
|---|---|
model_path | Шлях до вхідної моделі (каталог HuggingFace, файл GGUF або каталог із попередньо квантованими стиснутими тензорами). |
-o, --output | Директорія для збереження скомпільованих файлів. За замовчуванням використовується назва моделі. |
-c, --configuration_file | Скрипт Python, який використовується для налаштування точності для кожного шару (наприклад, для використання змішаної точності). |
--max_num_tokens | Максимальна довжина контексту. Має бути кратна 1024. Значення за замовчуванням: 4096. |
--resume | Продовжуйте перервані процеси збирання, пропускаючи наявні файли. |
-j, --jobs | Кількість паралельних процесів компіляції. За замовчуванням: кількість фізичних ядер процесора. |
--log_level | Рівень реєстрації (DEBUG, INFO, WARNING, ERROR). За замовчуванням: WARNING. |
--input_height | Висота вхідного зображення в пікселях. Має бути вказана разом із --input_width. Обов’язково для моделей Qwen 2 VL, Qwen 3 VL та Gemma 4; необов’язково для зміни встановленого розміру моделі SigLIP2. |
--input_width | Ширина вхідного зображення в пікселях. Має бути вказана разом із --input_height. Обов’язково для моделей Qwen 2 VL, Qwen 3 VL та Gemma 4; необов’язково для зміни встановленого розміру моделі SigLIP2. |
--system_prompt | Системне повідомлення, яке потрібно зберегти для використання в режимі командного рядка та для попереднього завантаження моделі. |
--system_prompt_file | Шлях до текстового файлу, що містить системне повідомлення. |
--chat_template | Рядок шаблону чату, який зберігатиметься в скомпільованій моделі. Не сумісний з опціями системного промту та файлу шаблону чату. |
--chat_template_file | Шлях до файлу, що містить шаблон чату. Не сумісний з параметрами системного підказника та --chat_template. |
Більшість моделей підтримують довжину контексту до 8192 токенів. Використовуйте --max_num_tokens 8192, щоб увімкнути контекст довжиною 8K.
| Розширений аргумент. | Опис. |
|---|---|
--language_group_size | Розмір пакета для паралельної обробки токенів під час попереднього заповнення. Більші значення (наприклад, 256) можуть покращити час до отримання першого токена (TTFT) для великих вхідних запитів, але можуть погіршити його для менших вхідних запитів. Значення за замовчуванням: 128. |
--future_token_mask_size | Розмір маски для повторного використання скомпільованих моделей для різних позицій токенів. Більші значення зменшують кількість скомпільованих бінарних файлів, але можуть зменшити кількість токенів за секунду (TPS). Значення за замовчуванням: 128. |
--enable_filter_sharing | Увімкніть спільне використання фільтрів між груповими та окремими моделями, щоб зменшити використання оперативної пам’яті (DRAM) за рахунок збільшення часу до отримання першого токена (TTFT) і зменшення кількості токенів за секунду (TPS). Це ефективно лише тоді, коли обидва типи моделей використовують однакову точність, і це обов’язково під час компіляції з використанням LoRA. |
--no-quantize_embeddings | Вимкніть квантування таблиці вбудовувань, яке за замовчуванням увімкнено для підтримуваних LLM та VLM. |
--no-quantize_kv_cache | Вимкніть квантування кешу KV, яке за замовчуванням увімкнено. |
--return_logits | Повертайте значення логітів на виході останнього шару (необхідно для оцінювача моделі). |
--draft_model_path | Шлях до чернетки моделі EAGLE3 для експериментального декодування. |
--lora_name | Назва для адаптера LoRA, який компілюється разом із базовою моделлю. |
--lora_path | Шлях до каталогу адаптера LoRA, який використовуватиметься для компіляції разом із базовою моделлю. |
--compile_lora, --no-compile_lora | Увімкніть або вимкніть компіляцію ваг адаптера, коли вказано шляхи до LoRA. За замовчуванням увімкнено. |