Pull to refresh

Comments 54

Прочёл с удовольствием, словно остросюжетный детектив, автору огромное спасибо за проделанный труд!

Планируется ли релиз скриптов обучения, генераторов датасета и весов в публичный доступ или эта модель скорее эдакая лабораторная работа?

Спасибо, хотел как раз не сразу результат, а для тех кому интересна тема обучения LLM дома, чтобы было побольше материала, тупики, ошибки и гипотезы.

Чекпоинты загрузил, обновил статью. Поддержка gguf только в форках, поэтому запуск через nanochat, нужно только разобраться куда ложить файлы и как запустить.

наверное на википедии вообще шикарное качество получится.

или попросить chatgpt выгрузить статьи для обучения моделей :)

Оффлайн версию Википедии можно подключить к модельке например через openzim-mcp. Недавно пробовал с вебмордой llama.cpp, почти мгновенно даёт вижимку из любой статьи.

Нет, тулинг это одно, обучение это другое. Обучить было бы любопытно.

Пока пробежался по-диагонали, почитаю вдумчиво на выходных. Могу сразу сказать - очень впечатляет проделанная работа и системный подход.

Черт! неожиданно, что за такое короткое время, на таком слабом оборудовании, обучается модель которая в принципе инструкции выполняет хоть как то.

Следующий шаг - обучение с учителем (другая модель или агент) а так же генерация датасета (как я понимаю это и есть дистиляция), обучение reasoning.

Я не знаю, у меня ощущение что те старые модели были даже немного глупее. Тут прям очень достойные ответы учитывая что дома все делалось.

очень много решает обучающая выборка и алгоритмы, они на порядок круче тех что были 5-10 лет назад

Спасибо за статью! Я только поверхностно представлял как работают нейросети, эмбеддинги и все такое, но после прочтения захотелось изучить эту тему глубже и посмотреть что можно сделать на 4070)

Удалось целиком сграббить хабр ? Есть ли в виде с ссылками на графику и комментами ? Какой получился объем ?

какие интересные у вас датасеты там

странно что есть яндекские вопросы и ответы но нет тостера (qna.habr.com)

Вот буквально минут 10 назад он у меня 504 возвращал - прямо интересно, не связано ли?

Это не полный датасет хабра, в статье есть ссылка на датасет, которую выше уже продублировали. Датасет собрал @Takagi, его же датасет IlyaGusev/saiga_preferences я использовал для SFT.

Отличная статья, спасибо!

Было бы интересно узнать как на эту модель повлияет grokking. Пару лет назад такой хайп был, а потом все как-то стихло.

Обычно модельки меньше 5b так или иначе выдают осмысленный бред в 95% случаев. Было бы интереснее лично для меня обучить lora какой нибудь модельки (кстати там отдельная тема что у большинства моделей все очень плохо с выводом больше 2-3к токенов за раз, есть что то типа long writer Zero 32b, но он очень уж сухонький, под мою задачу с художкой в свое время не подошёл, а вот для хабра вероятно вполне) на 20-30млрд параметров в формате пар, промт к статье-сама статья (можно еще и комменты в конце генерить), для генерации промтов использовать deepseek v4, по стоимости +- приемлемо.

Но как эксперимент прикольно. Я ожидал что моделька меньше миллиарда вообще ни на что способна не будет, и чисто мешанину из тематических слов едва осмысленную будет выводить.

И кстати может качество будет получше если обучать на меньшем количестве токенов, но уже предобученную модельку? А то обучать с нуля обычно мало смысла...

ps. Интересно, если прогнать датасет через фильтр сгенерированного текста, какой процент отвалится...

pps. Неужто проблема с torchaudio не вылезла? Решается вроде относительно легко но как же сцуко бесит каждый раз.

Я ожидал что моделька меньше миллиарда вообще ни на что способна не будет, и чисто мешанину из тематических слов едва осмысленную будет выводить.

На Хабре разносторонний и информационно насыщенный контент, и это сильно влияет на качество, как бы не в разы уменьшает объем контента для обучения и размер модели.

Вот статья на Хабре с оценками влияния качества обучающего датасета: Учебник - всё, что вам нужно

И кстати может качество будет получше если обучать на меньшем количестве токенов, но уже предобученную модельку? А то обучать с нуля обычно мало смысла…

Есть и такое. У меня готова, но не опубликована, статья, где я дообучал старую ruGPT3 XL 1.3B (как раз @efreelancer недавно публиковал статью, где сделал для этой модели конвертацию в современный формат и поддержку gguf). Это pretrain 2020-2021 года обученный на 80B токенов, который умеет только продолжать текст, и выглядит это часто не как ответ, а как повествование:

Создавался этот pretrain во времена, когда ещё не было понимания, как заставить хороший pretrain вести диалог в чате, следовать инструкциям. Это время за 2 года до выхода ChatGPT и первой InstructGPT. И после дообучения на SFT такая модель на 80B токенов куда богаче по возможностям, она больше знает, хорошо следует инструкциям, может работать с текстом, даже решать головоломки:

