Комментарии 29
Добрый день! А зачем дообучать, когда провайдеры - в данном случае openai completions позволяют возвращать ответ в заданной схеме?
Привет! В начале статьи описывал, что существует проблема - LLM популярных провайдеров находятся на внешних серверах. Для чувствительных данных такой формат работы может не подойти. Одно из решений - разворачивать что-то свое. И вот здесь, если мощного железа нет, а задача очень специфичная, дообучение может помочь решить задачу (а может и нет).
видимо не всегда можно сливать данные провайдеру
Ответ такой: зарубежные провайдеры предоставляют LLM по API (модель находится на внешних серверах), что может не соответствовать, например, 152-ФЗ или правилам защиты корпоративных данных
1)Автор вы знаете что русские провайдеры уже предоставляют по апи большинство зарубежный моделей и по 152-ФЗ все у них точно чики бомбони по этому поводу?
Зачем это упоминать в контексте fine tune моделей?
2) LoRA — это не равно полноценному fine-tuning.
3) Один запуск, одна эпоха, небольшой датасет и слабая методология оценки — какие серьёзные выводы из этого вообще можно сделать?
Здесь скорее студенческий Colab-эксперимент: нет нормальной инженерной рамки — отсутствует мониторинг, трекинг обучения и деплоя, непонятно, на каком серьёзном железе это запускать и как масштабировать. Вы точно Team Lead?
Спасибо за комментарий. По поводу существования таких провайдеров знаю. Привел пример c PII как одну из ситуаций, когда все же хочется развернуть что-то у себя и не обращаться к внешним сервисам.
В статье я не упоминал, что делаю полный fine-tuning. Как раз написал, что обучение будет происходить методом LoRA.
Цель статьи была больше показать начинающим из каких этапов состоит обучение LLM, и в частности как можно произвести fine tuning. Пример с обучением структурированному выводу взят как демонстрация.
"по 152-ФЗ все у них точно чики бомбони" - тут пропущен флейм про отличие бумажной и фактической безопасностей, а также нефлеймовый момент том, что комплаенс по персданным (про что собственно и есть ФЗ №152-ФЗ от 27.07.2006) и размещение обработки данных в контролируемом контуре - вообще решают разные задачи (хотя и имеют общие методы их решения).
автор статьи все верно написал, понятным и простым языком. а вот вы наоборот, показали то, что совсем не разбираетесь в теме. давайте по пунктам:
у ру-провайдеров все ок с 152-ФЗ. да, это так - сервера в россии, данные за рубеж не уходят. вот только из-за дефицита железа в россии такие сервера стоят довольно дорого. а значит и модельки, которые на них крутятся дешевыми быть не могут. алиса, например, стоит сопоставимо с соннет, но по качеству в разы хуже. в мтс облаке все еще 'лучше' - прошлогодняя qwen-qwq стоит в 1000 (!) раз дороже аналога на openrouter.
LoRA, QLoRA и DoRA - отличные и полноценные методы дообучение. и зачастую они даже стабильнее обычного sft, т.к. почти не ломают базовые способности модели. для sft/rl нужно огромное кол-во данных и можностей, а я не думаю что у кого-то в доступе пара сотен лишнихН200 завалялось.
методики оценки в статье на хабре? может еще слепое рецензирование требовать будем? или перед публикацией статьи надо будет защитить статью перед научным комитетом... тут автор ппросто показал - вот, мол, смотрите - есть такая штука. это просто введение в тему. если хотите углубиться - найди оригинальную статью про LoRA и ищите тех, кто ее активно цитирует. это авторитетные первоисточники, там все по науке - введение, методы, выводы и список литературы.
17-летний ML-инженер из Питера.
У меня нет больше вопросов, не буду издеваться над ребенком)))) Что там тебе чат гпт подсказал?)))
я мог бы написать о разных методах дообучения, погрузиться в технические детали или обсудить экономику провадейров. но ты выбрал другой путь.
серьезно, будем меряться годами рождения? да, мне 17 лет, я это не скрываю. лучше расскажи о том, чем ТЫ в свои 17 занимался.
хотя если ты так хочешь - давай на твоем поле поиграем. иди, подойди к зеркалу и посмотри. вот он - человек, которого задел ответ на комментарий и он попытался унизить школьника. да это же абсолютно смешно!
тебе настолько нечего делать, что ты полез в мой профиль, нашел обо мне инфу, и тебе не лень было меня так тупо подкалывать.
если будет интересная тема для разговора я с радостью поддержу диалог. но доказывать что-то человеку, который не смог поставить запятую перед обращением - нет, спасибо.
Ход дообучения Qwen2.5-0.5B
я не вижу уменьшения ошибки, какие то хаотические метания или ухудшения
p.s. для llm-ок более удобным и эффективным структурированным форматом входных данных, является toon, этакая модификация csv
для выходных данных есть structured outputs (или grammar для llama.cpp)
p.p.s. 0.5b модели в лучшем случае хватит для классификатора и простеньких embending
И главное, тупое дообучение ломает модель, возможно в узкой области модель станет лучше, но во всех остальных будет значительная деградация
Они это человекочитаемым называют..
{4user5admin2id4i10016activeb14roles[4read5write]}
Максим, отличный туториал! Спасибо за труд.Вы очень точно описали ключевую проблему: большие LLM не запустить на маленьком железе, а маленькие LLM не решают узкую задачу из коробки. И выход, который вы предлагаете — Fine-tuning.
Но, как вы сами заметили, это путь компромиссов: модель забывает прошлые знания, обучение стоит дорого, а результат всё равно не гарантирован.А что, если я скажу, что есть другой путь? Не «дрессировать» одну большую модель, а дать ей врождённую архитектуру, которая решит проблему безопасности и забывания на корню.Если вам интересен принципиально иной подход к созданию ИИ, посмотрите мою работу «Становление субъекта: архитектура, этика и дорожная карта субъектного ИИ».GitHub: https://github.com/maksim-timoshenko/AI-consciousness-continuum. Там все расписано.
Тема с 152-ФЗ актуальна: именно из-за неё часть кодовых задач у нас не уходит во внешний API. Но перед дообучением пробовали ещё один шаг: хорошо структурированный контекст через CLAUDE.md + примеры из нашей базы. Для задач где у модели достаточно способностей, но не хватает контекста, это дешевле и быстрее дообучения. Вопрос: на каком пороге сложности выбирали дообучение, а не RAG или prompt engineering?
С 152 ФЗ легко справляется простое обезличивание
Я тот самый новичок, будет ли продолжение про дообучение с учителем?
Правильнее говорить не об обучении и до обучении (в корректном понимании этих терминов для человека) языковой модели LLM, а об ее настройке и до настройке по предлагаемому тексту. Ибо такая модель оперирует только отдельными элементами составляющими текст (токенами), устанавливает и фиксирует между ними многочисленные связи, используя их в дальнейшей генерации ей своего текста. Она НЕ оперирует в целом понятиями и объектами, их свойствами и связанными отношениями как это делает человек. В этом принципиальное отличие машинного интеллекта на генеративной модели LLM от интеллекта человека.
Это как сказать что калькулятор оперирует битами но не перемножает числа.
Можно масштабировать и на уровень ЭВМ, которая тоже оперирует битами и успешно делает вычисления. Но калькулятор не понимает структуру чисел: сколько в них десятков, сотен, тысяч и тд., что значит дробная часть, смысл отрицательного или простого числа и тд. Поэтому об интеллекте калькулятора и говорить как-то не приходится.
не существует достаточного определения 'понимать', что бы можно в принципе говорить, есть оно у калькулятора или нет.
формально, в калькуляторе есть область в памяти для степени, и для знака +-.
Калькулятор жёстко запрограммирован на выполнение указанных команд. Не думаю что ваша голова (не дай бог) работает по запрограммированной кем-то программе. На счёт "понимать" добро пожаловать в толковый словарь русского языка.
по этому определению современные ИИ на базе llm - понимают
p.s. эти определения не достаточны для того что бы в принципе пытаться использовать их к чему либо кроме человека.
Понима́ние — универсальная операция мышления, связанная с усвоением нового содержания, включением его в систему устоявшихся идей и представлений.
wikipedia
Если так определять, то llm и в самом деле не усваивает новое в связи с архитектурой, но при этом может им оперировать, так сказать на лету. Но ведь и не все люди обладают целостной системой мира и многое используют просто без понимания.
Ожеговское определение через синонимы, поэтому его не рассматривал.
а dpo (датасет из пары хороший-плохой ответ) не пробовали файнтюнить? Сколько статей выкладывают про тюнинг, ни разу не видел чтобы dpo дообучали, все только на датасетах sft (инструкции) останавливаются.
А код то не рабочий. Автор не выложил зависимости пакетов Python. Я бы выбрал unsloth для работы : https://unsloth.ai/docs/get-started/unsloth-notebooks

Как дообучить LLM. Рассказываю шаг за шагом