Современные смартфоны сталкиваются с фундаментальным ограничением при запуске больших языковых моделей: недостаточной емкостью DRAM для хранения полных весов модели. Это ограничение вынуждает системы распределять параметры модели по внешним носителям, таким как UFS 4.0, используемый в процессорах Snapdragon 8gen3. Понимание характеристик производительности мобильного хранения данных критически важно для оптимизации вывода ИИ на периферийных устройствах.
Анализ производительности ввода-вывода хранения
Размер блока и пропускная способность чтения
Мобильное хранилище демонстрирует контринтуитивную закономерность производительности, связанную с размерами блоков чтения. При последовательном или случайном доступе к данным большие блоки чтения обеспечивают более высокую эффективность пропускной способности. Размер блока 512КБ достигает максимальной производительности 4 ГБ/с при последовательных чтениях и 3,5 ГБ/с при случайных. Однако уменьшение размера блока до 4КБ значительно снижает производительность — пропускная способность случайного чтения падает до всего 450 МБ/с. Это создает важный аспект проектирования для реализации разреженных таблиц и стратегий получения весов.
Эффект диапазона случайного доступа
Интересно, что объем случайных операций чтения существенно влияет на пропускную способность. Меньшие диапазоны чтения стабильно превосходят большие. При выполнении случайных чтений по 4КБ диапазон 128МБ достигает примерно 1 ГБ/с, тогда как расширение до 512МБ снижает пропускную способность ниже 850 МБ/с. Этот разрыв в производительности становится менее заметным при использовании больших размеров блоков, что говорит о необходимости аккуратно балансировать параметры доступа при реализации разреженных таблиц.
Зависимость от ядер CPU
Ядро процессора, выполняющее команды ввода-вывода, напрямую влияет на производительность хранения. Ядра с более высокой тактовой частотой обеспечивают лучшую пропускную способность. Ядра типа big, работающие на 3,3 ГГц, достигают 1 ГБ/с при случайных чтениях по 4КБ, тогда как маленькие ядра на 2,2 ГГц — только 760 МБ/с. Эта разница обусловлена необходимостью драйвера UFS обрабатывать прерывания и управление очередями — более высокая тактовая частота позволяет быстрее обрабатывать задачи, связанные с вводом-выводом.
Ограничение архитектуры с одной очередью
В отличие от решений NVMe, мобильное хранилище UFS работает с одной командной очередью без встроенной поддержки параллелизма. Использование нескольких ядер для операций ввода-вывода фактически ухудшает производительность до 40% из-за конкуренции за очередь команд. Это фундаментальное архитектурное ограничение означает, что параллельные подходы к вводу-выводу не дают преимущества на мобильных устройствах.
Архитектура вывода LLM и двухэтапная обработка
Вывод языковых моделей осуществляется через два различных этапа вычислений, каждый из которых обладает принципиально разными характеристиками производительности и требует индивидуальных стратегий оптимизации.
Этап предварительной обработки: Prompt Processing
Этап предварительной обработки обрабатывает весь пользовательский запрос за один проход для генерации первого токена. Эта концентрированная нагрузка создает значительные вычислительные требования, и время до первого токена (TTFT) становится критическим показателем производительности. Весь запрос выступает в роли плотного входного сигнала, обрабатываемого совместно через трансформерные слои модели.
Этап декодирования: последовательная генерация
После предварительной обработки происходит этап декодирования, при котором выводные токены генерируются последовательно в автогрессивном режиме. Каждый новый токен служит входом для следующей итерации, продолжающейся до завершения последовательности или генерации токена EOS. Поскольку каждая итерация обрабатывает только один токен, вычислительная нагрузка легче, но пропускная способность ограничена временем между токенами (TBT). Этот этап отражает скорость отклика для пользователя.
Разреженная активация: возможность повышения эффективности
Почему важна разреженность
Современные трансформеры, такие как GPT-4 и Llama-2, используют архитектуры только-декодера с повторяющимися блоками: механизмами внимания и Feed-Forward Networks (FFN). Недавние варианты с использованием Group Query Attention смещают вычислительную нагрузку в сторону блоков FFN, которые теперь составляют примерно 80% параметров модели.
Блоки FFN используют функции активации семейства ReLU, создающие естественные шаблоны разреженности: большинство нейронов (представленных как строки и столбцы в матрицах весов) дают минимальный вклад в выходные данные. Эти неактивные нейроны можно пропускать без существенного влияния на итоговые результаты. Создание разреженной таблицы предсказанных активаций нейронов позволяет значительно снизить вычислительные затраты.
Предсказательная оптимизация
Статус активации нейронов можно точно предсказать до выполнения FFN. Предыдущие исследования, такие как PowerInfer и DejaVu, показывают, что легкие MLP-сети, предсказывающие активацию нейронов перед каждым блоком FFN, достигают высокой точности. Такой предсказательный подход превращает разреженность активаций из внутренней особенности в оптимизационную возможность, сокращая необходимые вычисления и ускоряя вывод.
Проблема интеграции
Настоящая сложность возникает при объединении использования разреженной активации с ограничениями мобильного хранения. Структуры предсказательных разреженных таблиц должны соответствовать паттернам ввода-вывода — используя небольшие, сфокусированные диапазоны чтения в пределах окна 128МБ для поддержания пропускной способности 1 ГБ/с и минимизации конкуренции на архитектуре с одной очередью UFS.
Практические выводы для AI на устройстве
Эффективные мобильные системы LLM должны одновременно учитывать два аспекта оптимизации: использование разреженных паттернов нейронов через предсказательные механизмы и соблюдение уникальных характеристик I/O мобильного хранения. Взаимодействие между паттернами разреженных вычислений и доступом к памяти определяет реальную производительность — ни один из аспектов не может быть оптимизирован отдельно без ущерба для общей эффективности системы.
Исследовательская команда: Чжэньлиан Сюэ и Иксинь Сонг (Со-авторы), а также Зейю Ми, Лэ Чен, Юбин Ся, Хайбо Чен из Института параллельных и распределенных систем (IPADS), Шанхайский университет Цзяо Тонг
Данный анализ основан на академических исследованиях, доступных по лицензии CC BY 4.0, с фокусом на характеристики производительности чтения весов.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Узкое место в производительности мобильных LLM: понимание разреженных активаций и ограничений по хранению
Вызов хранения данных на смартфонах
Современные смартфоны сталкиваются с фундаментальным ограничением при запуске больших языковых моделей: недостаточной емкостью DRAM для хранения полных весов модели. Это ограничение вынуждает системы распределять параметры модели по внешним носителям, таким как UFS 4.0, используемый в процессорах Snapdragon 8gen3. Понимание характеристик производительности мобильного хранения данных критически важно для оптимизации вывода ИИ на периферийных устройствах.
Анализ производительности ввода-вывода хранения
Размер блока и пропускная способность чтения
Мобильное хранилище демонстрирует контринтуитивную закономерность производительности, связанную с размерами блоков чтения. При последовательном или случайном доступе к данным большие блоки чтения обеспечивают более высокую эффективность пропускной способности. Размер блока 512КБ достигает максимальной производительности 4 ГБ/с при последовательных чтениях и 3,5 ГБ/с при случайных. Однако уменьшение размера блока до 4КБ значительно снижает производительность — пропускная способность случайного чтения падает до всего 450 МБ/с. Это создает важный аспект проектирования для реализации разреженных таблиц и стратегий получения весов.
Эффект диапазона случайного доступа
Интересно, что объем случайных операций чтения существенно влияет на пропускную способность. Меньшие диапазоны чтения стабильно превосходят большие. При выполнении случайных чтений по 4КБ диапазон 128МБ достигает примерно 1 ГБ/с, тогда как расширение до 512МБ снижает пропускную способность ниже 850 МБ/с. Этот разрыв в производительности становится менее заметным при использовании больших размеров блоков, что говорит о необходимости аккуратно балансировать параметры доступа при реализации разреженных таблиц.
Зависимость от ядер CPU
Ядро процессора, выполняющее команды ввода-вывода, напрямую влияет на производительность хранения. Ядра с более высокой тактовой частотой обеспечивают лучшую пропускную способность. Ядра типа big, работающие на 3,3 ГГц, достигают 1 ГБ/с при случайных чтениях по 4КБ, тогда как маленькие ядра на 2,2 ГГц — только 760 МБ/с. Эта разница обусловлена необходимостью драйвера UFS обрабатывать прерывания и управление очередями — более высокая тактовая частота позволяет быстрее обрабатывать задачи, связанные с вводом-выводом.
Ограничение архитектуры с одной очередью
В отличие от решений NVMe, мобильное хранилище UFS работает с одной командной очередью без встроенной поддержки параллелизма. Использование нескольких ядер для операций ввода-вывода фактически ухудшает производительность до 40% из-за конкуренции за очередь команд. Это фундаментальное архитектурное ограничение означает, что параллельные подходы к вводу-выводу не дают преимущества на мобильных устройствах.
Архитектура вывода LLM и двухэтапная обработка
Вывод языковых моделей осуществляется через два различных этапа вычислений, каждый из которых обладает принципиально разными характеристиками производительности и требует индивидуальных стратегий оптимизации.
Этап предварительной обработки: Prompt Processing
Этап предварительной обработки обрабатывает весь пользовательский запрос за один проход для генерации первого токена. Эта концентрированная нагрузка создает значительные вычислительные требования, и время до первого токена (TTFT) становится критическим показателем производительности. Весь запрос выступает в роли плотного входного сигнала, обрабатываемого совместно через трансформерные слои модели.
Этап декодирования: последовательная генерация
После предварительной обработки происходит этап декодирования, при котором выводные токены генерируются последовательно в автогрессивном режиме. Каждый новый токен служит входом для следующей итерации, продолжающейся до завершения последовательности или генерации токена EOS. Поскольку каждая итерация обрабатывает только один токен, вычислительная нагрузка легче, но пропускная способность ограничена временем между токенами (TBT). Этот этап отражает скорость отклика для пользователя.
Разреженная активация: возможность повышения эффективности
Почему важна разреженность
Современные трансформеры, такие как GPT-4 и Llama-2, используют архитектуры только-декодера с повторяющимися блоками: механизмами внимания и Feed-Forward Networks (FFN). Недавние варианты с использованием Group Query Attention смещают вычислительную нагрузку в сторону блоков FFN, которые теперь составляют примерно 80% параметров модели.
Блоки FFN используют функции активации семейства ReLU, создающие естественные шаблоны разреженности: большинство нейронов (представленных как строки и столбцы в матрицах весов) дают минимальный вклад в выходные данные. Эти неактивные нейроны можно пропускать без существенного влияния на итоговые результаты. Создание разреженной таблицы предсказанных активаций нейронов позволяет значительно снизить вычислительные затраты.
Предсказательная оптимизация
Статус активации нейронов можно точно предсказать до выполнения FFN. Предыдущие исследования, такие как PowerInfer и DejaVu, показывают, что легкие MLP-сети, предсказывающие активацию нейронов перед каждым блоком FFN, достигают высокой точности. Такой предсказательный подход превращает разреженность активаций из внутренней особенности в оптимизационную возможность, сокращая необходимые вычисления и ускоряя вывод.
Проблема интеграции
Настоящая сложность возникает при объединении использования разреженной активации с ограничениями мобильного хранения. Структуры предсказательных разреженных таблиц должны соответствовать паттернам ввода-вывода — используя небольшие, сфокусированные диапазоны чтения в пределах окна 128МБ для поддержания пропускной способности 1 ГБ/с и минимизации конкуренции на архитектуре с одной очередью UFS.
Практические выводы для AI на устройстве
Эффективные мобильные системы LLM должны одновременно учитывать два аспекта оптимизации: использование разреженных паттернов нейронов через предсказательные механизмы и соблюдение уникальных характеристик I/O мобильного хранения. Взаимодействие между паттернами разреженных вычислений и доступом к памяти определяет реальную производительность — ни один из аспектов не может быть оптимизирован отдельно без ущерба для общей эффективности системы.
Исследовательская команда: Чжэньлиан Сюэ и Иксинь Сонг (Со-авторы), а также Зейю Ми, Лэ Чен, Юбин Ся, Хайбо Чен из Института параллельных и распределенных систем (IPADS), Шанхайский университет Цзяо Тонг
Данный анализ основан на академических исследованиях, доступных по лицензии CC BY 4.0, с фокусом на характеристики производительности чтения весов.