tgoop.com/building_singularity/98
Last Update:
Популярный способ собрать хороший датасет для обучения модели: (1) найти большой разнообразный датасет сомнительного качества и (2) отфильтровать его, оставив только “лучшие” данные.
Что же на деле остаётся? Примеры, которые удовлетворяют фильтру. Разнообразия конечно же становится меньше.
Например: хотим из миллиона диалогов отобрать только те, что интересные, релевантные, безопасные и ещё несколько критериев.
Прогоняем примеры через gpt4. И оказывается, что сразу всем критериям удовлетворяют не так то много ответов. Ещё хуже: ответы, которые удовлетворяют, часто встречаются в похожих контекстах и имеют похожую структуру! 😬
Такой вот рецепт получения примитивного датасета, где пары [контекст диалога, ответ] не разнообразны и только сделают модель тупее.
Эта проблема называется selection bias, когда после семплинга / фильтра остаются нерепрезентативные данные.
Как можно пробовать исправить?
Можно не выбрасывать все “тяжелые” (те, ответ на который не прошел все критерии) контексты. А для каждого генерировать K кандидатов и уже из них оставлять только один, наилучший. Даже если он не прошел все фильтры. Про этот поход (generate-rank) я упоминал здесь, и здесь он есть в бейзлайнах.
Такие вот дела с этими фильтрами. Аккуратней надо быть! 🕵️
@building_singularity
