Сегодня я хочу рассказать о своем проекте QTune. Это open-source приложение с графическим интерфейсом, которое превращает сложный и требовательный процесс файнтюнинга в понятный и управляемый процесс, доступный каждому. Это не просто набор скриптов, а полноценная студия, охватывающая весь цикл: от создания датасета до запуска готовой модели локально.
Философия простоты: от идеи до модели без единой строчки кода
Главная идея QTune - предоставить полный контроль над процессом в рамках единого, интуитивно понятного интерфейса. Весь процесс разбит на логические этапы, представленные в виде вкладок в приложении.
В основе магии, позволяющей запускать всё это на потребительском железе, лежит технология QLoRA (Quantized Low-Rank Adaptation). Если говорить просто, вместо того чтобы изменять все миллиарды параметров исходной модели, мы "замораживаем" её и обучаем лишь небольшую, но очень эффективную "надстройку" (адаптер). Это снижает требования к видеопамяти в десятки раз, и вот уже ваша RTX 3060 или 4070 способна справиться с задачей, для которой раньше требовались серверные GPU.
Шаг 1: Подготовка данных — творчество, а не рутина

Во вкладке «Dataset Preparation» есть инструмент «Conversation Builder». Вы можете в интерактивном режиме, как в обычном чате, создать несколько примеров диалога, задавая тон и стиль общения, который вы хотите получить от своей будущей модели. Например, вы делаете бота-помощника для интернет-магазина. Вы пишете пару примеров: вопрос клиента о доставке и идеальный ответ ассистента.
Вы можете указать системный промпт (например, «Ты — вежливый и услужливый ассистент поддержки магазина X»), выбрать любую мощную модель из списка OpenRouter, и сгенерировать на основе ваших примеров множество похожих диалогов. Приложение само обратится к API выбранной модели и создаст разнообразный датасет.
Шаг 2: Выбор модели и конфигурация обучения
Когда датасет готов, мы переходим к выбору «базы» для нашего файнтюнинга. На вкладке "Model Selection" можно выбрать любую модель с Hugging Face. Приложение сразу покажет всю необходимую информацию: на каком устройстве будет идти обучение (CPU или CUDA GPU), сколько у вас видеопамяти и так далее.
Далее — вкладка "Training Configuration". Здесь новички могут оставить значения по умолчанию, а опытные пользователи получат полный контроль. Можно настроить все ключевые параметры QLoRA (ранг r
, alpha
, dropout
), выбрать, какие именно модули модели мы будем «тюнить» (all-linear
для максимального эффекта или отдельные проекции для экономии памяти), а также задать параметры самого процесса обучения: количество эпох, размер батча, скорость обучения. Важные опции, такие как Gradient Checkpointing и FP16, включены для дополнительной экономии VRAM.
Шаг 3: Запуск и магия обучения
Всё готово. Мы переходим на вкладку «Training», нажимаем одну кнопку — «Start Training» — и наблюдаем за процессом. В специальном окне в реальном времени отображаются логи обучения: вы видите, как уменьшается ошибка (loss) и как проходят эпохи обучения.
Шаг 4: Конвертация и запуск — от адаптера к готовому продукту
После обучения у нас есть базовая модель и обученный LoRA-адаптер. Чтобы использовать их для реальных задач, их нужно объединить и, желательно, сконвертировать в удобный формат. На вкладке "Model Conversion" происходит финальное волшебство.
Слияние: Приложение автоматически объединит базовую модель с вашим адаптером.
Квантизация в GGUF: Вы можете конвертировать получившуюся модель в формат GGUF — единый файл, который невероятно удобно использовать. При этом можно выбрать уровень квантизации (например, Q4_K_M), чтобы еще сильнее сжать модель, сделав её быстрее и менее требовательной к RAM при запуске, почти без потери качества.
Интеграция с Ollama: И вишенка на торте — кнопка «Push to Ollama». Если у вас установлен этот популярный инструмент для локального запуска моделей, QTune создаст Modelfile, упакует вашу новую модель и добавит её в Ollama. После этого вы сможете запустить её одной командой
ollama run my-awesome-model
в терминале и сразу начать с ней общаться.
Заключение
Проект полностью открыт и доступен на GitHub. Больше информации о проекте в моем Telegram канале. Там я пишу обо всех обновлениях проекта. Если есть идеи для улучшения и отзывы, пишите мне в Telegram.
Комментарии (2)
vesen
17.08.2025 09:45А почему для создания собственного датасета Вы используете именно OpenRouter API?
riv9231
Не плохо бы ещё привести какую-то информацию о необходимых мощностях для тюнинга моделей того или иного размера. Например, возможно ли дотюнить 72b модель на разумном количестве GPU типа Nvidia RTX 3090 за разумное время? Например 16 таких GPU подключенных по pci-e x8 v4 в одну материнскую плату и пару месяцев?