В Сетуни не было никакой "естественной троичности", а как раз одни костыли. Один трит кодировался сдвоенной ДВОИЧНОЙ ячейкой, то есть 2 бита на трит, одно состояние из 4-х - запрещённое.
Дипсик пошуршал в интернете:
В машине ЛЭМ-1 (1954 г.) под руководством Льва Гутенмахера использовались двоичные феррит-диодные ячейки. Это были электромагнитные бесконтактные реле на магнитных усилителях. Ключевая деталь: для хранения одного бита использовалась пара ферритовых сердечников — рабочий и компенсационный. Компенсационный сердечник гасил гистерезис рабочего, чтобы тот мог надёжно переключаться между двумя состояниями (0 и 1).
Решение Брусенцова: заставить компенсационный сердечник работать:
"Главное, что я увидел: они используют пару сердечников под каждый бит — рабочий и компенсационный. И мне пришла в голову идея: а что, если заставить компенсационный сердечник работать. Тогда каждая ячейка становится трёхзначной"
Как я и написал в статье, не все слои переводятся на низкобитный формат. И по вашей ссылке говорится то же самое:
Targeted 2-bit quantization: We heavily compressed (to 2-bit) the specific parts of the model that generate tokens, while keeping the core reasoning layers at higher precision. This saves storage without making the model less smart.
Перевод:
Целевая 2-битная квантизация: мы подвергли сильному сжатию (до 2 бит) конкретные части модели, отвечающие за генерацию токенов, сохранив при этом более высокую точность вычислений в основных слоях, отвечающих за логические рассуждения. Это позволяет сэкономить место в памяти, не снижая при этом интеллектуальные способности модели.
Да кто ж знает что такое протоматерия? Мы - материя, как мы познаем протоматерию? Могу даже предположить что в каждой вселенной при взрыве образуются частицы и атомы отличающиеся от наших. Ну и формы жизни отличаются.
Меня никто не спрашивал, но я представляю материю и антиматерию - как две стороны одной "протоматерии". Протоматерия - это "ничего", "пустота". Какая-то внешняя сила выбивает из прото-материи ее часть - материю, а на этом же месте остается антиматерия. При обратном процессе - слиянии материи и антиматерии - происходит аннигиляция (исчезание материи и антиматерии, восстановление протоматерии).
Протоматерия не имеет размеров. Большой взрыв - один из примеров разделения протоматерии на материю и антиматерию.
Мы как наблюдатели, видим только материю, т.к. сами из нее состоим. Вселенная - это материя. Для нас она бесконечно "растет" "из ничего".
Но большой взрыв - это только один из стартовых процессов. Затем материя (для нас - вселенная), дойдет до сильного разряжения, и начнется обратный процесс - сжатие. В конечном итоге - вся вселенная сожмется в одну точку, и начнется новый этап - новый Большой взрыв.
Я бы представил это как кавитация в слое воды: в определенной точке происходит взрыв, надувается газовый шарик, затем он начинает схлопываться, но потом процесс повторяется заново. В этом смысле вода - протоматерия, газовый шарик - материя.
Возможно наш Большой взрыв - не единичный во всей протоматерии. Возможно он один из газовых шариков, как в шампанском. Некоторые шарики могут слиться в один. Может быть наш Большой взрыв - это результат нескольких слившихся шариков в далеком прошлом...
Да, мне практически в каждой статье пишут: "зачем это? ведь есть X".
"Обучение LLM с нуля" - это непрактично, заучивает только "немногочисленные диалоги". ImageBrowserAI - зачем, ведь есть Immich. VoiceReader - прививает "неправильные паттерны ребёнку". "Алиса, подвинься" - "Столько трудов и не получилось ничего".
Я не делаю готовый продукт, мне никто за это не платит. Каждая статья - попытка самому разобраться как это работает.
Это реализация gpt-2 архитектуры использующая для обучения OpenCL (CUDA, CPU), с возможностью экспорта в gguf. Для наглядности была выбрана минимально возможная конфигурация, что бы любой мог повторить обучение с нуля на своем железе. Вне этих диалогов будет мусор.
Но никто не мешает вам увеличить конфигурацию и корпус, и получить более осмысленную модель.
З.Ы. на github кто-то уже попробовал обучить микро модель на Nvidia RTX 3090, через CUDA.
Выше в комментарии написали:
Дипсик пошуршал в интернете:
Еще интересная ссылка: МЭВМ "Сетунь" цифровые элементы на ферритах - nedoPC.org
Т.е. всё таки настоящий трит?
Зачем обучать нейронку на смартфоне? Можно попробовать перенести движок для инференса на андроид.
Как я и написал в статье, не все слои переводятся на низкобитный формат. И по вашей ссылке говорится то же самое:
Перевод:
Благодарствую, поправил
Да кто ж знает что такое протоматерия? Мы - материя, как мы познаем протоматерию? Могу даже предположить что в каждой вселенной при взрыве образуются частицы и атомы отличающиеся от наших. Ну и формы жизни отличаются.
Меня никто не спрашивал, но я представляю материю и антиматерию - как две стороны одной "протоматерии". Протоматерия - это "ничего", "пустота". Какая-то внешняя сила выбивает из прото-материи ее часть - материю, а на этом же месте остается антиматерия. При обратном процессе - слиянии материи и антиматерии - происходит аннигиляция (исчезание материи и антиматерии, восстановление протоматерии).
Протоматерия не имеет размеров. Большой взрыв - один из примеров разделения протоматерии на материю и антиматерию.
Мы как наблюдатели, видим только материю, т.к. сами из нее состоим. Вселенная - это материя. Для нас она бесконечно "растет" "из ничего".
Но большой взрыв - это только один из стартовых процессов. Затем материя (для нас - вселенная), дойдет до сильного разряжения, и начнется обратный процесс - сжатие. В конечном итоге - вся вселенная сожмется в одну точку, и начнется новый этап - новый Большой взрыв.
Я бы представил это как кавитация в слое воды: в определенной точке происходит взрыв, надувается газовый шарик, затем он начинает схлопываться, но потом процесс повторяется заново. В этом смысле вода - протоматерия, газовый шарик - материя.
Возможно наш Большой взрыв - не единичный во всей протоматерии. Возможно он один из газовых шариков, как в шампанском. Некоторые шарики могут слиться в один. Может быть наш Большой взрыв - это результат нескольких слившихся шариков в далеком прошлом...
Получается, целый год моя статья была на высоте? А нет, запускали 14 августа. Ну штош, ждем следующих конкурсов космотекстов!
Архивация текста через инференс llama.cpp / Хабр
Win11 25H2 со встроенной моделью распознавания, процессор AMD Ryzen AI 9 HX 370 с NPU модулем.
Код на C#
Исходная картинка в слабом качестве
Готовый результат
Жаль наткнулся только сейчас, и уже нельзя поставить плюс. Спасибо за статью!
За GBNF спасибо. Пригодится для самодельного агента на llm.
Еще можно попробовать в Amuse (3.5.8)
Скрин
Да, мне практически в каждой статье пишут: "зачем это? ведь есть X".
"Обучение LLM с нуля" - это непрактично, заучивает только "немногочисленные диалоги".
ImageBrowserAI - зачем, ведь есть Immich.
VoiceReader - прививает "неправильные паттерны ребёнку".
"Алиса, подвинься" - "Столько трудов и не получилось ничего".
Я не делаю готовый продукт, мне никто за это не платит. Каждая статья - попытка самому разобраться как это работает.
Можно, создание модели с нуля: Обучение LLM с нуля на c# и экспорт в GGUF. OpenCL против CUDA / Хабр
На Ryzen AI 9 HX 370 служба Windows Search активно использует NPU. Пришлось отключить.
А 0,000103744B хватит что бы модель зазубрила пару диалоговых строк https://habr.com/ru/articles/1017484/ :)
Плюсанул везде где можно. Получилось очень хорошо!
Вдогонку, интересные видео на тему полимеров:
Полимеры, 1974
Тефлон: как одна компания втайне отравила весь мир [Veritasium]
Катастрофа, которая нас (возможно) ждёт [Veritasium]
Исходный код: https://github.com/virex-84/LLMGPT2
Добавил выбор всех доступных "ускорителей" на выбор при запуске программы: CPU, OpenCL, CUDA.
Скрытый текст
Анализ корпуса - показывает какую модель можно сделать на основе данного корпуса.
Скрытый текст
Так же добавил авто-конфигуратор модели: конфигурация модели создается исходя из текущего корпуса.
Ну и собственно все классы были оптимизированы для ускорения обучения.
Это реализация gpt-2 архитектуры использующая для обучения OpenCL (CUDA, CPU), с возможностью экспорта в gguf. Для наглядности была выбрана минимально возможная конфигурация, что бы любой мог повторить обучение с нуля на своем железе. Вне этих диалогов будет мусор.
Но никто не мешает вам увеличить конфигурацию и корпус, и получить более осмысленную модель.
З.Ы. на github кто-то уже попробовал обучить микро модель на Nvidia RTX 3090, через CUDA.