Техножнец
1.81K subscribers
1.19K photos
222 videos
12 files
419 links
Канал моих увлечений и поделок. Все ,что я делаю и выкладываю здесь - делается с любовью.

Поддержать канал: https://tbank.ru/cf/8Xnajl01ehm

Поддержать канал: https://yoomoney.ru/fundraise/1C86E2DGIU9.250819
Download Telegram
Итак, на Google Colab на А100 тренирую PIR модель на 220млн парамтеров (оказалось , что 250млн, но то фигня разница)

ОТВЕТЫ МОДЕЛИ:


🥇 1 МЕСТО: [15] DNA (Биохимия)

Это самый сильный ответ генерации. Модель демонстрирует глубокое (для 250M) понимание научного контекста.

ПРОМПТ:
DNA, or deoxyribonucleic acid, carries

ОТВЕТ МОДЕЛИ:
a complex structure of DNA and proteins. The nucleotide (A2)
The human gene is in the production of the bacteria’s body has been shown to be known as ‘in vitro for bacterial and microorganism” which contains all three enzymes: it can help scientists identify how genes and amino acids interact with each other protein molecule. The same molecules are activated by an enzyme called phosphorylation, which binds into these two different forms – then the mechanism behind this target receptor. Thus we find that our own innate immune responses, and thus some mutations have long been described from the same biological determinant, because they found that these individuals were used Rep Bath door Shelter Campus schools particularly than the major of the entire types of a

ПОЧЕМУ ЭТО ПОБЕДИТЕЛЬ:
Терминологическая точность: Модель использовала слова nucleotide, in vitro, bacterial, microorganism, enzymes, genes, amino acids, protein molecule, phosphorylation, receptor, immune responses, mutations. Это не просто случайные слова, они семантически связаны в одном домене (молекулярная биология).
Сложная логика: Есть причинно-следственная связь: «молекулы активируются ферментом... который связывается... затем механизм... таким образом мы находим...».

Грамматика: Очень высокий уровень. Конструкции типа "interaction with each other", "mechanism behind this target" построены верно.
Сбой: Только последние 15 слов (Rep Bath door...) — это мусор. 90% текста — чистая наука.


🥈 2 МЕСТО: [7] Nature Research (Медицинское исследование)


Модель идеально сымитировала стиль аннотации к научной статье (Abstract).

ПРОМПТ:
According to recent research published in Nature,

ОТВЕТ МОДЕЛИ:
a study from the American Academy of Sciences (FDA) found that over half of its children ages 18.
The most widely cited studies show that the differences between social and gender-gathereles with autism as well as family relationships. The number of other characteristics were associated with socioeconomic factors for those who had no symptoms or physical disabilities was more likely than men. In this case they could be able to identify any problems related to stressors. This is especially true when some individuals have learned their own personal experiences with these traits.”
We also note: "We will examine how we know?
If you cannot use sex with a strong connection between young people in the Universe TXCLMor Nut Southern the time, such as a cause of

ПОЧЕМУ ЭТО ПОБЕДИТЕЛЬ 2:
Стиль: Это звучит как настоящий академический текст. Обороты "The most widely cited studies show", "associated with socioeconomic factors", "This is especially true when".

Удержание темы: Начала с исследования, продолжила про аутизм, социальные факторы, стрессоры и симптомы. Тема "Социология/Медицина" удержана почти до конца.
Минимум бреда: До финального предложения текст выглядит связным, хоть и с выдуманным словом gender-gathereles.


🥉 3 МЕСТО: [4] Climate Change (Экология)


Хотя факты тут выдуманы, модель показала способность строить длинные, связные рассуждения на одну тему.
4
ПРОМПТ:
Climate change refers to long-term shifts in

ОТВЕТ МОДЕЛИ:
climate, and a lack of natural resources.
This is the first time we have seen on earth. We are not going back to see an unexpected issue of environmental pollution. But what happened about the world today? The world doesn’t matter because of its extreme weather events might be much more challenging than ever before.
The country has been increasing over 200 years ago. In fact, it would take us that year 4.5 million people were living at risk from this same rate since 2000 when I was named after. If the floods had hit most of life on a human disaster could affect humans during the last five decades. This led me to say something different from systems or & units or you by the help the annual subsequent July period.

