Комментарии 24
Например, может сказать сколько букв «r» в слове «strawberry».
что если агенту с нейросетью, которая не умеет это делать, в промпт добавить что-нибудь вроде "используй python"?
Тогда она, конечно, сможет это сделать. Я даже проверял это: давал локальной Gemma 4 доступ к исполнению кода и просил разбить слова по буквам. Версия 4B отлично справляется с использованием кода, а 2B - хуже. Она почему-то часто запускает код, получает правильную строку, но вместо того чтобы просто вывести её, начинает сама разбивать слово по буквам (и делает это неправильно). Но вообще это рабочий подход, особенно с большими моделями.
Но в рамках моего проекта мне было интересно научить именно саму нейросеть разбивать слова по буквам "в уме". Ну и чтобы вызывать инструменты моя ии пока слишком глупая :)
Вот как учат модель понимать слова - я понимаю. Берём много текстов и заставляем предсказывать удалённое слово.
а вот как потом после этого доучивают её считать - этого я пока не понял. у Вас в статье написано что это разные фазы. Можете в двух словах пояснить?
PS: спасибо за интересную статью
Так, я вроде бы не писал, что это разные фазы, возможно, я выразился двусмысленно или вы что-то не так поняли, но, по сути, я не учил ее считать как-то необычно.
Как делают с другими нейросетями, я не знаю, но я вливал в нее математику сразу еще на претрейне точно так же, как и обычный текст, но в формате диалога, так же, как на файнтюнинге в ChatML. В предыдущих версиях я либо не учил ее считать на претрейне, либо учил считать в другом формате, но в результате этого она либо вообще не умела считать, либо в момент файнтюнинга ломала все знания соответственно. Так что теперь я просто учу ее сразу с ее первого шага в формате диалога математике, параллельно с текстом без какого-либо формата.
Есть пословица: "один в поле не воин, а путник". Вы же доказали обратное. Пусть размер LLM-ки маленький, но начало положено - моделька на хагинфейсе, поддерживает Ollama & LM Studio. Вам бы ещё датасет покачественнее раздобыть бы, да кластер из пользованных V100 сделать - того гляди и модель на миллиард параметров осилили бы.
Но даже в её нынешнем состоянии эта LLM-ка выглядит как добротный прототип, который показать не стыдно ;)
Спасибо за отзыв!
Кластер из V100 это конечно круто... Но пока что у меня есть лишь одна 4060. В будущем 5070 ti купить планирую, наверно выйдет обучить 500-700м.
А датасет качественнее 100% станет в будущем!
Если сделать gguf то сразу больше пользователей будет)
А вообще было бы интересно само описание процесса. Вы говорите берете llama3 открываете ее в какой-то программе, в этой программе указываете датасет, и нажимаете кнопку учись? Или как это происходит? Какая программа? Почему бы не взять за основу ту же gemma4 - более современная
Хотя кажется я вообще не так все понял и llama3 это просто архитектура и от нее ничего не было от готовой. Тогда все еще интереснее - что и как сделать в домашних условиях.
Архитектура llama3, а веса инициализированы рандомные. И нет, gemma 4 не лучше для таких микро моделей, во первых она мультимодальна, что мне не нужно пока, во вторых там другая функция активации, и для такого размера модели это может быть хуже. Хотя это только теория, а мультимодальность можно вырезать, основная причина в том что ллама3 итак одна из лучших архитектур, и нет смысла менять.
И нет никакой программы, есть python и терпение, а датасет я беру с хагингфейса, вики, culturaX, код, и еще по мелочи, для файнтюнинга датасет сам генерировал, нигде не брал готовый.
А .gguf уже есть, на том же хагингфейсе.
Поищи 2080 ti с 22gb vram, их можно найти за 35-40т.р.
а она точно быстрее будет? Она уже старая же очень. Я планирую 5070 ti купить, вот она точно будет быстрее намного.
Получилось супер. Я обычно более мелкие модели тренирую, но могу добавить немного важной инфы:
Используй датасеты с HF. Там уже куча синтетических диалогов и много датасетов для претрейна.
Размерность 1024 - ну, как будто много... Можно было глянуть тесты на 512 и 768.
Сравнивать такую маленькую модель на бенчах бесполезно. Попробуй измерить PPL и тд, они много инфы дадут.
А что касается самое статьи - было интересно почитать про архитектуру. Какие именно 20 слоев, что по активациям и линейным слоям, какой тип внимания, что с остаточными связями и другие моменты.
Если хочешь - напиши мне в личку, вместе можем что-нибудь классное придумать. Вторую версию сделать, например. Или эту доработать.
Это уже не первая версия, и следущая версия будет в будущемю А с эмбедингом 512 модель значительно хуже факты запоминает (по моему опыту), она и так то особо ничо не знает, но если еще понижать то еще хуже. А размер хотел сделать 260-300м, если бы я эмбединг ставил 512 или 768 слоев было бы слишком много.
Для претрейна я с хг и качал, но я не знаю какой датасет брать для файнтюнинга, и вроде сам я сделал нормально.
Насчет вопросов, архитектура вроде llama3 особо без изменений.
дле претрейна zyda очень хорош. там и статьи, и код, и инет. вышел пару месяцев назад, очень хорошо отфильтрован.
есть ру-диалоги, глянь у гусева или у вихрей. они там 4о дистилили, так что качество хорошее. если есть желание ризонинг прокачать - OpenThoughts, там 1М диалогов (но на англ).
llama3 это база. что с головами в gqa, как распределил K и V?
Интересная статья! Успехов!
Последние полгода я обучал свою небольшую нейросеть с нуля на одной rtx 4060.
Во‑первых, она умеет считать по разрядам. Она может считать большие числа
Во‑вторых, она умеет разбивать слова по буквам, считать количество букв в словах.
ZX-Spectrum, Basic, 1991 год, потратил субботний вечер.
Я нисколько не хочу приуменьшить Ваш эксперимент. Любой эксперимент, доведенный до результата и описанный заслуживает уважения.
Я о том, что последние года четыре в ИТ-лексиконе понятие «алгоритм» постепенно вытесняется понятием ИИ/LLM.
Я не понял в чем проблема с алгоритмом и как это противоречит LLM
Алгоритм это хорошо, но 30 летний алгоритм может написать стих? Или понять по текстовой задаче что надо сделать, вычесть или сложить?
Нейросеть - это также алгоритм. Просто тенденция последних лет это чрезмерное обобщение существующих десятилетия различных алгоритмов под одной аббревиатурой ИИ/LLM, что вводит многих людей в заблуждение касательно реального предназначения нейросетей.
Интересно, вы обучали на русском, английском и французском?
Интересный был бы эксперимент, если бы только на русском - да, не могла бы переводить с английского, но насколько лучше или хуже отвечала бы по-русски?
И французский - возможно в такой маленькой модели, он только отнимал время обучения, но не давал прироста качества ответа (по сравнению со связкой русский-английски)? Но это предположение.
Качества французский и русский язык может не давал, но он давал ей возможность говорить на русском и французском, а не только на английском. Я хотел сделать ее мультиязычной, и в планах было добавить еще пару языков, хотя есть сомнения.
А вообще французский у нее хуже всего, видимо его в датасете было меньше, это тоже надо бы будет исправить.

Потратил полгода на обучение своей ии с нуля, вот что вышло