RAG и fine-tuning решают разные задачи в LLM-приложениях

Материал о сравнении RAG и fine-tuning предлагает смотреть на эти подходы не как на конкурентов, а как на инструменты для разных уровней работы с LLM. Как пишет Towards Data Science, сама постановка вопроса «что лучше» сбивает с толку, потому что методы влияют на разные аспекты поведения модели.
RAG, или Retrieval-Augmented Generation, добавляет внешний контекст во время инференса, при этом сама модель не меняется. Документы преобразуются в vector embeddings и сохраняются в vector database. Затем система подбирает наиболее релевантные фрагменты под запрос пользователя и передаёт их вместе с prompt. Такой подход удобен для работы с документами и внутренними базами знаний: информацию можно обновлять без переобучения модели, а ещё есть возможность ссылаться на конкретные retrieved chunks.
При этом RAG не влияет на стиль ответов, поведение модели или её способность придерживаться заданного формата. Fine-tuning работает иначе. Это дополнительное обучение pre-trained model на специализированном наборе данных с обновлением весов модели. Проще говоря, RAG меняет входные данные модели, а fine-tuning меняет саму модель.
Ключевые факты
RAG использует внешний контекст во время инференса и не изменяет веса модели
Документы и пользовательские запросы в RAG преобразуются в vector embeddings для поиска семантически близких фрагментов
Среди преимуществ RAG автор называет обновление базы знаний без retraining и возможность ссылаться на retrieved chunks
Fine-tuning предполагает дополнительное обучение pre-trained model на task-specific dataset с обновлением параметров модели