Маска промпта: лосс только по ответу
при SFT лосс считается только по токенам ответа, а токены промпта маскируются.
Зачем это нужно
Промпт пишет пользователь, и модели не нужно учиться предсказывать его. Если считать лосс и по нему, модель будет тратить capacity на запросы, а не на ответы.
Как это работает
Источник RLHF Book отмечает, что для instruction tuning токены промпта маскируются. Модель не учится предсказывать запросы пользователя, а только ответы. Тот же принцип применяется и к другим алгоритмам post-training. Ещё одно отличие от предобучения: batch size для post-training заметно меньше.
Пример
В диалоге «пользователь: Hi, how are you? / ассистент: Fine, thanks» лосс считается только по токенам «Fine, thanks». Токены вопроса не входят в функцию потерь.
Что запомнить
- Токены промпта маскируются, лосс только по ответу.
- Тот же принцип применяется в других методах post-training.
- Batch size при post-training заметно меньше, чем при предобучении.
Где читать дальше
- RLHF Book, глава 9 «Instruction Tuning», раздел «Best practices»