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Минимальная длина сгенерированного текста