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

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_ipIP-адреса плати 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. Необов’язково. Встановіть, щоб увімкнути автоматизований тест продуктивності без взаємодії з користувачем.
important

Для проведення тестування точності та логарифмічної правдоподібності за допомогою -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_ipIP-адреса плати 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.