NEX VLIW — LoRA-адаптеры планировщика широких команд для Эльбрус e2k

Адаптеры к NEX CLI — инструменту анализа расписаний широких команд (VLIW) для процессора Эльбрус e2k. Модель училась выдавать расписание для графа зависимостей: какая операция в каком такте и на каком канале.

Главный результат этой работы — отрицательный, и он опубликован намеренно.

Что здесь лежит

папка что это
lora-merged/ финальный адаптер, обучен на слитых данных (39 700 примеров)
qwen-vliw-lora/ прогон 0 — обучен БЕЗ токена конца ответа, не умеет останавливаться
lora-eos/ прогон 1 — тот же, но с EOS; на нём и вскрылось, что три четверти ошибок были не про планирование
gguf/ те же три адаптера, сконвертированные в GGUF для llama.cpp

LoRA r=16 поверх Qwen/Qwen2.5-3B-Instruct, по 115 МБ каждый. Три адаптера — это не три модели на выбор, а три точки одного пути. Промежуточные оставлены сознательно: без них непонятно, откуда взялся финальный.

Честный результат: модель не выигрывает у точного поиска

На настоящем выводе компилятора lcc (графы 112–386 узлов, обучение шло на 4–24) модель не обошла обычный случайный перебор ни на одном графе из 13, суммарно +0 тактов. При равном бюджете времени — тоже 0 из 13.

Это не «не получилось настроить» — это измерено, проверено скриптом и опубликовано вместе с сырыми данными. Отчёт с методикой и VERIFY.sh лежат в репозитории инструмента (real_candidates_100_400/model_eval/).

Оговорка, которая важна: вывод относится к ЭТОЙ точке — 3B + эти адаптеры на этих данных, — а не к языковым моделям вообще.

На лёгкой синтетике модель выглядела гораздо лучше (97.7% законных расписаний после починки EOS), и именно поэтому проверка на настоящем коде оказалась решающей: выборка не содержала задачи — жадная эвристика там и так стояла в доказанном оптимуме на 298 графах из 300.

Как запустить

git clone <репозиторий инструмента>
cd vliw-ai-scheduler-demo
tools/setup_local_llm.sh     # движок, база и эти адаптеры — одной командой
python3 -m vliw learned      # прогнать модель на текущем участке

Скрипт скачивает базу qwen2.5-3b-instruct-q4_k_m.gguf (2.1 ГБ) и адаптеры отсюда. На CPU считается около 12 с на граф.

Формат промпта

Обучение и запуск идут на ОДНОМ формате, без chat-шаблона:

профиль: e2k-v6-measured
граф:
0 MUL
1 AND
2 ADD <- 0
расписание:

Ответ — по строке на операцию: 0: такт=0 канал=1.

При запуске через llama.cpp обязателен флаг -no-cnv: иначе движок обернёт промпт в <|im_start|>…, а обучение шло на сыром тексте.

Лицензия

MIT — как и сам инструмент. База Qwen2.5-3B-Instruct под своей лицензией.

Downloads last month
23
GGUF
Model size
29.9M params
Architecture
qwen2
Hardware compatibility
Log In to add your hardware

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Shmonika/nex-vliw-lora

Base model

Qwen/Qwen2.5-3B
Adapter
(1298)
this model