Оцените общий объем
Веса, квантование, длина контекста, кэш и одновременные запросы влияют на память. Оставьте запас для операционной системы и среды выполнения. Инференс CPU и инференс на GPU имеют разные профили стоимости и пропускной способности; стандартный VPS не подразумевает доступ к GPU.
Держите модель API приватной
Среду выполнения, такую как Ollama, не следует открывать в интернет без надлежащего уровня безопасности. Где это возможно, привязывайте её к loopback или частному интерфейсу и ставьте перед любым удалённым маршрутом доступ TLS с аутентификацией.
Скачивание с подтверждением происхождения
Изучите лицензию модели, источник, контрольную сумму, если она предоставлена, и предполагаемое использование. Недоверенные форматы моделей или окружающий код загрузчика могут расширить поверхность атаки. Поддерживайте среду выполнения и зависимости в актуальном состоянии.
Измерьте производительность на реальном запросе
Измерьте задержку первого токена, токены в секунду, давление на память и поведение при параллельных запросах с тем размером контекста, который использует ваше приложение. Добавьте ограничения размера запросов, очередь и тайм-ауты, чтобы один большой промпт не мог исчерпать ресурсы машины.
Убедитесь, что API не является публичным
Локальный доступ к Ollama API не требует аутентификации. Если к нему обращается только ваше собственное приложение, держите слушатель на loopback. Для удалённого использования добавьте аутентифицированный шлюз TLS или приватный туннель с ограничениями запросов и параллелизма. Учётные данные облачного API не защищают локальный слушатель автоматически. Проверьте с устройства без доступа и убедитесь в отказе.
- Проверьте адрес прослушивания
- Попробуйте неаутентифицированный запрос из-за пределов разрешённой сети
- Ограничивайте размер контекста и число одновременных генераций
ss -lntp
curl --fail http://127.0.0.1:11434/api/tagsОфициальная документация: Модель аутентификации Ollama
Ведите небольшой блокнот с бенчмарками
Зафиксируйте точный вариант модели, квантование, длину контекста, промпт и число параллельных запросов. Измеряйте память во время работы, а не предполагайте, что она равна размеру загружаемой модели. Повторите тот же запрос после изменения конфигурации и сохраняйте проверки качества наряду с измерениями скорости. Если задача активно использует подкачку или вытесняет основное приложение, уменьшите параллелизм или используйте более подходящую машину.
Планируйте память модели до увеличения контекста
Используйте количество параметров, умноженное на биты квантования и делённое на восемь, как грубую оценку байтов только для весов, затем добавьте запас на среду выполнения, контекст/KV-кэш, параллельные запросы и операционную систему. Это не гарантия ёмкости. В Ollama параллельные запросы и больший контекст увеличивают потребление памяти, а работа в очереди может сделать внешне исправный сервис медленным. Начните с одной модели и одного запроса, зафиксируйте пиковое потребление памяти и повышайте параллелизм только после того, как нагрузка уложится в целевые показатели задержки.
- Записывайте тег модели, версию среды выполнения, квантование, длину промпта и лимит вывода при каждом бенчмарке.
- Отделяйте загрузку при холодном старте от производительности при прогретых запросах; они отвечают на разные вопросы о подборе размера.
- Если хост уходит в своп или процесс убивается, снизьте параллелизм/контекст и изучите события памяти, прежде чем покупать ядра CPU.
- Проверьте загруженные модели и рост кэша, если первый запрос выполняется быстро, а последующие зависают.
# Inspect the model runner and host without changing its configuration.
ollama ps
free -h
df -hОфициальная документация: Ollama: память, параллелизм и сетевая конфигурация
Тестируйте эмбеддинги как отдельную рабочую нагрузку
Модель эмбеддингов превращает входной текст в векторы для поиска; это не тот же профиль ресурсов, что и длинный сгенерированный ответ. Используйте одну модель и одну стратегию предобработки при индексировании и запросах. Эндпоинт эмбеддингов Ollama принимает текст или пакеты и может отклонить слишком длинный ввод, если truncate равно false. Выберите осознанную политику разбиения на фрагменты, чтобы документы не обрезались незаметно на неудобной границе.
- Отдельно измерьте пакет индексации и интерактивный запрос, включая стоимость хранения и векторной базы данных.
- Храните имя модели и размерность эмбеддингов вместе с индексом. Их изменение обычно требует продуманного плана переиндексации.
- Используйте небольшой набор для оценки поиска: известные вопросы, ожидаемые документы и случаи, которые должны возвращать отсутствие релевантного результата.
- Рассматривайте промпты, индексированные документы и журналы доступа как отдельные хранилища данных с собственными правилами доступа и удаления.
Официальная документация: Ollama: эмбеддинги API