MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Cases
Юзать LLM хотят все, но инференс в облаке стоит конских денег. Но есть простое решение - давайте юзеры будут запускать LLM у себя, а не в облаке. Однако не стоит забывать – большинство пользователей интернета владеют лишь телефоном. Оперативной памяти там не так уж и много - у iPhone это 6 гигов, у большинства андроид флагманов до 12, так что нужно оптимизировать параметры, но и не забывать про перформанс. Авторам пейпера удалось заметно улучшить качество инференса на телефонах, без потерь в перформансе.
Как это вышло?
➖ Авторы выяснили, что масштабирование модели вглубь при таком же количестве параметров работает лучше чем при масштабировании модели вширь. Таким образом модель на 125 миллионов параметров имеет 30 слоёв (у GPT-2, Bert и вообще всего в такой весовой категории обычно 12).
➖ Традиционный для "эффективных" моделей шеринг входного и выходного слоя эмбеддингов.
➖ Завезли Group Query Attention, который раньше в таких моделях не использовался.
➖ Убедились что все слои влезают в кэш телефонов, потому что оперативка значительно медленнее.
Самая интересная часть - layer sharing, так что её разберём поподробнее. Идея в том, чтобы использовать один и тот же слой несколько раз, и таким образом улучшить перформанс. Попробовали несколько стратегий:
➖ Повторять слои незамедлительно - то есть слой компьютит что-то, а потом его вывод кормится в него же.
➖ Повторять все слои в том же порядке - по сути моделька запускается два раза на одном и том же инпуте.
➖ Сначала считать слои в обычном порядке, а потом задом наперёд.
Лучше всех показал себя второй способ, но выбрали первый, потому что он заметно быстрее работает (не нужно грузить слой в кэш несколько раз).
В итоге вышло хорошо так улучшить результаты, без раздутия количества параметров или времени выполнения модели. Итоговая модель выдаёт более чем 50 токенов в секунду на обычном телефоне. Статья февральская, но код выложили только сейчас. Весов нет.
Пейпер
Код
@ai_newz
Юзать LLM хотят все, но инференс в облаке стоит конских денег. Но есть простое решение - давайте юзеры будут запускать LLM у себя, а не в облаке. Однако не стоит забывать – большинство пользователей интернета владеют лишь телефоном. Оперативной памяти там не так уж и много - у iPhone это 6 гигов, у большинства андроид флагманов до 12, так что нужно оптимизировать параметры, но и не забывать про перформанс. Авторам пейпера удалось заметно улучшить качество инференса на телефонах, без потерь в перформансе.
Как это вышло?
➖ Авторы выяснили, что масштабирование модели вглубь при таком же количестве параметров работает лучше чем при масштабировании модели вширь. Таким образом модель на 125 миллионов параметров имеет 30 слоёв (у GPT-2, Bert и вообще всего в такой весовой категории обычно 12).
➖ Традиционный для "эффективных" моделей шеринг входного и выходного слоя эмбеддингов.
➖ Завезли Group Query Attention, который раньше в таких моделях не использовался.
➖ Убедились что все слои влезают в кэш телефонов, потому что оперативка значительно медленнее.
Самая интересная часть - layer sharing, так что её разберём поподробнее. Идея в том, чтобы использовать один и тот же слой несколько раз, и таким образом улучшить перформанс. Попробовали несколько стратегий:
➖ Повторять слои незамедлительно - то есть слой компьютит что-то, а потом его вывод кормится в него же.
➖ Повторять все слои в том же порядке - по сути моделька запускается два раза на одном и том же инпуте.
➖ Сначала считать слои в обычном порядке, а потом задом наперёд.
Лучше всех показал себя второй способ, но выбрали первый, потому что он заметно быстрее работает (не нужно грузить слой в кэш несколько раз).
В итоге вышло хорошо так улучшить результаты, без раздутия количества параметров или времени выполнения модели. Итоговая модель выдаёт более чем 50 токенов в секунду на обычном телефоне. Статья февральская, но код выложили только сейчас. Весов нет.
Пейпер
Код
@ai_newz
group-telegram.com/ai_newz/3003
Create:
Last Update:
Last Update:
MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Cases
Юзать LLM хотят все, но инференс в облаке стоит конских денег. Но есть простое решение - давайте юзеры будут запускать LLM у себя, а не в облаке. Однако не стоит забывать – большинство пользователей интернета владеют лишь телефоном. Оперативной памяти там не так уж и много - у iPhone это 6 гигов, у большинства андроид флагманов до 12, так что нужно оптимизировать параметры, но и не забывать про перформанс. Авторам пейпера удалось заметно улучшить качество инференса на телефонах, без потерь в перформансе.
Как это вышло?
➖ Авторы выяснили, что масштабирование модели вглубь при таком же количестве параметров работает лучше чем при масштабировании модели вширь. Таким образом модель на 125 миллионов параметров имеет 30 слоёв (у GPT-2, Bert и вообще всего в такой весовой категории обычно 12).
➖ Традиционный для "эффективных" моделей шеринг входного и выходного слоя эмбеддингов.
➖ Завезли Group Query Attention, который раньше в таких моделях не использовался.
➖ Убедились что все слои влезают в кэш телефонов, потому что оперативка значительно медленнее.
Самая интересная часть - layer sharing, так что её разберём поподробнее. Идея в том, чтобы использовать один и тот же слой несколько раз, и таким образом улучшить перформанс. Попробовали несколько стратегий:
➖ Повторять слои незамедлительно - то есть слой компьютит что-то, а потом его вывод кормится в него же.
➖ Повторять все слои в том же порядке - по сути моделька запускается два раза на одном и том же инпуте.
➖ Сначала считать слои в обычном порядке, а потом задом наперёд.
Лучше всех показал себя второй способ, но выбрали первый, потому что он заметно быстрее работает (не нужно грузить слой в кэш несколько раз).
В итоге вышло хорошо так улучшить результаты, без раздутия количества параметров или времени выполнения модели. Итоговая модель выдаёт более чем 50 токенов в секунду на обычном телефоне. Статья февральская, но код выложили только сейчас. Весов нет.
Пейпер
Код
@ai_newz
Юзать LLM хотят все, но инференс в облаке стоит конских денег. Но есть простое решение - давайте юзеры будут запускать LLM у себя, а не в облаке. Однако не стоит забывать – большинство пользователей интернета владеют лишь телефоном. Оперативной памяти там не так уж и много - у iPhone это 6 гигов, у большинства андроид флагманов до 12, так что нужно оптимизировать параметры, но и не забывать про перформанс. Авторам пейпера удалось заметно улучшить качество инференса на телефонах, без потерь в перформансе.
Как это вышло?
➖ Авторы выяснили, что масштабирование модели вглубь при таком же количестве параметров работает лучше чем при масштабировании модели вширь. Таким образом модель на 125 миллионов параметров имеет 30 слоёв (у GPT-2, Bert и вообще всего в такой весовой категории обычно 12).
➖ Традиционный для "эффективных" моделей шеринг входного и выходного слоя эмбеддингов.
➖ Завезли Group Query Attention, который раньше в таких моделях не использовался.
➖ Убедились что все слои влезают в кэш телефонов, потому что оперативка значительно медленнее.
Самая интересная часть - layer sharing, так что её разберём поподробнее. Идея в том, чтобы использовать один и тот же слой несколько раз, и таким образом улучшить перформанс. Попробовали несколько стратегий:
➖ Повторять слои незамедлительно - то есть слой компьютит что-то, а потом его вывод кормится в него же.
➖ Повторять все слои в том же порядке - по сути моделька запускается два раза на одном и том же инпуте.
➖ Сначала считать слои в обычном порядке, а потом задом наперёд.
Лучше всех показал себя второй способ, но выбрали первый, потому что он заметно быстрее работает (не нужно грузить слой в кэш несколько раз).
В итоге вышло хорошо так улучшить результаты, без раздутия количества параметров или времени выполнения модели. Итоговая модель выдаёт более чем 50 токенов в секунду на обычном телефоне. Статья февральская, но код выложили только сейчас. Весов нет.
Пейпер
Код
@ai_newz
BY эйай ньюз
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/ZVS_5QHdTlbbVCZziZIHTQ7WPxGR8bjfdnmU4RW_GDZwJEMfs2DvoqW964_o-BN3QCJ-EkL-btAvpLSMfW_9PQOpmtQUhMmQwofTEwUgNnFP_eRID-WF1Qg8iXGBdYrOpMO6lpQyomkC67Yn-Hmuo2lMr_GosOsfN5DJwEWJCWvBmnyNOgt1s8kHBjuSy4SdBbJNVc4YjTErrUd2F_rVK0Z58_u_BDUxseM2zcPNZumd_a_uRybzdz2Gwhrf2Cf6ABGNcgEKxptvQf2i-5TnYLVbJGiwxrZu0IAJ0_xXYyUQbR-ZLPW211fzAGoIGYlZlk9nOpOzXC4AX2VAJFAIMg.jpg)
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/G94GkBazJPTKTATX6nGrePEpqre0nVr3E1GNBu6AypIGUapwZi6c8GNDaJxHFwNjHbyHVJp8A4zoLDaoG9r8HroF2FTYdBqW0Pkjzw5tsBACDR_jZNjI1n8OEAlMRJojaSZdZtvm0Ak6Rrsqy7AV_PIDRR1MExgIcvRwXifjhCP-1FSydSd5lw4nbYZh99AcqB4dxsChY-WPRoWfHH3YPF3Bx_aGBzmGXEiX0AzuhLZ1SLXjQZUm2Vs7KlU_Gq7BJsLov2nG1dmGn7GvhuZBFEmFLjxdADup3R5UN1dSQGOhnCgbMz_qUJBY6SKgE9ZrFrYtW_GKZoOcpfISQbJtqw.jpg)
Share with your friend now:
group-telegram.com/ai_newz/3003