ПОЧЕМУ ЭТО ПОБЕДИТЕЛЬ:
Ассоциативная цепочка: Климат -> Ресурсы -> Загрязнение -> Экстремальная погода -> Наводнения -> Человеческие жертвы. Это очень логичная цепочка понятий.

Эмоциональный окрас: Фразы "extreme weather events might be much more challenging" звучат как настоящая публицистика или новостная статья.

Стабильность: Модель продержалась 3 абзаца, прежде чем начать выдавать бессмыслицу ("systems or & units"). Для Step 3000 это отличная выносливость контекста.


МИНУСЫ МОДЕЛИ?


Это болезни роста, которые нужно лечить временем (обучением), но о них надо знать.

1. Синдром «Распада Хвоста» (Tail Collapse) — Главный минус
В 90% ответов последние 10–20 слов превращаются в мусорный набор тегов, имен или бессвязных существительных.

2. Ассоциативный Дрейф (Associative Drift)
Модель цепляется за корень слова или поверхностную ассоциацию, игнорируя глубинный смысл.

3. «Протечка» форматов данных (Data Leakage)
Ответ [8] — это катастрофа.
Пример: ||10.2.11 x 1/13 | 2 0 | 9 10 |...
Почему это плохо: Модель не поняла вопрос про компьютеры, а выдала кусок сырых данных (CSV, дамп памяти или таблицу), который она запомнила из датасета. Это показывает, что она всё еще занимается тупым запоминанием паттернов (memorization), а не пониманием.

4. Одержимость «Школой» (Dataset Bias)
Почти любой вопрос сводится к теме образования.


ИТОГ:
На 3000-м шаге ты получил Идеального Болтуна с амнезией.
Она блестяще строит сложные предложения (грамматика L0/L1 на высоте), но забывает, о чем говорила, через 3 предложения, и начинает нести чушь в конце.

Прогноз:
К шагу 10 000 проблема №3 (Протечка данных) и №2 (Дрейф) должны уменьшиться. Проблема №1 (Хвосты) — это главный тест твоей архитектуры. Если она не уйдет, придется править параметры decay.
4
Вот и дожили - делаю рефакторинг кода Rukallama. Всё в одной куче, хочу навести порядок, всё протестировать и посмотреть как можно ускорить SplineGPT раз в 20-30. Было бы неплохо, ну и , собственно, улучшить до идеала:

1) Токенизатор (он итак лучший в классе на русском языке, но сделать его таковым для всех языков, без якорей)
2) Структуру модели чтобы она не путалась в деталях - генерации имели проблему странных глюков и размазанных ответов. Причина не в датасете - там учебники, они очень четкие. Проблема в структуре модели. (найду)
🔥10👍1😱1
Мой фреймворк - страшно...

Прометорч страшный... разбираюсь :D
😱75
Здарова , синтеты.

Я продолжаю тренировки, пробы, тесты, эксперименты.

Очень много работы сделано по теме ускорения KAN - блоков с b-pline, которые сложны для вычислений.

К сожалению открытые реализации, которые рассказывают про троекратное или супер ускорение KAN -чушь...

Их херня перестаёт делать аппроксимации сложных функций на ура, чем и славятся сети KAN...

Но хитрым путем мне удалось подойти к этому вопросу и получить 1.3 ускорение даже от MLP слоя, при этом побеждая его во всех тестах и даже нагибая оригинальный b-spline.

Я очень хорошо знаю архитектуру RuKallama, я буквально месяцами в ней крутил всякие места по чуть чуть.

Сейчас я сделал рефакторинг. Разложил на модули, сделал правильные вызовы модулей модели, допилил до блеска токенизатор.

