ДоОбучил небольшую qwen модель для локального использования в pipeline (анализ Android приложений). В распоряжении имею mac mini m4 24Gb 512Gb.
Датасет:
105,074 сэмпла (95,796 train / 9,278 valid). Сэмплы представляют собой куски кода, в основном декомпилированного, так как анализируется JADX/apktool аутпут. Куски реального кода, но есть немного синтетически сгенерированных клодом.
Источники: 275 реальных Android-приложений, пропущенных через pipeline статического анализа (JADX + Semgrep + Regex + Trueseeing + Mariana Trench + dexfinder + кастомное_дерьмо)
20+ типов CWE, 35% clean-сэмплов (код без уязвимостей, чтобы модель не галлюцинировала)
Обучение:
Модель: Qwen2.5-Coder-14B-Instruct
Метод: QLoRA (4-bit base + LoRA r=32)
GPU: Арендованная RTX 5090 32GB в сервисе RunPod. Аренда стоит 1$ в час
Framework: Unsloth
2 эпохи, 11,976 шагов, ~27 часов
Динамика обучения:
Train loss: 1.54 → 0.53 → 0.33 → 0.28
Eval loss: 0.533 → 0.493 → 0.395 → 0.358 → 0.339
Eval loss падал стабильно до самого конца. ни одного скачка вверх. Overfitting не случился.
Стоимость:
~$27 за GPU (RTX 5090 ~$1/час × 27 часов). Плюс $2-3 за хранение. Итого ~$30 за полный fine-tune 14B модели.
О результатах реального использования отпишусь позже. В планах использовать подобный подход в моем ios pipeline. Да, кажется что модель маленькая и особо ничего не сможет, но конкретно в android pipeline 80% работы делают статические тулзы, ИИ лишь реорганизует и следит за мелкими косяками, так что маленькая модель подходит.
Post #2865
2.25K
Order of Six Angles вайбкодю pipeline по анализу малвари для себя. Вдобавок скачал много сэмплов (с vxunderground) (сотни тысяч), архивы inthewild, прогоняю их круглосуточно через клод. Генерю yara правила, binlex базу собираю, richpe, и другую аналитику - тем самым формирую…