Skip to Main Content

Пост Reddit Crush

Онлайн-эксперимент

Упрощенный онлайн-опыт

Reddit - самое популярное сообщество в Интернете, организованное в более мелкие тематические группы, называемые сабреддитами, каждый из которых содержит различные посты, на которые пользователи могут отвечать.

Мы собрали данные из некоторых тем Reddit Crush и настроили их на модели LLama, создав пример приложения для генерации постов Reddit. (Онлайн-опыт поддерживает только одного пользователя за раз. Если вы не можете воспользоваться им, попробуйте упрощенную версию.)

Создайте свой первый пост Reddit Crush​

Пожалуйста, откройте страницу онлайн-опыта, введите начало своей истории, например, "Я встречаю".

Untitled

Затем нажмите "Сгенерировать", и модель автоматически завершит историю. Если вы не удовлетворены сюжетом, вы можете остановить генерацию в любое время, изменить историю самостоятельно и продолжить генерацию.

Untitled

Вы можете придумывать любые начала историй, такие как "вчера" или "недавно", и модель завершит их за вас.

Процесс генерации текста​

Используя это приложение в качестве примера, давайте попробуем на практике процесс генерации текста.

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

Генерация текста​

Сначала, при генерации текста, мы должны дать ввод в виде начала истории, такого как "вчера", "Эта миленькая курочка", "..." и так далее. Затем нажмите кнопку "Сгенерировать" ниже, чтобы начать генерацию. Если вам нужно остановить генерацию, нажмите кнопку "Остановить". Используйте параметр max_new_tokens в крайней правой части, чтобы контролировать максимальную длину сгенерированного текста.

Untitled

Настройка параметров​

Вы можете настраивать параметры для получения разных результатов.

Переключитесь на вкладку "Параметры".

Untitled

Изменяя эти параметры, вы можете контролировать разнообразие сгенерированного текста.

Конкретные значения параметров показаны в таблице ниже.

ПараметрФункцияОбъяснение
seedСлучайное зерно
temperatureОсновной фактор, контролирующий случайность вывода0 = детерминизм (используется только наиболее вероятный токен)
Более высокие значения = более случайные результаты
Top-PФактор, контролирующий случайность выводаЕсли установлено в float<1, то для генерации остаётся только минимальный набор вероятностей, которые дают сумму Top-K или более наиболее вероятных токенов.
Более высокие значения = более широкий диапазон возможных случайных результатов.
Top-KФактор, контролирующий случайность выводаВыберите следующее слово из списка k наиболее вероятных следующих слов. Если Top-K установлен на 10, то он будет выбирать только из 10 наиболее вероятных возможностей.
typical_pФактор, контролирующий случайность выводаКогда параметр "typical_p" установлен на значение меньше 1, алгоритм выбирает токены, которые появляются чаще, чем случайные токены, на основе предыдущего текстового содержимого. Это может использоваться для фильтрации некоторых менее распространенных или несущественных токенов и выбора только тех, которые более значимы или соответствуют теме. Когда параметр "typical_p" установлен на 1, выбираются все токены, независимо от их относительной вероятности с случайными токенами.
repetition_penaltyПараметр, контролирующий повторяемость вывода1 означает отсутствие штрафа
Более высокие значения = меньше повторений
Более низкие значения = больше повторений
encoder_repetition_penaltyВлияет на связность между сгенерированным текстом и предыдущим текстом1,0 означает отсутствие штрафа
Более высокие значения указывают на большую тенденцию оставаться в контексте, связанном с предыдущим текстом;
Более низкие значения облегчают отклонение от контекста, связанного с предыдущим текстом.
no_repeat_ngram_sizeКонтролирует, разрешены ли повторяющиеся фрагменты в сгенерированном текстеБолее высокие значения предотвращают появление длинных фраз несколько раз в сгенерированном тексте, делая его более разнообразным.
Более низкие значения предотвращают повторение слов или букв, делая сгенерированный текст более уникальным.
min_lengthМинимальная длина сгенерированного текста