MoLE – інструмент для оцінювання мовної Modalix моделі.
Огляд
MoLE (Modalix Language Model Evaluator) — це інструмент для проведення тестування, який використовується для оцінки точності та продуктивності LLM, що працюють на платформі Modalix.
Він розширює можливості EleutherAI's lm-evaluation-harness і підтримує два бекенди:
- hf — запускає оцінювання на локальній машині, використовуючи HuggingFace transformers (як базовий зразок для порівняння).
- modalix — запускає тестування на платі Modalix за допомогою
llima benchmark-server.
Встановлення
MoLE — це інструмент для проведення тестування продуктивності на стороні хоста. Встановіть і запустіть його на хост-машині поза контейнером Docker SDK, а не всередині контейнера SDK і не на пристрої Modalix. Пристрою Modalix потрібне лише середовище виконання LLiMa і процес llima benchmark-server. Див. Neat Framework installation для отримання інформації про процес встановлення середовища виконання.
Встановіть MoLE на хост за допомогою sima-cli:
host:~$ sima-cli neat install llima/mole
Це встановлює MoLE у віртуальне середовище на хост-машині за адресою ~/sima-mole-venv.
Використання
Перш за все, активуйте віртуальне середовище MoLE:
host:~$ source ~/sima-mole-venv/bin/activate
MoLE викликається через llima-benchmark у командному рядку з використанням двох підкоманд. Аргумент <model_id> завжди є ідентифікатором HuggingFace моделі (наприклад, meta-llama/Llama-3.2-3B-Instruct). У режимі -b modalix це не просто мітка для відображення: вона має відповідати токенізатору та конфігурації, які використовуються для компіляції розгорнутої моделі, оскільки плата повертає лише оцінки токенів і не надає метадані токенізатора.
Тестування точності.
Оцінює якість моделі на основі стандартних завдань:
(sima-mole-venv) host:~$ llima-benchmark accuracy <model_id> -b modalix \
-t <task> \
-o <output_dir> \
--max_num_tokens <max_num_tokens> \
--board_ip <board_ip> \
--board_model <model_path_on_board>
| Аргумент | Опис. |
|---|---|
model_id | Ідентифікатор моделі HuggingFace (наприклад, meta-llama/Llama-3.2-3B-Instruct). Для -b modalix він має відповідати токенізатору/конфігурації розгорнутої моделі. |
-b | Який бекенд використовувати: modalix (запускати на бортовому комп’ютері) або hf (запускати на хост- машині як базову еталонну систему). |
-t | Обов’язково. Одне або кілька завдань для оцінювання. Приклади завдань: hellaswag, triviaqa, piqa, winogrande, wikitext. Перегляньте список завдань, щоб дізнатися про всі доступні завдання. |
-o | Директорія для збереження результатів тесту продуктивності. |
--board_ip | IP-адреса плати Modalix. Необхідна для -b modalix. |
--board_model | Шлях до скомпільованої директорії моделі на пристрої Modalix (наприклад, /media/nvme/llima/models/Llama-3.2-3B-Instruct-a16w4). Необхідно для -b modalix. |
--max_num_tokens | Максимальна довжина контексту. Має бути рівною або меншою за значення, яке використовувалося під час компіляції. |
-n, --num_samples | Кількість зразків для оцінювання. Якщо не вказано, виконується повний набір завдань. |
--board_ssh_user | Ім’я користувача SSH для плати Modalix. Необов’язково, значення за замовчуванням: sima. # |
--board_ssh_pass | Пароль SSH для плати Modalix. Необов’язково. Встановіть, щоб увімкнути автоматизований тест продуктивності без взаємодії з користувачем. |
Для проведення тестування точності та логарифмічної правдоподібності за допомогою -b modalix необхідно, щоб розгорнута модель була скомпільована з параметром --return_logits. За замовчуванням цей параметр вимкнено. Див. Компіляція моделі. Якщо модель була скомпільована без цього параметра, тест продуктивності завершиться помилкою: model not compiled with --return_logits; accuracy/loglikelihood tasks are unsupported.
У режимі -b modalix, таблиці результатів позначаються як результати бекенду Modalix і містять цільову платформу. HuggingFace model_id все ще відображається, оскільки MoLE використовує її для токенізації та метаданих завдання.
Щоб використовувати бекенд HuggingFace як базову модель для порівняння:
(sima-mole-venv) host:~$ llima-benchmark accuracy <model_id> -b hf -t <task> -o <output_dir>
Для перевірки всіх доступних варіантів запустіть тест продуктивності llima-benchmark accuracy -h.
Тестування продуктивності.
Вимірює час до отримання першого токена (TTFT) і кількість токенів за секунду (TPS) на платі Modalix для різних довжин вхідних даних:
(sima-mole-venv) host:~$ llima-benchmark perf <model_id> \
-o <output_dir> \
--board_ip <board_ip> \
--board_model <model_path_on_board> \
--max_num_tokens <max_num_tokens> --max_new_tokens <max_new_tokens> \
--input_lengths 1024 2048 3072 4096
| Аргумент | Опис. |
|---|---|
model_id | Ідентифікатор моделі HuggingFace (наприклад, meta-llama/Llama-3.2-3B-Instruct). Для тестів продуктивності Modalix він має відповідати токенізатору/конфігурації розгорнутої моделі. |
-o | Директорія для збереження результатів тесту продуктивності. |
--board_ip | IP-адреса плати Modalix. |
--board_model | Шлях до скомпільованої директорії моделі на пристрої Modalix (наприклад, /media/nvme/llima/models/Llama-3.2-3B-Instruct-a16w4). |
--max_num_tokens | Максимальна довжина контексту. Має бути рівною або меншою за значення, яке використовувалося під час компіляції. |
--max_new_tokens | Максимальна кількість токенів, які потрібно згенерувати у вихідних даних. |
--input_lengths | Необов’язкові точні довжини вхідних токенів для тестування продуктивності. Значення мають бути унікальними, і кожне значення плюс --max_new_tokens має відповідати обмеженню --max_num_tokens. Якщо не вказано, MoLE генерує автоматичні діапазони, що є степенями двійки. |
--board_ssh_user | Ім’я користувача SSH для плати Modalix. Необов’язково, значення за замовчуванням: sima. |
--board_ssh_pass | Пароль SSH для плати Modalix. Необов’язково. Встановіть, щоб увімкнути автоматизований тест продуктивності без взаємодії з користувачем. |
Щоб переглянути всі доступні варіанти, запустіть llima-benchmark perf -h.