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/qmJKC45wRa0a7dVRoCAALAD8r4WNoow7876ba0bTumzRAEEDBGnDTIGWVobMWSGUBKFthHY_MOznHVVxkeyCbn3Bt4n4PTm5gC9toa6lUlsIgEtX7G6KuYjmK7eIM0Z34K9gAuxdB4Z0eQEJgqp4Mth86NDPFitVcsV8f4MSzsCJid97kFZt43gAN8WKkLR-fKu07ebNfLA4ShIYiOsN1ec_C2HhotWffjE4eZ45tM047SBbttxVg0rML2lScsL4lLEC8PPtiL6HkKG31D_OAnqTUODPlH59j4TIoBBfrP3a2VlaaGU9ElQZ802f1V_uaKFZSflBZr_8g4LxmuJjzA.jpg)
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/gDZsz6b9qODFhnTCVYuJ5qej5J4qjcAlSGNAST5Op_TGJR1sR_L4enJ84Y1exltCw-8UlvCZ9y0__7myHERFVGjLQM0YgJBrxjSkRNGL8e8RlVvdd86Z5XjR5wKwH0yVnG6bf-VbfbqO9fdnKMsiv4RXruIdEtr7R-EFkmx9R0EILBQrfKLxq1nvtsC-CmSmpGjVdSc88TbIzNtECILZePZcIHNn-bMvMJA_ycH08gNm7ztf8ehpfVlM_LIJb9tb5GaeATeRzlx7M1fd1mTvzw6-zyQuW1dEOgcc451-s0Yi29PDmihEgh09CFA_-upwkZkvOM6fG9KKm6-0syQLFg.jpg)
Share with your friend now:
group-telegram.com/ai_newz/3003