И чтобы было понятно, какой уровень получился у модели, то сравнил её с Gemma3 1B 2025 года, при чем получилось не всегда в пользу Gemma3.

Задача на внимательность, Gemma3 1B провалил:

Про квантовую причину горения Солнца, Gemma3 1B дал не правильное название явления:

Да прям прикольно. Особенно про сравнение качества, даже не знаю что и сказать про уровень модельки 20-21 года. Я то был уверен что нормальные маленькие появились сильно позже, но видимо вся проблема была именно в нормальном sft . Я кстати предполагаю что просто миллиарда параметров недостаточно для языкового переноса знаний, и на английском gemma отвечала бы гораздо лучше. Возможно.

А кстати отвлечённый вопрос, а вы никогда не пытались запустить обучение в kaggle, на TPU v5e-8? Там теоретически 122 гб, буквально что-то среднее между h100 и h200, но вот настроить это всё так чтобы оно запускалось и нормально распределялось по чипам мне не удалось... А вот маленькую модельку может и на одном чипе получится, там в основном с распределением по 8 чипам каждый раз затык да и среда кастрированная. Для инференса ещё туда сюда, да и то через одно место а вот с обучением у меня не вышло.

Классный результат, для такой мелкой модельки.
Ещё хороший буст прокачки логики даёт перестройка SFT датасета с цепочек [Q/A], на цепочки [Q,A,Q,A] в рамках одного контекста (правда найти такие датасеты в сети - совсем сложная задача, что проще создать свои)

Для своих целей дообучал модель от RefalMachine/ruadapt_qwen2.5_3B_ext_u48_instruct_v4
Шикарная 3B модель, для своего времени.

Сколько времени ушло на обучение такой модели?

Финальный pretrain ~9 часов и ещё пол часа на sft и dpo.

а на подбор гиперпараметров процесса обучения?

Там без подбора, гиперпараметры в nanochat выставляются автоматически, сам Карпатый уже давно занимается оптимизацией параметров обучения, поэтому выставлены по его личному опыту, закону Шиншиллы и так далее. Только на DPO пришлось снижать, но в nanochat вообще нет DPO этапа.

Если в целом на все эксперименты, то ушел где-то месяц, я обучал не только nanochat, обучал и MoE подобные модели, и чистый 0.25B на кастомной архитектуре которую собирал из разных новых архитектур, и даже пытался обучить 7B модельку, которую с помощью многих ухищрений удалось вместить в 32Гб, но скорость обучения была 500 t/s. Выше уже писал про дообучения 1.3B претрейна, в целом dense 1.3B вполне можно дома обучать.

с практической точки зрения такие слабые модели где и как можно использовать (особенно если речь идет о текстовых?) какие-нибудь сверхбыстрые классификаторы на специфических датасетах?

И классификаторы, и наверное в роли speculative pre-model. Очень быстрые, помогают основной LLM сориентироваться и не тупить на разборе промпта. Возможно, что-то еще.

пытался обучить 7B модельку, которую с помощью многих ухищрений удалось вместить в 32Гб, но скорость обучения была 500 t/s.

Расскажите плиз про эти ухищрения. Как искали границу чтобы влезала? Какие оптимизации? Скорость медленная не так важна, главное чтобы влезала. Пусть хоть месяц или полгода учится, на нужных кастомных датасетах.

Пост хороший!

Вероятно после него получил следующее письмо от legal@habr.com

Добрый день, Илья

Просим в кратчайшие сроки удалить дата-сет Хабра https://huggingface.co/datasets/IlyaGusev/habr со всех известных носителей. Создание, существование и использование, в т.ч. распространение этого дата-сета нарушает сразу много всего: интеллектуальные права Хабра, интеллектуальные права каждого (!) автора, регулирование персональных данных (ведь там ФИО и никнеймы)…

Сообщите, пожалуйста, когда удалите.

Как видите, на данном этапе мы не составили полноценную претензию со ссылками на законы, возможными санкциями и так далее. Нарушение считаем очевидным и надеемся на его оперативное устранение.

C наилучшими пожеланиями, Habr Legal Team

что значит нарушает? а что по поводу лицензии на данные, которые помнится хабр заявлял про открытую CC BY? вроде бы про нее говорилось, когда подключаешься программе вознаграждения за публикации.

Наверняка там:

  1. Далеко не всё под CC BY;

  2. Материалы, созданные сотрудниками Хабра и принадлежащие ему;

  3. Можно притянуть авторское право Хабра на подборку материалов;

  4. Тому подобное.

и как же определить, ведь информация об этом исчезла, т.е. лицензия вроде была, но потом вроде бы не стало (осталась общаяя - все права хабру)... но публикации тех кто делал их на правах этой лицензии не удалили а внезапно присвоили?

p.s. считаю общепринятую практику присваивания себе пользовательского контента (особенно когда контент наполняется с миру по нитке) - порочной вредной и не правильной. Если контент создается сообществом, то этот контент должен быть общедоступным в общем смысле, включая возможность его копирования и тем более использования для ИИ.

Я отчетливо помню ощущения, когда читал про то что статьи у хабра теперь по cc by лицензии, типа молодцы, сделали что то правильно, внезапно... и вдруг оказывается то были старые времена, допущения 'по глупости'.

