Пост Reddit Crush
Reddit - самое популярное сообщество в Интернете, организованное в более мелкие тематические группы, называемые сабреддитами, каждый из которых содержит различные посты, на которые пользователи могут отвечать.
Мы собрали данные из некоторых тем Reddit Crush и настроили их на модели LLama, создав пример приложения для генерации постов Reddit. (Онлайн-опыт поддерживает только одного пользователя за раз. Если вы не можете воспользоваться им, попробуйте упрощенную версию.)
Создайте свой первый пост Reddit Crush
Пожалуйста, откройте страницу онлайн-опыта, введите начало своей истории, например, "Я встречаю".
Затем нажмите "Сгенерировать", и модель автоматически завершит историю. Если вы не удовлетворены сюжетом, вы можете остановить генерацию в любое время, изменить историю самостоятельно и продолжить генерацию.
Вы можете придумывать любые начала историй, такие как "вчера" или "недавно", и модель завершит их за вас.
Процесс генерации текста
Используя это приложение в качестве примера, давайте попробуем на практике процесс генерации текста.
Логика генерации текста относительно проста: введите начало своей истории, и модель продолжит ее написание. Вы можете приостановить генерацию в любое время, изменить историю и продолжить генерацию.
Генерация текста
Сначала, при генерации текста, мы должны дать ввод в виде начала истории, такого как "вчера", "Эта миленькая курочка", "..." и так далее. Затем нажмите кнопку "Сгенерировать" ниже, чтобы начать генерацию. Если вам нужно остановить генерацию, нажмите кнопку "Остановить". Используйте параметр max_new_tokens в крайней правой части, чтобы контролировать максимальную длину сгенерированного текста.
Настройка параметров
Вы можете настраивать параметры для получения разных результатов.
Переключитесь на вкладку "Параметры".
Изменяя эти параметры, вы можете контролировать разнообразие сгенерированного текста.
Конкретные значения параметров показаны в таблице ниже.
Параметр | Функция | Объяснение |
---|---|---|
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 | Минимальная длина сгенерированного текста |