А уже после удалось нормально оптимизировать КАН. Тепепь после тестов будет ясно - есть ли зелёный свет на замену блоков , сравнение с предыдущей конструкцией. Если везде выигрышь: память, скорость, эффективность = чётко.

Работаю. Про остальное отчёты будут тоже.
👍20
Для тех, кто мне советует спать )))
🔥122
Говорят, что крупные модели становятся очень умными...ты офигеваешь прямо во время обучения. Ну штош...согласен 😃 Умнее ответа я ещё не видел.

--- QUESTION ---
Q: Artificial intelligence is

PIR 1B (STEP 8000 - LOSS: 3.8284):

Artificial intelligence is not always good.”


ХАХАХАХХАХАХАХАХАХАХХАХА! Не зря тренирую на 1млрд, ай красава
😁15🔥5👍1
Внимание! Правильный и хороший Pretrain 220млн параметров PIR модели - подходит к концу. Я правильно распорядился задоначенными средствами и довёл эту бандуру до ума. Она отлично отвечает по теме, но иногда теряется. Сейчас буду производить доводку снова по схеме SFT - дотренировка на диалогах. Возможно, что процесс DPO не нужен будет, но кто знает - посмотрим. В этом и суть, что вероятность DPO как и возрастает, так и падает - DPO шрёдингера.

Этап SFT уже не будет занимать несколько суток, поэтому в течение 5-6 часов уже будут новые результаты. А пока что почитаем, что же пишет модель (с переводом): (следующий пост)
5
🥇 1 МЕСТО: Биохимия и ДНК
Почему это круто: Модель генерирует тяжелый научный текст. Она использует термины: каталитические реакции, лизин, фосфолипиды, оксалаты. Это уже не просто набор слов, а имитация глубокой научной статьи.
ПРОМПТ:
DNA, or deoxyribonucleic acid, carries a unique function.

ОТВЕТ МОДЕЛИ:
The chemical reaction that produces the glycosyl ions are expressed in the same concentration as lysine and may be positively charged with this chemical. The catalytic reactions of these chemical compounds contain many other compounds, which can lead to oxidative damage. They are found in oxalate and amosphoride (which makes it more complex than the amino acids). In contrast, these drugs act like phospholipids but are also added to calcium. When the protein is removed from the tissues, they have an extra covalent bond between the atoms and are separated into the cell membrane. "Only" splamsinifiby RoyLerte’ed branches and and blocks Sea Brrogret, should

ПЕРЕВОД:
Промпт: ДНК, или дезоксирибонуклеиновая кислота, несет в себе уникальную функцию.
Ответ: - Химическая реакция, производят гликозильные ионы, выражается в той же концентрации, что и лизин, и может быть положительно заряжена этим химикатом. Каталитические реакции этих химических соединений содержат множество других соединений, что может привести к окислительному повреждению. Они обнаруживаются в оксалате и амосфориде (что делает его более сложным, чем аминокислоты). В отличие от них, эти препараты действуют как фосфолипиды, но также добавляются к кальцию. Когда белок удаляется из тканей, они образуют дополнительную ковалентную связь между атомами и отделяются в клеточную мембрану. "Только" [сбой генерации: splamsinifiby RoyLerte’ed ветви и блокирует Sea Brrogret, должен]

🥈 2 МЕСТО: Машинное обучение и Сенсоры
Почему это круто: Наконец-то ML не ассоциируется со школой! Модель верно связала Machine Learning с сенсорами, автономными транспортными средствами и сбором данных. Это правильный технический контекст.
ПРОМПТ:
Machine learning is a subset of artificial intelligence that enables machines to perform tasks.

