«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Entropix: методы выборки для максимизации производительности вывода

Entropix: методы выборки для максимизации производительности вывода

Опубликовано 7 ноября 2024 г.
Просматривать:339

Entropix: методы выборки для максимизации производительности вывода

Согласно файлу README Entropix, Entropix использует метод выборки на основе энтропии. В этой статье объясняются конкретные методы выборки, основанные на энтропии и варэнтропии.

Энтропия и варэнтропия

Давайте начнем с объяснения энтропии и варэнтропии, поскольку они являются ключевыми факторами при определении стратегии выборки.

Энтропия

В теории информации энтропия является мерой неопределенности случайной величины. Энтропия случайной величины X определяется следующим уравнением:

Entropix: Sampling Techniques for Maximizing Inference Performance

  • X: дискретная случайная величина.
  • x_i: i-е возможное состояние X.
  • p(x_i): вероятность состояния x_i.

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

Варэнтропия

Варэнтропия, тесно связанная с энтропией, представляет собой изменчивость информационного содержания. Учитывая информационное содержание I(X), энтропию H(X) и дисперсию случайной величины X, варэнтропия V E(X) определяется следующим образом:

Entropix: Sampling Techniques for Maximizing Inference Performance

Варэнтропия становится большой, когда вероятности p(x_i) сильно различаются. Оно становится малым, когда вероятности равномерны — либо когда распределение имеет максимальную энтропию, либо когда одно значение имеет вероятность 1, а все остальные имеют вероятность 0.

Методы выборки

Далее давайте рассмотрим, как изменяются стратегии выборки в зависимости от значений энтропии и варэнтропии.

Entropix: Sampling Techniques for Maximizing Inference Performance

1. Низкая энтропия, низкая варэнтропия → Argmax.

В этом сценарии конкретный токен имеет гораздо более высокую вероятность прогнозирования, чем другие. Поскольку следующий токен почти определен, используется 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
    )

Ссылка на код


Ссылки

  • Репозиторий Entropix
  • Чем занимается Entropix?
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/m_sea_bass/entropix-sampling-techniques-for-maximizing-inference- Performance-2hgc?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3