Согласно файлу README Entropix, Entropix использует метод выборки на основе энтропии. В этой статье объясняются конкретные методы выборки, основанные на энтропии и варэнтропии.
Давайте начнем с объяснения энтропии и варэнтропии, поскольку они являются ключевыми факторами при определении стратегии выборки.
В теории информации энтропия является мерой неопределенности случайной величины. Энтропия случайной величины X определяется следующим уравнением:
Энтропия максимизируется, когда распределение вероятностей равномерно. И наоборот, когда определенное состояние гораздо более вероятно, чем другие, энтропия уменьшается.
Варэнтропия, тесно связанная с энтропией, представляет собой изменчивость информационного содержания. Учитывая информационное содержание I(X), энтропию H(X) и дисперсию случайной величины X, варэнтропия V E(X) определяется следующим образом:
Варэнтропия становится большой, когда вероятности p(x_i) сильно различаются. Оно становится малым, когда вероятности равномерны — либо когда распределение имеет максимальную энтропию, либо когда одно значение имеет вероятность 1, а все остальные имеют вероятность 0.
Далее давайте рассмотрим, как изменяются стратегии выборки в зависимости от значений энтропии и варэнтропии.
В этом сценарии конкретный токен имеет гораздо более высокую вероятность прогнозирования, чем другие. Поскольку следующий токен почти определен, используется Argmax.
if entСсылка на код
2. Низкая энтропия, высокая варэнтропия → Отрасль.
Это происходит, когда есть некоторая уверенность, но существует несколько жизнеспособных вариантов. В этом случае стратегия Ветвь используется для выборки из нескольких вариантов и выбора наилучшего результата.
elif ent 5.0: temp_adj = 1.2 0.3 * interaction_strength top_k_adj = max(5, int(top_k * (1 0.5 * (1 - agreement)))) return _sample(logits, temperature=min(1.5, temperature * temp_adj), top_p=top_p, top_k=top_k_adj, min_p=min_p, generator=generator)Ссылка на код
Хотя эта стратегия называется «Ветвь», текущий код, по-видимому, корректирует диапазон выборки и выбирает один путь. (Если у кого-то есть более глубокое понимание, будем признательны за дополнительные разъяснения.)
3. Высокая энтропия, низкая варэнтропия → CoT или вставьте жетон паузы.
Когда вероятности предсказания следующего токена достаточно однородны, что указывает на то, что следующий контекст не определен, вставляется токен уточнения для устранения неоднозначности.
elif ent > 3.0 and ventСсылка на код
4. Высокая энтропия, высокая варэнтропия → повторная выборка
В этом случае имеется несколько контекстов, и вероятность предсказания следующего токена мала. Стратегия ресэмплинга используется с более высокой настройкой температуры и более низким верхним значением.
elif ent > 5.0 and vent > 5.0: temp_adj = 2.0 0.5 * attn_vent top_p_adj = max(0.5, top_p - 0.2 * attn_ent) return _sample(logits, temperature=max(2.0, temperature * temp_adj), top_p=top_p_adj, top_k=top_k, min_p=min_p, generator=generator)Ссылка на код
Промежуточные случаи
Если ни одно из вышеперечисленных условий не выполнено, выполняется адаптивная выборка. Берется несколько образцов, и лучший результат выборки рассчитывается на основе информации об энтропии, варэнтропии и внимании.
else: return adaptive_sample( logits, metrics, gen_tokens, n_samples=5, base_temp=temperature, base_top_p=top_p, base_top_k=top_k, generator=generator )Ссылка на код
Ссылки
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3