Downloads · 30 days
123
23% of all-time downloads
march228/gpt2-with-roles-36
gpt2-with-roles-36 is a text generation model from march228. Use it when you need the model to write or continue text. The card lists the license as other.
Русская causal LM на базе семейства GPT-2 с role embeddings и увеличенной глубиной до 36 слоёв.
Downloads · 30 days
123
23% of all-time downloads
All-time downloads
538
Public
Parameters
295M
1.2 GB on disk
Likes
2
Public
Click a slice to open those files.
.safetensors1.2 GB · 99%
From the Hugging Face model README
Русская causal LM на базе семейства GPT-2 с role embeddings и увеличенной глубиной до 36 слоёв.
⚠️ Это сырой чекпоинт экспериментальной модели. Он может вести себя нестабильно, галлюцинировать факты.
Это не обычный “fine-tune чекпойнт”. Модель использует кастомный model_type = gpt2_with_roles, поэтому для загрузки нужен trust_remote_code=True.
База/происхождение: ai-forever/rugpt3small_based_on_gpt2.
Далее в этой ветке проекта:
c_proj).num_roles)В архитектуре предусмотрен режим “выходов инструментов” (через ролевые спец токены),
но модель этому специально не дообучена.
На практике она может:
from transformers import AutoTokenizer, AutoModelForCausalLM
repo_id = "march228/gpt2-with-roles-36"
tok = AutoTokenizer.from_pretrained(repo_id, trust_remote_code=True, use_fast=False)
model = AutoModelForCausalLM.from_pretrained(repo_id, trust_remote_code=True)
Модель принимает дополнительный аргумент role_ids (тензор ролей). Если role_ids не передавать, поведение будет близко к обычному GPT-2.
import torch
text = "USR> Привет!\nFINAL>\n"
inputs = tok(text, return_tensors="pt")
# role_ids: shape [bs, seq] (или совместимый формат, который вы используете)
# значения: 0..num_roles-1
role_ids = torch.zeros_like(inputs["input_ids"])
out = model.generate(
**inputs,
role_ids=role_ids,
max_new_tokens=64,
do_sample=True,
temperature=0.7,
)
print(tok.decode(out[0], skip_special_tokens=False))
В рамках эксперимента увеличение глубины (36 слоёв) и последующее согласование слоёв дало заметный практический эффект:
<SYS> и <CTX>, глубокая версия чаще даёт более устойчивое поведение, чем исходная 12-слойная база.При этом это не делает модель “источником истины”: галлюцинации фактов остаются возможными, а качество сильно зависит от состава QA/инструктивного датасета и последнего этапа обучения.
Модель обучалась на примерах со строгой разметкой ролей и блоков:
<s_text>
<SYS>
Ты Алиса. Ты девушка, тебе 18 лет. Ты ничего не знаешь о программировании
</SYS>
<CTX>
Василий - Привет.
Я - Привет, Василий.
</CTX>
<USR>
Василий - что такое python?
</USR>
<thinking>
Меня спросили что такое python. Я помню, что Python — это язык программирования, но в системном блоке сказано, что я ничего не знаю о программировании.
Значит, нужно ответить просто и “по роли”. Вспоминаю, что в переводе на русский python — это змея.
</thinking>
<FINAL>
Python? Это же змея
</FINAL>
</s_text>
Модель инициализирована/вдохновлена базой ai-forever/rugpt3small_based_on_gpt2. Проверьте совместимость лицензий исходной модели и датасетов перед любым использованием.