Как настроить LLM сети?

Какие параметры их назначение: SamplingPipeline, PenalizeNL, MirostatEta, MirostatTau, Mirostat, PresencePenalty, FrequencyPenalty, RepeatLastTokensCount, RepeatPenalty, Temperature, TypicalP, TfsZ, MinP, TopP, TopK, AntiPrompts, LogitBias, MaxTokens, TokensKeep? Могли бы вы объяснить, какие именно эффекты они могут оказывать и почему вы не заметили значимых различий при тестировании?
  • 18 июня 2024 г. 14:51
Ответы на вопрос 2
Настройка LLM (Language Model) сетей может быть сложным процессом, так как означенные параметры могут влиять на результаты моделирования текста. Давайте рассмотрим каждый из них:

1. SamplingPipeline - позволяет определить, какую стратегию выбора следующего токена использовать при генерации текста.
2. PenalizeNL - штрафует модель за генерацию переноса строки.
3. MirostatEta, MirostatTau, Mirostat - параметры, связанные с методом Mirostat для обучения модели.
4. PresencePenalty - штрафует модель за повторения слов или фраз в сгенерированном тексте.
5. FrequencyPenalty - штрафует модель за генерацию частых слов.
6. RepeatLastTokensCount - сколько последних токенов будет проверяться на повторы.
7. RepeatPenalty - штрафует за повторение определенного количества токенов.
8. Temperature - контролирует "разнообразие" генерируемого текста.
9. TypicalP - параметр, влияющий на вероятность генерации типичного текста.
10. TfsZ - фактор, влияющий на генерацию текста на основе частоты использования слов.
11. MinP - минимальная вероятность генерации для отсечения редких слов.
12. TopP - верхняя граница для отсечения продолжения генерации вариантов токенов в модели.
13. TopK - количество токенов, рассматриваемых при генерации следующего токена.
14. AntiPrompts - добавляет "анти-подсказки" при генерации текста.
15. LogitBias - параметр для управления предпочтениями модели при генерации текста.
16. MaxTokens - ограничивает количество генерируемых токенов.
17. TokensKeep - сохраняет определенное количество токенов из предыдущего контекста.

Какие конкретные эффекты они могут оказывать, зависит от конкретной настройки каждого параметра. Например, увеличение Temperature может привести к более разнообразным результатам генерации, а установка низкого значения TopP может привести к более предсказуемым результатам.

Если вы не заметили значимых различий при тестировании, это может быть связано с тем, что комбинация параметров не подходит для конкретной задачи или текстового корпуса, с которым вы работаете. Также возможно, что не все параметры были настроены оптимально, и для повышения результатов вам нужно провести дополнительные эксперименты с настройками.
Тебя не смущает что до сих пор не сказал нам что за проект используете и почему не взглянули на его исходники хотя бы, как окружающие должны понимать с чем ты работаешь? 
p.s.
скрывались за модификатором доступа private

доступ к private members имеют ваши методы, в вашем классе, порожденном от целевого, это почти не зависит от языка программирования и используют даже там где классов в привычном понимании нет.

p.p.s. по названию свойств могу догадаться (я же почти телепат), что используется llama.cpp, только там я видел выбор mirastat алгоритма как опция
Советую полистать хелп к llama.cpp llama-cli (раньше он назывался main)
llama-cli --help там все это есть но чуть чуть названное по другому
p.s. если вам лень читать, скопируйте этот хелп в запрос llm-ки и добавьте ваш вопрос в конец, спросив что то типа
в проекте использовались следующие переменные (перечисли переменные), названные похожим образом как указано в этом файле помощи, покажи какие именно ключи имеют название, соответствующие переменным и переведи описание на русский язык


upd. я сделаю это за тебя, спросив у бесплатного anthropic
затем по каждому делай запрос отдельно, добавляя что это утилита по inference llm и что может значить соответствующая опция, пример:
не пытайся спрашивать сразу обо всем, данных будет много, они превысят адекватные размеры контекста и начнутся глюки

ВАЖНО: важнейший навык, который может понадобиться в ближайшие годы наверное любому человеку, хоть как то работающему с информацией, и тем более программистам, это умение работать и понимание недостатков современного ИИ, хотя бы на базе chatgpt или других компаний.
Это похоже становится даже важнее чем гуглить (но не вместо, потому что современный ИИ все еще тупит и может напридумывать чуши), поэтому учиться учиться и еще раз учиться.
Похожие вопросы