Фраза «языковая модель запускается на вашем компьютере» заставляет людей представить, как раскручивается вентилятор и ноутбук нагревается вхолостую. Это вполне разумное предположение, ведь именно так бывает, если неправильно запустить чат-модель.
Подсказки при наборе текста создают совсем другую нагрузку. Ниже объясняется, сколько ресурсов они действительно требуют, чтобы вы могли подобрать модель для своего компьютера.
Четыре вида нагрузки, и постоянная только одна
Диск. Файл модели загружается один раз. От нескольких сотен мегабайт до нескольких гигабайт — столько места потребуется после загрузки.
Память. Пока модель загружена, её веса должны оставаться в памяти: примерно столько же, сколько занимает файл, плюс небольшие накладные расходы. Это постоянная нагрузка и именно она определяет, подходит ли размер модели вашему компьютеру. На ноутбуке с 16 ГБ памяти один гигабайт под модель — обычное дело. На ноутбуке с 8 ГБ, когда открыт браузер, три гигабайта — уже много.
Вычисления. Они выполняются только во время создания подсказки. Для дополнения предложения это несколько сотен миллисекунд — несколько раз в минуту. Основная часть времени уходит на паузы между вашими нажатиями клавиш. Для сравнения: чат-помощник, генерирующий шестьсот слов, несколько секунд загружает процессор на полную.
Батарея. Расход заряда зависит от вычислений. Короткие запуски потребляют мало энергии. Честно говоря, компьютер, который никогда не переходит в глубокий режим энергосбережения в простое, расходует больше, чем компьютер, который туда переходит, поэтому эффект не совсем нулевой.
Главное: предсказание текста почти всё время простаивает. Реальная нагрузка — занимаемая память; всем остальным можно пренебречь, если размер модели не слишком велик для компьютера.
Почему файл меньше, чем кажется
Модель размером в несколько сотен мегабайт — это не модель с несколькими сотнями миллионов параметров. Модели распространяются в квантованном виде: значения весов хранятся с пониженной точностью — обычно в четырёх или пяти битах вместо шестнадцати. Это примерно вчетверо уменьшает размер файла и потребление памяти при умеренном, измеримом снижении качества.
Для задач со свободным рассуждением это снижение качества важно. Для завершения уже начатого вами предложения — в основном нет, потому что ограничения задаёт ваш собственный текст, а не глубина модели. В этом и состоит техническая причина, по которой небольшая локальная модель подходит для этой задачи, но не для других.
Главное ограничение — задержка, а не качество
У подсказки есть жёсткий крайний срок. Подсказка, которая появляется после того, как вы уже сами напечатали эти слова, хуже, чем её отсутствие: она приходит, когда вы заканчиваете печатать, и вы читаете её зря.
Этот срок ограничивает размер модели независимо от объёма памяти вашего компьютера. После определённого размера более качественная модель становится более медленной, а медленные подсказки остаются неиспользованными. Практическая цель — чтобы подсказка появлялась, пока ваши пальцы ещё делают паузу между словами: примерно за несколько сотен миллисекунд, а не за полторы секунды.
Это противоречит обычной интуиции. Здесь увеличение размера не улучшает результат, если подсказка приходит с опозданием. Подходящий размер — самый большой из тех, которые успевают ответить в промежутке между словами на вашем оборудовании. Для ультрабука 2019 года и настольного компьютера с дискретной видеокартой ответ будет разным.
Как выбрать размер
Typeahead предлагает три варианта, которые напрямую отражают этот компромисс.
| Размер | На диске | Заявленные требования | Для кого |
|---|---|---|---|
| Быстрая (по умолчанию) | ~600 МБ | — | Любой поддерживаемый компьютер; с неё лучше всего начать |
| Сбалансированная | ~1,2 ГБ | 8 ГБ системной памяти | Компьютеры с запасом ресурсов: подсказки лучше, скорость по-прежнему высокая |
| Максимальное качество | ~2,5 ГБ | Дискретная видеокарта с 8 ГБ собственной памяти, 16 ГБ системной памяти | Настольные компьютеры и рабочие станции с полноценной видеокартой |
О таблице стоит помнить две вещи.
Начните с быстрой модели, даже если ваш компьютер может работать с более крупной. Попользуйтесь ею неделю. Если подсказки достаточно точны, более крупная модель не даст ничего, что вы заметите при наборе сообщения в чате. Если подсказки явно не подходят, перейдите на модель побольше — и вы будете знать, за счёт чего получаете улучшение, а чем приходится жертвовать.
Для варианта максимального качества нужна дискретная видеокарта с 8 ГБ собственной памяти, а не 8 ГБ общей системной памяти. Встроенная видеокарта ноутбука этому требованию не соответствует. Принудительный запуск модели на оборудовании, которому приходится выгружать её части в файл подкачки, — как раз способ добиться раскручивающегося вентилятора, о котором шла речь в начале статьи.
Компьютеры, которым действительно не хватает ресурсов
- 8 ГБ оперативной памяти, открыты браузер, Teams и Office. Вы уже близки к пределу ещё до запуска чего-либо другого. Используйте самую маленькую модель и учитывайте, что нагрузка будет заметнее, чем на компьютере с 16 ГБ. Если компьютер и так использует файл подкачки в обычный рабочий день, загруженная в память модель усугубит ситуацию.
- Старые процессоры без AVX2. Библиотеки для инференса используют векторные инструкции. Процессор, выпущенный до 2013 года, будет работать медленнее, чем предполагают любые приведённые цифры; именно здесь сказывается описанное выше ограничение по задержке.
- Тонкие ноутбуки с ограничением по температуре. Запуски настолько короткие, что одна эта нагрузка вряд ли вызовет длительное снижение производительности из-за перегрева. Но у компьютера, который уже перегревается под другой нагрузкой, запаса ресурсов нет.
- Работа от батареи вдали от розетки. Подсказки продолжат работать, поскольку они создаются локально и не требуют подключения к сети. Если вы хотите как можно дольше обходиться без подзарядки во время долгого перелёта, выбирайте модель поменьше.
Как проверить на своём компьютере
Замеры на чужом ноутбуке мало о чём вам скажут. Два измерения — десять минут.
- 1. Перед установкойоткройте Диспетчер задач → Производительность и запишите, сколько памяти занято при обычной рабочей конфигурации: с привычными вкладками браузера, почтой и чатом.
- 2. После установки и загрузки моделипосмотрите на те же показатели, а также на потребление памяти приложением во вкладке «Процессы».
Если после этого у вас остаётся достаточный запас памяти, всё в порядке. Если вы упираетесь в предел, выберите модель поменьше.
Оценка задержки субъективна, и это хорошо: наберите предложение, которое вы набрали бы обычно, и обратите внимание, появляется ли подсказка, пока ваши пальцы делают паузу, или приходит позже. Лучше всего проверить это в течение пробного периода — у Typeahead он длится семь дней, и в нём доступны модели всех размеров.
Что вы получаете взамен
- Всё, что вы печатаете, остаётся на компьютере. Это не обещание того, как сервер будет обрабатывать ваш текст, а следствие того, где именно он обрабатывается.
- Работает без подключения к сети. В самолёте, поезде или отеле, где Wi-Fi перестал разрешать DNS-имена.
- Без подписки за каждого пользователя и без учётной записи, потому что нет сервера, за который нужно платить.
- Без переменной задержки. Локальная модель работает с одинаковой скоростью в девять утра и в пять вечера, в отличие от общей облачной службы.
Стоит ли это гигабайта памяти — вопрос вполне закономерный, и ответ у каждого будет свой. Вопрос не так сложен, как кажется, и на него можно ответить за неделю.