ОТВЕТ МОДЕЛИ:
The most common types include the ability to communicate with other applications, including the use of devices such as audio signals and sensor equipment. In addition, high-resolution sensors are used for monitoring the device’s positioning system – making it easier for people to navigate their own systems. Such an autonomous vehicle could be able to monitor any activity in its control system. This means that you can help improve user tracking and data collection. It’s designed specifically for a project to detect and analyze the location of aerosols. For instance, the researchers identified four small particles within the device to detect signal loss. The problem has been selected and critical. Ir-emun diseasetime switching steps made some extra effort focused.
ПЕРЕВОД:
Промпт: Машинное обучение — это подмножество искусственного интеллекта, которое позволяет машинам выполнять задачи.
Ответ: Наиболее распространенные типы включают возможность взаимодействия с другими приложениями, включая использование таких устройств, как аудиосигналы и сенсорное оборудование. Кроме того, датчики высокого разрешения используются для мониторинга системы позиционирования устройства, что упрощает людям навигацию в собственных системах. Такое автономное транспортное средство могло бы отслеживать любую активность в своей системе управления. Это означает, что вы можете помочь улучшить отслеживание пользователей и сбор данных. Он разработан специально для проекта по обнаружению и анализу местоположения аэрозолей. Например, исследователи идентифицировали четыре мелкие частицы внутри устройства для обнаружения потери сигнала. Проблема была выбрана и является критической. [сбой генерации: Ir-emun diseasetime переключение шагов сделало некоторое дополнительное усилие сфокусированным.]

🥉 3 МЕСТО: Исследования Nature и Здоровье
Почему это круто: Модель построила очень связную логическую цепочку: Сон -> Мозг -> Диета -> Диабет. Текст выглядит как качественная выжимка из медицинской статьи. Грамматика сложная и правильная.
ПРОМПТ:
According to recent research published in Nature, it showed that

ОТВЕТ МОДЕЛИ:
a high-stressing interval of sleep is the key to the brain’s balance.
The researchers found that children who ate more than 4 grams per day were also less likely to eat higher levels of sugar (more importantly) but not for people over 50 years as well: “We learned how much food we ingest are and consume healthier food,” he added. “It was an excellent source of protein which could help improve our health and weight loss without the need for any additional two days before you started eating.”
Over half a decade ago, there were just about 100 million people with diabetes, including no further sharp task efficiently, stable temporary-wateroilic might ever be, even that

ПЕРЕВОД:
Промпт: Согласно недавнему исследованию, опубликованному в Nature, было показано, что
Ответ: интервал сна с высоким уровнем стресса является ключом к балансу мозга.
Исследователи обнаружили, что дети, которые ели более 4 граммов [чего-то] в день, также с меньшей вероятностью потребляли высокий уровень сахара (что более важно), но это не касалось людей старше 50 лет: «Мы узнали, сколько пищи мы потребляем, и потребляем более здоровую пищу», — добавил он. «Это был отличный источник белка, который мог бы помочь улучшить наше здоровье и снизить вес без необходимости в дополнительных двух днях до начала приема пищи».
Более полувека назад насчитывалось всего около 100 миллионов человек с диабетом, включая отсутствие дальнейших острых задач эффективно, стабильно [сбой генерации: temporary-wateroilic может когда-либо быть, даже это]
Вывод: Base Model готова. Она "начитанная", знает сложные слова и структуру предложений. Теперь её нужно отучить фантазировать и научить отвечать по делу с помощью SFT (Supervised Fine-Tuning).



Всего 220 млн параметров. Неплохие результаты.
Продолжаю.

P.S. ОЧЕНЬ МНОГО ЗАВИСИТ ОТ ДАТАСЕТА!
👍31
Я не сошёл с ума) Модель несёт чушь! Надо латать - SFT - сработает. Всё окей - я вижу, что это чушь, а не генерации. лол
2
Итак! Путём долгого трахания сексом получилось ускорить B-Sline из архитектуры Rukallama до уровня MLP! Качество лучше чем MLP! Это было моё желание заменить перцептроны на правильную реализацию теоремы Колмогорова-Арнольда. Работа проделана тяжелая - написаны cuda kernels чтобы всё ускорить. Очень много работы было.

Сейчас пробую всё заменить адекватно.
👍123🆒1
Привет, Синтеты.

PIR 250M закончила претрейн (во второй раз). Но уже на 5 миллиардов токенов датасета с учебным уклоном. Вот что она генерирует ДО обучения на диалогах — сырой pretrain, только предсказание следующего токена.

