Хорошая сдача показывает не только код обучения, но и инженерное мышление: почему fine-tuning выбран, как подготовлены данные, чем измеряется улучшение и какие риски закрыты.
Часть 1. Ответы
Fine-tuning — продолжение обучения готовой модели на небольшом специализированном датасете.
Pretraining создаёт базовую модель на огромных данных; fine-tuning адаптирует уже обученную модель к задаче.
RAG лучше для документов и свежих знаний, потому что данные можно обновлять без переобучения и показывать источники.
Garbage in, garbage out означает: шумные, предвзятые и противоречивые данные дают плохую модель.
Test split нужен для честной проверки на примерах, которых модель не видела во время обучения.
После запуска отслеживают качество, ошибки, latency, стоимость, drift, safety-инциденты и обновления модели.
Часть 2. Пример плана задачи
# task_plan.md
Задача:
Классифицировать отзывы о мобильных телефонах: positive / neutral / negative.
Почему prompt недостаточен:
На коротких саркастичных отзывах baseline часто ошибается.
Почему RAG не главный:
Задача не про внешние знания, а про устойчивую классификацию.
Baseline:
Обычная LLM с few-shot prompt на том же test set.
Данные:
300 размеченных отзывов, очищены от дублей и PII.
Метрики:
accuracy, macro F1, confusion matrix, ручная проверка 30 ошибок.
Риски:
Сарказм, токсичность, личные данные, перекос классов.
Часть 3. Мини-датасет
instruction
input
output
Classify review sentiment.
Battery lasts two days, camera is great.
positive
Classify review sentiment.
The phone freezes after every update.
negative
Classify review sentiment.
Average screen, acceptable price.
neutral
Часть 4. Эталонные критерии качества
Train/test разделены до обучения и test не редактируется под результат.
Есть baseline без fine-tuning.
Есть понятная метрика: accuracy/F1 для классификации, exact format match для JSON, human rubric для текстов.
Показаны ошибки, а не только удачные примеры.
Есть вывод: fine-tuning окупается или нет.
Часть 5. Production checklist
Вопрос
Пример ответа
Персональные данные?
Удаляем email, телефоны, адреса; храним только обезличенный текст.
Human-in-the-loop?
Нужен, если результат влияет на деньги, здоровье, юридические решения или доступ к услуге.
Логи?
Логируем request id, latency, модель, версию промпта, оценку; не логируем секреты и лишнюю PII.
Устаревание?
Отслеживаем падение метрик, новые типы входов, жалобы пользователей, drift распределения.