
Изучаю LLM модели на главном складе — huggingface. Это что-то типа github для искусственных интеллектов.
Можно заметить особенность, что фундаментально новых моделей там относительно мало. Гораздо больше моделей — это переделка и улучшение старых. Finetuning.
Файнтюнят разными способами:
– «сушат» модель и сравнивают её ответы с начальной, чтобы они были не хуже. В итоге получается более быстрая и менее требовательная модель примерно изначального качества;
– дообучают на новых данных, чтобы модель больше знала;
– исключают какие-то «слои» и данные. Лишние или ухудшающие качество;
– объединяют модели. Вот тут интересно!
Если взять две модели одинаковой архитектуры и объединить их (условно — усреднить веса), то итоговая модель может оказаться лучше любого своего предка. Понимаете к чему клюню? Селекция и эволюция!
Объединить несколько сот раз в разных вариациях => получить лучших => повторить.
Это реально работающая практика, результаты которой хорошо видны на примере Stable Diffusion (опенсорсный и бесплатный Midjouney, рисует и исправляет картинки по текстовому описанию). Потомки оригинального SD, доработанные сообществом и прошедшие несколько поколений объединения работают лучше оригинала! Не чуть-чуть, а на порядок.
Удивительная тема.