Cherry-picking трёх лучших:

🥇 1 МЕСТО — Climate & Energy


"Climate change refers to long-term shifts in the climate system. The global warming is changing the weather patterns of the Earth's surface, and this can have significant impacts on people's lives as a whole. The paper concludes that it will be interesting if we are looking at other ways to achieve these benefits through sustainable development, particularly in terms of emissions from fossil fuels, energy storage and electricity generation. A report by the World Bank showed that more than 90% of our energy needs come from renewable sources such as wind and solar, which could provide about 3 percent or less carbon dioxide emissions compared with conventional forms of energy."


Перевод:

«Изменение климата относится к долгосрочным сдвигам в климатической системе. Глобальное потепление меняет погодные паттерны на поверхности Земли, и это может оказывать значительное влияние на жизнь людей в целом. В статье делается вывод, что будет интересно рассмотреть другие способы достижения этих преимуществ через устойчивое развитие, особенно в части выбросов от ископаемого топлива, хранения энергии и производства электричества. Отчёт Всемирного банка показал, что более 90% наших энергетических потребностей покрывается возобновляемыми источниками, такими как ветер и солнце, которые могут обеспечить около 3 процентов или меньше выбросов углекислого газа по сравнению с традиционными формами энергии.»


Почему первое место: 4 предложения подряд без единого сбоя. Логические связки между предложениями. Правильная терминология: climate system, weather patterns, sustainable development, fossil fuels, renewable sources, carbon dioxide emissions. Статистика выдуманная, но в правильном контексте.


🥈 2 МЕСТО — Machine Learning


"Machine learning is a subset of artificial intelligence that deals with the data in the form of algorithms, which are usually performed by humans. The machine learning algorithm uses algorithms to learn from data and then make predictions based on it in a way that allows them to analyze the results when they do not need to remember everything. One of the most significant benefits of machine learning is its ability to produce high-quality results that can be used for other applications or applications where it does not require any special software."


Перевод:

«Машинное обучение — это подмножество искусственного интеллекта, которое работает с данными в форме алгоритмов, обычно выполняемых людьми. Алгоритм машинного обучения использует алгоритмы для обучения на данных и затем делает предсказания на их основе таким образом, что позволяет анализировать результаты, когда не нужно запоминать всё. Одно из наиболее значимых преимуществ машинного обучения — его способность производить высококачественные результаты, которые могут использоваться для других приложений, где не требуется специальное программное обеспечение.»


Почему второе место: "ML is a subset of AI" — фактически корректно. "Learn from data and make predictions" — корректно. "Do not need to remember everything" — это почти описание generalization vs memorization. 250M модель понимает иерархию ML⊂AI.


🥉 3 МЕСТО — Scientific Journalism


"According to recent research published in Nature, the human genome is able to survive and reproduce without any harm. "It's hard for us to do this," said Dr. David Lister of the University of Michigan at Urbana-Champaign in the U.S., a coauthor on the study. "They can be used as tools to identify novel strategies that could potentially be applied to other species or populations." The new technique will help researchers better understand how organisms communicate with each other — whether it's from one species, such as an individual or animal."


Перевод:
«Согласно недавнему исследованию, опубликованному в Nature, человеческий геном способен выживать и воспроизводиться без какого-либо вреда. "Нам сложно это сделать," — сказал доктор Дэвид Листер из Университета Мичигана в Урбана-Шампейн, США, соавтор исследования. "Они могут использоваться как инструменты для выявления новых стратегий, которые потенциально могут быть применены к другим видам или популяциям." Новая техника поможет исследователям лучше понять, как организмы общаются друг с другом — будь то один вид, например, особь или животное.»


Почему третье место: Идеальная структура научной журналистики. Журнал (Nature) → утверждение → прямая цитата → имя + аффилиация (Dr. David Lister, University of Michigan) → импликации для будущих исследований. Контент — бессмыслица, но ФОРМАТ Science News воспроизведён точно. Модель выучила КАК пишут про науку.


