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/b0tp54JUXOH84eMn4O686szPYHVkaiDW2kmW1XE4S1UIJdfK1dMJ-4KrGSNG3q-Hu16nMx9UwgGlM_A1XK-315PfgJfjmdqCDBlMpUV7Yn49pMLgwvUYEbS8pkw1gGv1RjJp9iTe4-yAtJv-w44ioaDfslwxmf7DfnnWgJ7JT1l34LfjDVBOG8XUv-x04qqj50sRdxcfLPKCKCzSZGOoBf8w_Q6lfQWSfzTJFzyf_mbi3kiVW2cfjjnke7_of5zcJd37sopmflV6H6WpCZXvID0ttlaWqqVP3Y0uePWObKeb4koG0pfELJGdICqLgY3__nWFTOG68hbrpGz8SQEn-w.jpg)
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/kMJ8VDZt4RqdWfZ3pNQgY9cjRAq9VNnpmt_PSzoQJkI-35wbmuOsTZuQexo7CAXMQ7NY4WIQ98T8BV3U-WGr0inySMHv9xilkHdPMwQP9mLmsOcFfB3XNcr2RCm41--79Ontsd4ugmdgOK_JNdF1l8VYXAWftoJMEx851J7F9i9o2a6KXWfRgZ0K6-pTTJ92dHAMO5KVeGggpJhFm-RVbYaEqKae6LGvZxR18NokolX5mZazxstdDtamVDDuHKdxM4SUgjTC6xDlSWMuBCAmKUvoGclPSEj2rKto5-roPqDPujpQaG0RULVTN05T2e7jpAtZYrtAzowHUBf-wZjMaw.jpg)
Share with your friend now:
group-telegram.com/ai_newz/3003