Как это работает
Небольшое k делает ответы более предсказуемыми, потому что исключает редкие токены. Недостаток в том, что размер набора фиксирован: если модель уверена, лишние варианты всё равно попадают в выбор, а если неуверена, полезные могут быть отсечены. Эту проблему смягчает top-p.
Пример: вероятности 0,50, 0,30, 0,15 и 0,05 при k = 2 оставляют два первых токена, вероятности перенормируются, и выбор идёт между ними.
Пример
1params = {"temperature": 0.2, "top_k": 40} # семплирование модели (если поддерживается провайдером)
2chunks = retrieve(question, k=5) # top-k поиска в RAG — другой параметрКак применять в тестировании ИИ
Фиксируйте все параметры семплирования в записи прогона и сравнивайте результаты только при одинаковых значениях. Проверяйте, какие параметры поддерживает ваш провайдер: набор и допустимые диапазоны у них различаются.
Типичные ошибки
- Путать top-k генерации и top-k поиска в RAG: параметры влияют на разные этапы.
- Считать, что параметр есть у любого провайдера.
- Менять сразу несколько параметров семплирования между прогонами.
Частые вопросы
Чем top-k в семплировании отличается от top-k в RAG?
В семплировании top-k ограничивает, из скольких самых вероятных токенов модель выбирает следующий. В RAG top-k определяет, сколько найденных фрагментов подставить в промпт. Это разные шаги конвейера.
Когда лучше top-p, а когда top-k?
Top-k задаёт фиксированный размер набора, top-p подстраивается под уверенность модели, поэтому часто предпочитают его. Выбор зависит от задачи и от того, что поддерживает провайдер, поэтому проверяйте на своих данных.