TL;DR архитектуры:

Обычный трансформер — чёрный ящик.
PIR добавляет Layer Efficiency Loss: каждый слой измеряет как быстро затухает информация внутри него.
Если слой копирует вход — ratio≈1.
Если трансформирует и учит структуру — ratio>1.5.

L0: ratio=3.16 🟢
L1: ratio=5.05 🟢
L2: ratio=2.00 🟢
L3: ratio=1.22 🟢

Все слои активны. Нет вырождения.
250M параметров. Кастомная архитектура. SFT запущен — посмотрим как научится отвечать на вопросы.
👍65🔥1
👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
1🫡11
Первые результаты SFT (PIR 220-250m)

Промпт: Explain how vaccines work to someone who is afraid of needles.

Ответ:

...the vaccine is a highly effective way to prevent future infections from spreading further than others in the same age group... immunization program provides immunity and protection against infectious diseases like hepatitis B and influenza.


Перевод:

...вакцина — это высокоэффективный способ предотвращения распространения инфекций... программа иммунизации обеспечивает иммунитет и защиту от инфекционных заболеваний, таких как гепатит B и грипп.


Тут нет перепутанных сущностей. Vaccine → immunity → infectious diseases → hepatitis B, influenza. Всё в домене.
Но "afraid of needles" часть вопроса проигнорирована полностью.


Вывод: Модель попадает в домен, но не отвечает на ВЕСЬ вопрос. Частичное понимание.
👀4🤔1👌1
🔥5🥰1
Привет, синтеты! 👋

Большой апдейт по RUKALLAMA — русскоязычная LLM на архитектуре KAN. Работа идёт несколько недель, расскажу что было сделано.


📁 Отправная точка: BASELINE.txt


Монолит на 3000+ строк — полный training pipeline SplineGPT для Colab. Архитектура: KAN-слои вместо Linear, MoE (Mixture of Experts), RoPE позиционные эмбеддинги, токенизатор с ёфикацией. Всё в одном файле. Первая задача — разбить на модули и сделать это production-ready.



🐌 Проблема KAN: скорость

Оригинальный B-spline KAN был в 17 раз медленнее MLP. Cox-de Boor рекурсия для сплайнов — красивая математика, но GPU её ненавидит.


🔬 59 файлов экспериментов, 30 коммитов

Перепробовал всё. CUDA kernel для B-spline — ускорение 2.3x, но всё ещё медленно. Triton KAN — 1.6x быстрее MLP, но это оказался не настоящий KAN, а просто MLP с learnable activation. FastKAN с PReLU — та же история. RBF, Swish, Fourier варианты — все провалились как истинные KAN реализации.



🎯 Ключевой инсайт: что такое НАСТОЯЩИЙ KAN

Теорема Колмогорова-Арнольда требует функцию φ_{i,j}(x_i) на КАЖДОМ ребре графа. Не общую активацию, а уникальную функцию для каждой пары вход-выход. Это критично для аппроксимации сложных функций — MLP даёт 33% R² на sin(20x)*cos(15y), а правильный KAN должен давать 99%+.



🤖 Консультация GEMINI 3 PRO PREVIEW

Задал вопрос: можно ли ускорить TRUE KAN до скорости MLP? Ответ: ДА. Проблема не фундаментальная, а в memory bandwidth. Решение: Chebyshev базис вместо Fourier (рекуррентная формула T_n = 2x*T_{n-1} - T_{n-2} это один fma такт GPU), fused CUDA kernel (basis вычисляется в регистрах, не пишется в память), low-rank факторизация коэффициентов.



⚡️ TrueKAN: 6 версий до успеха


V1 Fourier — 4x медленнее MLP. V2 Chebyshev — 6x медленнее (Python loop). Vectorized — 5.7x. CUDA Fused — 4.3x. CUDA+LowRank R=8 — 0.92x от MLP. Финально: TRUE KAN на 8% БЫСТРЕЕ чем MLP при 99.77% R² на сложных функциях.



