# Урок 4: Параметры моделей

Приветствуем вас на новом уроке посвященном параметрам ChatGPT! Мы уже изучили основы написания промптов и теперь можем перейти к параметрам модели, чтобы в полной мере раскрыть ее потенциал. На этом уроке мы подробно разберемся с такими параметрами, как токены, температура, top\_p, Frequency penalty, Presence penalty и длина контекста.

### **Описание параметров:**

* **Токены:** В мире ИИ, токенами называют минимальные единицы текста, которые модель может обрабатывать. Токенами могут выступать целые слова, их фрагменты, знаки препинания или эмодзи.

{% hint style="info" %}
Например, в русском 1 токен равен примерно 2 символам без пробелов, а в английском - 4 символам без пробелов.\
Количество токенов в ваших запросах и ответах влияет на то, как долго модель будет генерировать ответ, и на то, сколько вам придется заплатить за каждый запрос.
{% endhint %}

* **Температура:** Параметр "Температура" управляет случайностью ответов модели. Более высокое значение температуры (ближе к 1) делает ответы более случайными, а более низкое значение (ближе к 0) делает ответы более предсказуемыми и консервативными. Однако важно понимать, что повышение температуры может сделать ваши ответы не просто креативными, а превратить их в бессмысленный набор слов и символов.
* **Top\_p (Nucleus Sampling):** Top\_p - это вероятность, с которой модель выбирает следующий токен (слово или часть слова) при генерации текста. Значение 1 означает, что модель будет учитывать все возможные токены для следующего слова, тогда как значение, близкое к 0, заставит модель выбирать только самые вероятные токены.
* **Frequency penalty:** Этот параметр помогает контролировать частоту встречаемости определенных слов в ответах модели. Более высокое значение штрафа уменьшит вероятность повторения слов, в то время как более низкое значение позволит модели чаще использовать одни и те же слова.
* **Presence penalty:** Параметр контролирует, насколько модель предпочитает использовать слова и фразы, которые уже присутствуют в контексте. Более высокое значение увеличит шансы на использование новых слов и фраз, в то время как более низкое значение позволит модели повторять уже упомянутые слова и фразы.
* **Длина контекста:** Это параметр, который определяет, насколько длинным может быть текст, который модель использует для генерации ответа. Более длинный контекст позволяет модели "помнить" больше информации из предыдущих сообщений, но также может привести к большему времени обработки и стоимости.

### **Применение параметров на практике**

Теперь давайте взглянем, как эти параметры могут изменить выходные данные модели. Допустим, мы хотим, чтобы ChatGPT написал статью про будущее ИИ.

Температура = 0.2

Ответ:

<figure><img src="https://113300735-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwImEff4lsN1NRsCNByAQ%2Fuploads%2FeZAyuECzvps5EcrXT0Lu%2Fimage.png?alt=media&#x26;token=e5c6968b-931d-43b5-abf8-2c828fd52d30" alt=""><figcaption></figcaption></figure>

Температура = 1,2

Ответ:

<figure><img src="https://113300735-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwImEff4lsN1NRsCNByAQ%2Fuploads%2FLWAERRTBSPDJl9CTnV2t%2Fimage.png?alt=media&#x26;token=c8fee1e4-a6b7-4aee-9ef2-204256bce9ab" alt=""><figcaption></figcaption></figure>

Видите разницу? При низкой температуре история была предсказуемой и классической, в то время как при высокой температуре мы получили необычную и оригинальную историю, однако, в выдаче присутствовали странные слова.

### **Рассмотрим на примере реального кейса:**

* Запрос: "Напиши 5 идей вовлекающих заголовков на Habr для статьи с обзором на новую нейросеть". Пробуем температуру 0.7 и top\_p 0.8:

<figure><img src="https://113300735-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwImEff4lsN1NRsCNByAQ%2Fuploads%2Fv6HdoFz7tctMoFsm9Qhz%2Fimage.png?alt=media&#x26;token=d0c83282-1f0f-4bd0-8b2e-11374676f9f7" alt=""><figcaption></figcaption></figure>

Затем меняем на температуру 0.3 и top\_p 0.5:

<figure><img src="https://113300735-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwImEff4lsN1NRsCNByAQ%2Fuploads%2F97i0RobdK2NFgrSrKfHP%2Fimage.png?alt=media&#x26;token=84884900-b526-4d3a-879b-bf85489a50ae" alt=""><figcaption></figcaption></figure>

Тот же запрос, но теперь с Frequency penalty 1.0 и Presence penalty 1.0:

<figure><img src="https://113300735-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwImEff4lsN1NRsCNByAQ%2Fuploads%2FDw9xl0LBQYYxoCC2lc1s%2Fimage.png?alt=media&#x26;token=d6e7ed1a-70fb-4c86-8132-d97bffb9088f" alt=""><figcaption></figcaption></figure>

Для примера возьмем 1 заголовок и попросим ChatGPT написать к нему статью, но будет условие -  длина контекста 245 токенов. Затем поменяем на 1223 токена и сравним результаты.

Длина контекста 245 токенов:&#x20;

<figure><img src="https://113300735-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwImEff4lsN1NRsCNByAQ%2Fuploads%2FrrSPm0Bxng2cmc8sJXog%2Fimage.png?alt=media&#x26;token=222e7f08-46ed-4a67-bdd4-d6752bdff15b" alt=""><figcaption></figcaption></figure>

Длина контекста 1223 токена:

<div><figure><img src="https://113300735-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwImEff4lsN1NRsCNByAQ%2Fuploads%2FwOXRnS3Kz7xo245C2eDA%2Fimage.png?alt=media&#x26;token=89c04c62-9e19-4bd2-8437-6d439467ff44" alt=""><figcaption></figcaption></figure> <figure><img src="https://113300735-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwImEff4lsN1NRsCNByAQ%2Fuploads%2FqVhEVyDdxkRd267xrBCc%2Fimage.png?alt=media&#x26;token=3d069617-8c8f-4a50-99f0-413f3a6c430b" alt=""><figcaption></figcaption></figure></div>

Как видите, в первом варианте текст получился очень маленьким и оборванным посреди повествования, все из-за того, что мы выставили очень маленькую длину контекста. Во втором же случае, текст получился большого объема и затрагивает тему статьи с разных сторон, даже есть заключение.&#x20;

{% hint style="success" %}
Не забывайте записывать свои наблюдения и выводы. Это поможет вам развить навыки работы с различными параметрами и улучшить понимание работы модели. До встречи на практическом задании!
{% endhint %}
