--- tags: - text-generation - custom-framework - gguf - ru - en - fr - base license: apache-2.0 language: - ru - en - fr --- # 🧠 dpp-gpt v2.1 Base (260M) *(🇺🇸 English / 🇷🇺 Русский)* ⚠️ **Note: This is a base foundation model. It has only undergone pre-training and has not been fine-tuned for general chat. For the instruction-following version, please download [dpp-gpt-v2.1-pro-260m](https://huggingface.co/dikiyplayerpig/dpp-gpt-v2.1-pro-260m).** This is a compact foundation language model with 259M parameters, trained **entirely from scratch**. Despite being a raw base model, it possesses strong native mathematical, tokenization, and translation capabilities embedded directly into its pre-training weights. ## ⚙️ Model Details * **Parameters:** 259M * **Layers / Hidden Size / Heads:** 20 / 1024 / 16 * **Context Length:** 4096 tokens * **Vocabulary Size:** 16,384 * **Type:** Base (Pre-trained foundation model) * **Format:** GGUF / PyTorch (.pth) * **License:** Apache 2.0 ## 📊 Pre-training Data * **Dataset Size:** 11.8 Billion tokens (~45.5 tokens/parameter, batch size 512k). * **Languages:** Balanced multi-lingual corpus consisting of Russian, English, and French data. ## 💡 Prompt Guide & Real Examples As a raw base model, it is highly sensitive to syntax. Mathematical and textual formatting was baked into the pre-training using ChatML syntax. Use **strictly the following structures** to get accurate results: ### 🌍 Basic Translation ⚠️ **Tip:** This model is highly sensitive to the user's prompt formatting. To get a stable and correct translation, **you must** start your prompt with a capital letter and experiment with punctuation (sometimes adding or removing a period at the end changes the output). Also, cross-lingual prompts (e.g., asking in Russian to translate an English text into French) might yield less natural results. ```text <|im_start|>user Переведи на английский: Я тебя люблю.<|im_end|> <|im_start|>assistant I love you. ``` ### 🧮 Math Calculation (Chain-of-Thought) To activate step-by-step math solving, use the `[THINK]` token: ```text <|im_start|>user [THINK] 1523 - 659 + 234<|im_end|> <|im_start|>assistant ``` *(The model will continue by breaking down the calculation into Thousands, Hundreds, Tens, and Units).* ### 🔢 Counting Total Letters in a Word ```text <|im_start|>user How many letters in "apple"?<|im_end|> <|im_start|>assistant Breaking down the word "apple" into letters: a-p-p-l-e a - 1 p - 2 p - 3 l - 4 e - 5 The word apple has 5 letters. ``` ### 🎯 Counting Specific Letters ```text <|im_start|>user How many letters "r" in "strawberry"?<|im_end|> <|im_start|>assistant Breaking down the word "strawberry" into letters: s-t-r-a-w-b-e-r-r-y s - 0 t - 0 r - 1 a - 1 w - 1 b - 1 e - 1 r - 2 r - 3 y - 3 Answer: 3 ``` ### 🔤 Spelling a Word Letter-by-Letter ⚠️ **Important:** When asking the model to simply spell a word, you MUST put a period `.` at the end of your prompt, otherwise the logic will break. ```text <|im_start|>user Spell the word apple.<|im_end|> <|im_start|>assistant a-p-p-l-e ``` --- # 🇷🇺 Описание на русском ⚠️ **Внимание: Это базовая (foundation) модель. Она прошла только этап pre-training и не обучалась свободному ведению диалога. Если вам нужна готовая чат-версия, скачайте [dpp-gpt-v2.1-pro-260m](https://huggingface.co/dikiyplayerpig/dpp-gpt-v2.1-pro-260m).** Это базовая компактная языковая модель на 259М параметров, обученная **полностью с нуля**. Примечательно, что на этапе предобучения модель продемонстрировала мощные навыки счета, работы с текстом и базового перевода (в этой версии базовый математический аппарат работает даже точнее и стабильнее, чем в последующих SFT-модификациях). ## ⚙️ Детали модели * **Параметры:** 259M * **Слои / Размерность / Головы:** 20 / 1024 / 16 * **Контекст:** 4096 токенов * **Словарь:** 16,384 токена * **Формат:** GGUF / PyTorch (.pth) * **Лицензия:** Apache 2.0 ## 💡 Важное руководство по промптам (Prompt Guide) Так как это сырая базовая модель, она крайне чувствительна к синтаксису запроса. Если формат нарушен — логика генерации сломается. Разметка зашивалась в претрейн через формат ChatML, поэтому используйте **строго следующие конструкции**: ### 🌍 Базовый перевод ⚠️ **Совет:** Модель крайне чувствительна к формату вашего запроса. Чтобы получить стабильный и правильный перевод, **пользователю необходимо** начинать фразу с заглавной буквы, а также иногда экспериментировать с пунктуацией (наличие или отсутствие точки в конце запроса может полностью поменять результат). Also, ей тяжелее даются кросс-языковые задачи (например, просьба на русском перевести английский текст на французский). ```text <|im_start|>user Translate to russian: I love you.<|im_end|> <|im_start|>assistant Я люблю тебя. ``` ### 🧮 Математический расчет (Chain-of-Thought) Для активации пошагового решения используйте тег `[THINK]`: ```text <|im_start|>user [THINK] 1523 - 659 + 234<|im_end|> <|im_start|>assistant ``` *(Модель сама продолжит текст, расписав вычитание и сложение по разрядам: Milliers, Centaines, Dizaines, Unités).* ### 🔢 Подсчет всех букв в слове ```text <|im_start|>user Сколько букв в слове яблоко?<|im_end|> <|im_start|>assistant Разбивка слова "яблоко" на буквы: я-б-л-о-к-о я - 1 б - 2 л - 3 о - 4 к - 5 о - 6 В слове яблоко 6 букв. ``` ### 🎯 Подсчет конкретной буквы ```text <|im_start|>user Сколько букв "а" в слове абстракция?<|im_end|> <|im_start|>assistant Разбивка слова "абстракция" на буквы: а-б-с-т-р-а-к-ц-и-я а - 1 б - 1 с - 1 т - 1 р - 1 а - 2 к - 2 ц - 2 и - 2 я - 2 Ответ: 2 ``` ### 🔤 Побуквенный разбор слов ⚠️ **Важно:** При запросе на обычную разбивку по буквам, в конце промпта **обязательно** должна стоять точка `.`. Без неё модель может выдать некорректный результат. ```text <|im_start|>user напиши слово яблоко по буквам.<|im_end|> <|im_start|>assistant я-б-л-о-к-о ```