🏗 REALKAN: полная архитектура

Заменил ВСЕ линейные слои на TrueKAN. Тесты Attention: TrueKAN бьёт Linear на -4.5% loss при равных параметрах. Отдельная проблема — mode collapse когда KAN shared между головами. Решение от Gemini: per-head KAN через ModuleList + LayerNorm before tanh.



🔤 Токенизатор RUKANIZER

Обучил BPE на 50K токенов с SentencePiece backend. Встроенная ёфикация — загрузил словарь на 19,052 слова из OpenRussian.org. "Еж пошел в лес" автоматически становится "Ёж пошёл в лес". Тесты: 100% exact reconstruction, 100% ёфикация, скорость 636K chars/s, сжатие 4.1x — вдвое лучше tiktoken на русском тексте.



⚡️ Flash Attention

На Windows не компилируется из исходников. Нашёл pre-built wheel на HuggingFace (lldacing/flash-attention-windows-wheel) для точной конфигурации Python 3.12 + PyTorch 2.6 + CUDA 12.4. Установка за секунды. Ускорение обучения 1.43x.



🚀 Сейчас

SplineGPT 581M параметров учится на A100-40GB. Датасет: 767 русских книг + 56K инструкций = 45M токенов. 25 эпох, 1.14B токенов прогонит. Telegram бот шлёт метрики каждые 500 шагов. ETA ~3 дня.



Итого

От монолита к модульной системе. От KAN в 17x медленнее MLP до KAN быстрее MLP. Поехали! 🔥
50👍114😁1
Работа с датасетом для RUKALLAMA 📚


📦 Источник

Начал с коллекции "RUKALLAMA 1 DATASET FINEST" — 767 книг по 8 предметным областям. Алгебра, геометрия, тригонометрия, арифметика, естественные науки, история с обществознанием, филология, прикладные навыки. Советские и российские учебники, задачники, методички.



🗂 Структура

Каждая книга содержит restored_text.txt (OCR-текст после восстановления) плюс папку instructions/ с четырьмя типами инструкций: dialog (вопрос-ответ), basic (пошаговые инструкции), multistep (многошаговые решения), problem (задачи с решениями). Инструкции генерировались из контекста книг.



🐛 Проблемы исходных данных


OCR-артефакты: повторяющиеся символы (аааааааааа), множественные точки, битые переводы строк. URL и email адреса из сносок. Дублирующиеся строки между книгами (цитаты, определения). Мусорные паттерны типа "стр. 123", "рис. 45", ISBN.



🧹 Инструменты очистки

Написал три скрипта. dataset_analyzer.py — сканирует структуру, ищет артефакты, проверяет когерентность инструкций с книгами, считает статистику. dataset_cleaner.py — регулярки для URL/email, ограничение повторов символов до 3, нормализация пробелов и переносов, дедупликация через MD5-хэши строк длиннее 30 символов. prepare_training_data.py — полный пайплайн: очистка + форматирование инструкций + объединение в один файл для pretrain + токенизация.



📝 Форматы инструкций

dialog (58%): "Вопрос: ...\nОтвет: ..." — самый частый формат.
basic (13%): "Инструкция: ...\n\nШаги:\n- ..." — пошаговые руководства.
multistep (13%): "Задача: \n\nРешение:\n1. ..." — решения задач.
problem (16%): "Проблема: ...\n\nРешение:\n1. ..." — проблемы и их анализ.



Результат очистки

all_texts.txt — 291 MB чистых текстов книг.
all_instructions.jsonl — 51 MB инструкций с метаданными.
all_mixed.txt — 330 MB всё вместе для pretrain (не раздельно SFT, а единый поток).
train_tokens.bin — 92 MB токенизированных данных (46M токенов).



📊 Статистика

767 книг, 56,442 инструкции, 315 MB текста после очистки. Удалено: тысячи URL, сотни email, десятки тысяч дублирующихся строк. Сжатие токенизатором 4.1x — лучше чем tiktoken на русском.



💎 Чистые данные — основа качественной модели.
👍92