Хабы: Искусственный интеллект, Машинное обучение
Квантизация помогла портировать последнюю версию LLM Llama 3.2 на мобильные платформы - iOS и Android. Для этого разработчики выпустили квантованные версии Llama 3.2 1B и 3B, которые при тестах на ARM-процессорах показали высокую скорость инференса, по сравнению с несжатыми весами в формате BF16.
Как вообще получилось, что Llama работает на мобильных процессорах, ведь для ее запуска нужен определенный программный стек, чаще всего библиотека Pytorch и CUDA на операционной системе Linux?
Дело в том, что Meta* (признана в России экстремистской организацией) используют ExecuTorch - это фреймворк, который является частью Pytorch-платформы и предназначен для запуска Pytorch-программ на мобильных девайсах. ExecuTorch поддерживается фреймворком Llama Stack для запуска моделей Llama, а именно легковесных Llama 3.2 1B и 3B, на iOS и Android. Для разработки мобильных приложений под эти платформы Llama Stack предоставляет клиентский SDK на Swift для iOS и Kotlin для Android, оба написаны под ExecuTorch бэкенд.
Какого именно уровня производительности удалось добиться новым квантованным моделям Llama?
В среднем это ускорение инференса от двух до четырех раз по сравнению с весами в формате BF16, при сохранении практически сопоставимого качества. Уменьшение размера модели на 56% - что важно для мобильного приложения, чтобы меньше места на телефоне занимало - и уменьшение объема потребляемой памяти на 41% процент. Все это согласно результатам бенчмарков, приведенных на сайте Llama.
Сразу стоит отметить важную деталь: речь идет не об обычной post-training квантизации, когда вы берете веса в FP16 и квантуете в GGUF или GPTQ. Хотя такие веса, безусловно, имеют практическое применение для множества задач, они страдают падением качества, это хорошо заметно на бенчмарках ниже.
Читать далее