Человечество создало что то прекрасное - интернет и огромный датасет знаний, и вместо того что бы использовать этот датасет что бы продолжать создавать что то еще более прекрасное (тот же ИИ), оно (человечество) создает само себе кучу проблем и ограничений. Взгляните на это со стороны, вот вы видите муравья, тянущего дохлую гусеницу, и смеетесь с того как не эффективно он это делает, как выбирает неэффективный путь, условно мешает и толкает других муравьев... вот это тот самый случай.

Нет документа - нет прав. Увы.

Сам мув, конечно предельно гадкий.

Мне всегда было интересно как это с офертами работает, их что куда-то депонируют ?

В ППА есть отсылка к некоему договору https://habr.com/ru/docs/authors/ppa/

Скрытый текст

CC BY 3.0

Конструкция договора предусматривает полный переход прав на произведение от автора к сервису и при этом сервис распоряжается таким правом, предоставляя возможность распространения такого материала по лицензии CC BY 3.0 любому лицу, включая автора произведения.

В данном случае такая мера необходима для защиты от возможных претензий недобросовестных авторов, решивших предъявить претензии лицам, распространившим его материал с предварительным отзывом своего согласия на обнародование своего произведения.

В соглашении указана конструкция, когда автор, полностью отчуждая права на произведение, на основании лицензии CC BY 3.0, выданной сервисом неограниченному кругу лиц, включая автора, допускает размещение произведения в сети Интернет.

Вопрос в другом. Завтра по этой ссылке будет что-то еще. Как можно потом доказать, чтотсегодня действовали иные правила ?

Это хороший вопрос. Страница по ссылке не выглядит как официальный обязующий документ. Я ее привел лишь как возможный источник, откуда могла возникнуть тема про CC BY.

Да там может быть написано даже "все мое движимое и недвижимое ...", это совершенно неважно. Даже будь он обязывающим, как доказывать каким он был ? С нотариусом фиксировать ? Такое себе....

Это должно как-то быть отрегулировано с офертами. Наверное :).

Когда комментарий достоен одельного поста.

Хм, только в чем смысл. Ведь такими действиями по сути уничтожают ru ML сцену, которая и так очень слабо представлена, ни датасетов, ни материалов, лишь одни переводы.

Тоже прислали письмо

Добрый день,

Обратили внимание на Вашу статью https://habr.com/ru/articles/1054710/, точнее, на датасет, использованный для обучения LLM, ссылка на который содержится в статье - https://huggingface.co/datasets/IlyaGusev/habr. Этот дата-сет был создан нелегально, поэтому мы уже обратились к его создателю (тоже пользователю Хабра) с требованием об удалении. Просим Вас также удалить ссылку из статьи.

C наилучшими пожеланиями, Habr Legal Team

Legal, которые рассылают письма со ссылками на нелегальный по их же заверениям контент, одновременно угрожая авторам, это ведь настоящий киберпанк). Скорее ожидаешь аргументы со ссылками на соглашения или законы, которые по их мнению были нарушены. @Boomburum

За вчера его 1000 человек скачало. Поздно пить боржоми.

Да уж, вот это дичь. И так почти перестал заходить на хабр последнее время, но пожалуй теперь и от rss пора отписаться. Это уже далеко не "уже не торт", а заметно хуже.

последовательности 2048 токенов.

Скорее всего появятся сотни клонов, где нашинкован датасет однажды опенсорснутый, который пытаются снова закрыть. Анонимайзером вычистить лэйблы, упоминания хабра, ПД и привязки к авторам и всё ОК ведь будет? Это уже не будет целостное произведение, не статья, не объект авторского права.

Штош. Раньше глаз соскальзывал с ИИ-текстов, теперь начал соскальзывать с ИИ-иллюстраций.

А если не секрет, какое отношение этот комментарий имеет к статье?

Это не статья, а целый курс.

Даже странно, что на Хабре еще не было ничего про починку крана ;)

А кто устанавливал nanochat в windows 10? Я вроде все установил, все требуемые библиотеки, но уперся в то что предлагают заменить fnctl на portalocker, так как fnctl только для linux. chat_cli запустился, к базе нейросети подключаюсь, но сам чат не выводит в консоли.

А есть какие-то варианты, чтобы локально запушенная сеть всегда была в режиме обучения? Условно говоря, я хочу начать с сети, которая умеет разговаривать и пользоваться гуглом. А дальше задаю вопрос, она что-то ищет в сети, вываливает это мне, подходящие данные, которые я отмечаю как валидные, становятся частью датасета.

Да, стриминг. Добучать постоянно не на данных, лежащих на диске, а постоянно тянущихся из сети и временно кэшированных, за последнюю неделю например из кэша браузера.

Наверно, нужно автоматизировать создание LoRA и при желании, вмерживать ее в модель, или подгружать так, из отдельного файла.
Впрочем, если нужны точные ответы по новым темам, то потребуется интеграция с поисковым движком, сочетающим классический поиск и векторный.

Sign up to leave a comment.

Articles