Параметры llama-cli (на русском языке)
Общие параметры:
-h, --help, --usage: показать справку и выйти.
--version: показать версию и информацию о сборке.
-v, --verbose: выводить подробную информацию.
--verbosity N: установить уровень подробности (по умолчанию: 0).
--verbose-prompt: выводить подробный запрос перед генерацией (по умолчанию: false).
--no-display-prompt: не выводить запрос при генерации (по умолчанию: false).
-co, --color: цветная разметка вывода для различения запроса и ввода пользователя от сгенерированного текста (по умолчанию: false).
-s, --seed SEED: установить начальное значение для генератора случайных чисел (по умолчанию: -1, использовать случайное значение для < 0).
-t, --threads N: количество потоков для использования при генерации (по умолчанию: -1).
-tb, --threads-batch N: количество потоков для использования при обработке пакетов и запросов (по умолчанию: как и --threads).
-td, --threads-draft N: количество потоков для использования при генерации (по умолчанию: как и --threads).
-tbd, --threads-batch-draft N: количество потоков для использования при обработке пакетов и запросов (по умолчанию: как и --threads-draft).
--draft N: количество токенов для черновой генерации при спекулятивном декодировании (по умолчанию: 5).
-ps, --p-split N: вероятность разбиения при спекулятивном декодировании (по умолчанию: 0.1).
-lcs, --lookup-cache-static FNAME: путь к статическому кешу для использования при поисковом декодировании (не обновляется при генерации).
-lcd, --lookup-cache-dynamic FNAME: путь к динамическому кешу для использования при поисковом декодировании (обновляется при генерации).
-c, --ctx-size N: размер контекста запроса (по умолчанию: 0, 0 = загружается из модели).
-n, --predict N: количество токенов для предсказания (по умолчанию: -1, -1 = бесконечно, -2 = пока контекст не заполнен).
-b, --batch-size N: логический максимальный размер пакета (по умолчанию: 2048).
-ub, --ubatch-size N: физический максимальный размер пакета (по умолчанию: 512).
--keep N: количество токенов, которые нужно сохранить из начального запроса (по умолчанию: 0, -1 = все).
--chunks N: максимальное количество частей для обработки (по умолчанию: -1, -1 = все).
-fa, --flash-attn: включить Flash Attention (по умолчанию: отключено).
-p, --prompt PROMPT: запрос для начала генерации. В режиме беседы будет использоваться в качестве системного запроса (по умолчанию: '').
-f, --file FNAME: файл, содержащий запрос (по умолчанию: нет).
--in-file FNAME: входной файл (повторите для указания нескольких файлов).
-bf, --binary-file FNAME: двоичный файл, содержащий запрос (по умолчанию: нет).
-e, --escape: обработка управляющих последовательностей (\n, \r, \t, ', ", \) (по умолчанию: true).
--no-escape: не обрабатывать управляющие последовательности.
-ptc, --print-token-count N: выводить количество токенов каждые N токенов (по умолчанию: -1).
--prompt-cache FNAME: файл для кэширования состояния запроса для более быстрого запуска (по умолчанию: нет).
--prompt-cache-all: при указании сохраняет ввод пользователя и сгенерированные данные в кеш. Не поддерживается с --interactive или другими интерактивными параметрами.
--prompt-cache-ro: при указании использует кеш запроса, но не обновляет его.
-r, --reverse-prompt PROMPT: остановить генерацию при достижении PROMPT, вернуть управление в интерактивном режиме. Можно указать несколько раз для нескольких запросов.
-sp, --special: включить вывод специальных токенов (по умолчанию: false).
-cnv, --conversation: запуск в режиме беседы, не выводит специальные токены и суффиксы/префиксы. Если суффикс/префикс не указан, будет использоваться шаблон по умолчанию (по умолчанию: false).
-i, --interactive: запуск в интерактивном режиме (по умолчанию: false).
-if, --interactive-first: запуск в интерактивном режиме и ожидание ввода сразу (по умолчанию: false).
-mli, --multiline-input: позволяет писать или вставлять несколько строк без необходимости завершать каждую символом \.
--in-prefix-bos: добавляет BOS (начало строки) к пользовательским вводам, предшествующим строке --in-prefix.
--in-prefix STRING: строка, которой предваряются вводы пользователя (по умолчанию: пусто).
--in-suffix STRING: строка, добавляемая после ввода пользователя (по умолчанию: пусто).
--no-warmup: пропустить прогрев модели пустым запуском.
--spm-infill: использовать шаблон Suffix/Prefix/Middle для заполнения (вместо Prefix/Suffix/Middle), так как некоторые модели предпочитают это (по умолчанию: отключено).
======================================================================================================
Сэмплинг:
--samplers SAMPLERS: сэмплеры, которые будут использоваться для генерации в указанном порядке, разделенные символом ; (по умолчанию: top_k;tfs_z;typical_p;top_p;min_p;temperature).
--sampling-seq SEQUENCE: упрощенная последовательность для сэмплеров, которые будут использоваться (по умолчанию: kfypmt).
--ignore-eos: игнорировать токен конца потока и продолжить генерацию (подразумевает --logit-bias EOS-inf).
--penalize-nl: штрафовать токены новой строки (по умолчанию: false).
--temp N: температура (по умолчанию: 0.8).
--top-k N: топ-k сэмплинг (по умолчанию: 40, 0 = отключено).
--top-p N: топ-p сэмплинг (по умолчанию: 0.9, 1.0 = отключено).
--min-p N: мин-p сэмплинг (по умолчанию: 0.1, 0.0 = отключено).
--tfs N: сэмплинг с отсечением хвоста, параметр z (по умолчанию: 1.0, 1.0 = отключено).
--typical N: локально типичный сэмплинг, параметр p (по умолчанию: 1.0, 1.0 = отключено).
--repeat-last-n N: количество последних токенов для рассмотрения при штрафовании (по умолчанию: 64, 0 = отключено, -1 = размер контекста).
--repeat-penalty N: штраф за повторение последовательности токенов (по умолчанию: 1.0, 1.0 = отключено).
--presence-penalty N: штраф за наличие повторений альфа (по умолчанию: 0.0, 0.0 = отключено).
--frequency-penalty N: штраф за частоту повторений альфа (по умолчанию: 0.0, 0.0 = отключено).
--dynatemp-range N: диапазон динамической температуры (по умолчанию: 0.0, 0.0 = отключено).
--dynatemp-exp N: показатель динамической температуры (по умолчанию: 1.0).
--mirostat N: использование сэмплинга Mirostat. Сэмплеры Top K, Nucleus, Tail Free и Locally Typical игнорируются при использовании (по умолчанию: 0, 0 = отключено, 1 = Mirostat, 2 = Mirostat 2.0).
--mirostat-lr N: скорость обучения Mirostat, параметр eta (по умолчанию: 0.1).
--mirostat-ent N: целевая энтропия Mirostat, параметр tau (по умолчанию: 5.0).
-l TOKEN_ID(+/-)BIAS: изменение вероятности появления токена в завершении, например, --logit-bias 15043+1 для увеличения вероятности токена ' Hello', или --logit-bias 15043-1 для уменьшения вероятности токена ' Hello'.
--cfg-negative-prompt PROMPT: негативный запрос для использования в качестве руководства (по умолчанию: '').
--cfg-negative-prompt-file FNAME: файл негативного запроса для использования в качестве руководства.
--cfg-scale N: сила руководства (по умолчанию: 1.0, 1.0 = отключено).
--chat-template JINJA_TEMPLATE: установить пользовательский шаблон чата Jinja (по умолчанию: шаблон, взятый из метаданных модели). Если указаны суффикс/префикс, шаблон будет отключен. Поддерживаются только часто используемые шаблоны: поддерживаемые шаблоны https://github.com/ggerganov/llama.cpp/wiki/Templates-supported-by-llama_chat_apply_template
Грамматика:
--grammar GRAMMAR: грамматика, подобная BNF, для ограничения генераций (см. примеры в каталоге grammars/) (по умолчанию: '').
--grammar-file FNAME: файл для чтения грамматики.
-j, --json-schema SCHEMA: схема JSON для ограничения генераций (https://json-schema.org/), например, {} для любого JSON-объекта. Для схем с внешними ссылками $refs используйте --grammar + example/json_schema_to_grammar.py.
Встраивание (Embedding):
--pooling {none,mean,cls,last}: тип пуллинга для встраиваний, используйте значение по умолчанию модели, если не указано.
--attention {causal,non-causal}: тип внимания для встраиваний, используйте значение по умолчанию модели, если не указано.
Контекстные хаки:
--rope-scaling {none,linear,yarn}: метод масштабирования частоты RoPE, по умолчанию linear, если не указано иначе моделью.
--rope-scale N: коэффициент масштабирования контекста RoPE, расширяет контекст в N раз.
--rope-freq-base N: базовая частота RoPE, используемая при масштабировании с учетом NTK (по умолчанию: загружается из модели).
--rope-freq-scale N: коэффициент масштабирования частоты RoPE, расширяет контекст в 1/N раз.
--yarn-orig-ctx N: YaRN: оригинальный размер контекста модели (по умолчанию: 0 = размер контекста при обучении модели).
--yarn-ext-factor N: YaRN: коэффициент смешивания экстраполяции (по умолчанию: -1.0, 0.0 = полная интерполяция).
--yarn-attn-factor N: YaRN: масштабировать sqrt(t) или величину внимания (по умолчанию: 1.0).
--yarn-beta-slow N: YaRN: высокая коррекция размерности или альфа (по умолчанию: 1.0).
--yarn-beta-fast N: YaRN: низкая коррекция размерности или бета (по умолчанию: 32.0).
-gan, --grp-attn-n N: коэффициент группового внимания (по умолчанию: 1).
-gaw, --grp-attn-w N: ширина группового внимания (по умолчанию: 512.0).
-dkvc, --dump-kv-cache: подробный вывод кеша KV.
-nkvo, --no-kv-offload: отключить выгрузку KV.
-ctk, --cache-type-k TYPE: тип данных кеша KV для K (по умолчанию: f16).
-ctv, --cache-type-v TYPE: тип данных кеша KV для V (по умолчанию: f16).
Перплексия:
--all-logits: возвращать логиты для всех токенов в пакете (по умолчанию: false).
--hellaswag: вычислить оценку HellaSwag по случайным заданиям из файла данных, указанного с помощью -f.
--hellaswag-tasks N: количество задач для использования при вычислении оценки HellaSwag (по умолчанию: 400).
--winogrande: вычислить оценку Winogrande по случайным заданиям из файла данных, указанного с помощью -f.
--winogrande-tasks N: количество задач для использования при вычислении оценки Winogrande (по умолчанию: 0).
--multiple-choice: вычислить оценку для выбора из нескольких вариантов по случайным заданиям из файла данных, указанного с помощью -f.
--multiple-choice-tasks N: количество задач для использования при вычислении оценки для выбора из нескольких вариантов (по умолчанию: 0).
--kl-divergence: вычисляет KL-дивергенцию до логитов, предоставленных через --kl-divergence-base.
--ppl-stride N: шаг для расчета перплексии (по умолчанию: 0).
--ppl-output-type {0,1}: тип вывода для расчета перплексии (по умолчанию: 0).
Параллельное выполнение:
-dt, --defrag-thold N: порог дефрагментации кеша KV (по умолчанию: -1.0, < 0 - отключено).
-np, --parallel N: количество параллельных последовательностей для декодирования (по умолчанию: 1).
-ns, --sequences N: количество последовательностей для декодирования (по умолчанию: 1).
-cb, --cont-batching: включить непрерывное пакетирование (также известное как динамическое пакетирование) (по умолчанию: включено).
-nocb, --no-cont-batching: отключить непрерывное пакетирование.
Мультимодальность:
--mmproj FILE: путь к файлу мультимодального проектора для LLaVA. см. README.md в примере/llava.
--image FILE: путь к файлу изображения. Используйте с мультимодальными моделями. Укажите несколько раз для пакетной обработки.
Бэкенд:
--rpc SERVERS: список RPC серверов, разделенных запятыми.
--mlock: заставить систему держать модель в оперативной памяти, а не использовать своп или сжатие.
--no-mmap: не использовать memory-mapping модели (более медленная загрузка, но может уменьшить количество выгрузок страниц, если не используется mlock).
--numa TYPE: попытка оптимизаций, которые помогают на некоторых системах NUMA.
distribute: равномерное распределение выполнения по всем узлам.
isolate: создание потоков только на процессорах на узле, где началось выполнение.
numactl: использовать карту CPU, предоставленную numactl.
Если ранее запускался без этого, рекомендуется сбросить системный кеш страниц перед использованием. см. https://github.com/ggerganov/llama.cpp/issues/1437.
===========================================================================================================
Модель:
--check-tensors: проверить данные тензоров модели на недопустимые значения (по умолчанию: false).
--override-kv KEY=TYPE:VALUE: расширенная опция для переопределения метаданных модели по ключу. Может быть указано несколько раз. Типы: int, float, bool, str. Пример: --override-kv tokenizer.ggml.add_bos_token=bool:false.
--lora FNAME: применить адаптер LoRA (можно повторять для использования нескольких адаптеров).
--lora-scaled FNAME S: применить адаптер LoRA с пользовательским масштабированием S (можно повторять для использования нескольких адаптеров).
--control-vector FNAME: добавить управляющий вектор.
Примечание: этот аргумент можно повторить, чтобы добавить несколько управляющих векторов.
--control-vector-scaled FNAME SCALE: добавить управляющий вектор с пользовательским масштабированием SCALE.
Примечание: этот аргумент можно повторить, чтобы добавить несколько масштабированных управляющих векторов.
--control-vector-layer-range START END: диапазон слоев, на которые применяется управляющий вектор, включая начальный и конечный.
-m, --model FNAME: путь к модели (по умолчанию: models/$filename с именем файла из --hf-file или --model-url, если установлен, в противном случае models/7B/ggml-model-f16.gguf).
-md, --model-draft FNAME: черновик модели для спекулятивного декодирования (по умолчанию: не используется).
-mu, --model-url MODEL_URL: URL для скачивания модели (по умолчанию: не используется).
-hfr, --hf-repo REPO: репозиторий модели на Hugging Face (по умолчанию: не используется).
-hff, --hf-file FILE: файл модели на Hugging Face (по умолчанию: не используется).
-hft, --hf-token TOKEN: токен доступа Hugging Face (по умолчанию: значение из переменной окружения HF_TOKEN).
Извлечение данных:
--context-file FNAME: файл для загрузки контекста (может быть указан несколько раз для загрузки из нескольких файлов).
--chunk-size N: минимальная длина частей встроенного текста (по умолчанию: 64).
--chunk-separator STRING: разделитель между частями (по умолчанию: новая строка).
Ключ доступа:
--junk N: количество повторений пустого текста (по умолчанию: 250).
--pos N: позиция ключа доступа в пустом тексте (по умолчанию: -1).
Матрица признаков:
-o, --output FNAME: выходной файл (по умолчанию: imatrix.dat).
--output-frequency N: частота вывода матрицы признаков каждые N итераций (по умолчанию: 10).
--save-frequency N: частота сохранения копии матрицы признаков каждые N итераций (по умолчанию: 0).
--process-output: собирать данные для выходного тензора (по умолчанию: false).
--no-ppl: не вычислять перплексию (по умолчанию: true).
--chunk N: начать обработку входных данных с части N (по умолчанию: 0).
Тестирование производительности:
-pps: общий ли запрос для всех параллельных последовательностей (по умолчанию: false).
-npp n0,n1,...: количество токенов в запросе.
-ntg n0,n1,...: количество токенов, генерируемых текстом.
-npl n0,n1,...: количество параллельных запросов.
Встраивание:
--embd-normalize: нормализация для встраиваний (по умолчанию: 2; -1=none, 0=максимум по абсолютному int16, 1=манхэттенское расстояние, 2=евклидово расстояние, >2=p-норма).
--embd-output-format: формат вывода встраиваний (по умолчанию: пусто). array = [[],[]...], json = стиль OpenAI, json+ = как json + матрица косинусной похожести.
--embd-separator: разделитель для встраиваний (по умолчанию: \n), например, "<#sep#>".
Сервер:
--host HOST: IP-адрес для прослушивания (по умолчанию: 127.0.0.1).
--port PORT: порт для прослушивания (по умолчанию: 8080).
--path PATH: путь для раздачи статических файлов (по умолчанию: пусто).
--embedding(s): ограничить поддержку только для использования встраивания; использовать только с моделями, предназначенными для встраивания (по умолчанию: отключено).
--api-key KEY: API-ключ для использования при аутентификации (по умолчанию: нет).
--api-key-file FNAME: путь к файлу, содержащему API-ключи (по умолчанию: нет).
--ssl-key-file FNAME: путь к файлу с PEM-кодированным закрытым SSL-ключом.
--ssl-cert-file FNAME: путь к файлу с PEM-кодированным SSL-сертификатом.
--timeout N: время ожидания для чтения/записи сервера в секундах (по умолчанию: 600).
--threads-http N: количество потоков, используемых для обработки HTTP-запросов (по умолчанию: -1).
--system-prompt-file FNAME: файл для загрузки системного запроса (начальный запрос для всех слотов), полезно для чат-приложений.
--log-format {text,json}: формат вывода логов: json или text (по умолчанию: json).
--metrics: включить совместимый с Prometheus конечный пункт для метрик (по умолчанию: отключено).
--no-slots: отключить мониторинг слотов (по умолчанию: включено).
--slot-save-path PATH: путь для сохранения кеша слотов (по умолчанию: отключено).
--chat-template JINJA_TEMPLATE: установить пользовательский шаблон чата Jinja (по умолчанию: шаблон, взятый из метаданных модели). Поддерживаются только часто используемые шаблоны: поддерживаемые шаблоны https://github.com/ggerganov/llama.cpp/wiki/Templates-supported-by-llama_chat_apply_template
-sps, --slot-prompt-similarity SIMILARITY: насколько запрос запроса должен совпадать с запросом слота, чтобы использовать этот слот (по умолчанию: 0.50, 0.0 = отключено).
--lora-init-without-apply: загружать адаптеры LoRA без их применения (применить позже через POST /lora-adapters) (по умолчанию: отключено).
Логирование:
--simple-io: использовать базовый ввод/вывод для лучшей совместимости в подпроцессах и ограниченных консолях.
-ld, --logdir LOGDIR: путь для сохранения YAML-логов (если не установлен, логирование не ведется).
--log-test: выполнить простой тест логирования.
--log-disable: отключить логи трассировки.
--log-enable: включить логи трассировки.
--log-file FNAME: указать имя файла лога (без расширения).
--log-new: создать отдельный новый файл лога при запуске. Каждый файл лога будет иметь уникальное имя: <name>.<ID>.log.
--log-append: не обрезать старый файл лога.
Управляющий вектор:
-o, --output FNAME: выходной файл (по умолчанию: control_vector.gguf).
--positive-file FNAME: файл с положительными запросами, один запрос на строку (по умолчанию: examples/cvector-generator/positive.txt).
--negative-file FNAME: файл с отрицательными запросами, один запрос на строку (по умолчанию: examples/cvector-generator/negative.txt).
--pca-batch N: размер пакета, используемого для анализа главных компонент (PCA). Больший размер пакета выполняется быстрее, но использует больше памяти (по умолчанию: 100).
--pca-iter N: количество итераций, используемых для PCA (по умолчанию: 1000).
--method {pca,mean}: метод уменьшения размерности, который будет использоваться (по умолчанию: pca).
Экспорт LoRA:
-m, --model: путь к модели, из которой будет загружена базовая модель (по умолчанию: пусто).
--lora FNAME: путь к адаптеру LoRA (можно повторять для использования нескольких адаптеров).
--lora-scaled FNAME S: путь к адаптеру LoRA с пользовательским масштабированием S (можно повторять для использования нескольких адаптеров).
-o, --output FNAME: выходной файл (по умолчанию: ggml-lora-merged-f16.gguf).